[AWS] Lambda: Function URL과 Cloudfront로 빠른 KV 서버 만들기

이런 버전정보나 운영정보를 뿌려주는 서버가 있었는데, 비용이나 성능면에서 모두 비효율적인 부분이 있어서 인프라부터 재구성을 하게 됐다.

그래서 내가 생각한 구조는 이것이었다.

어차피 이런 서버는 변경이 잦지도 않고, 앞단에서 몸빵만 효율적으로 해주면 된다.
그런건 당연히 캐시를 다는게 최고니까 앞에 Cloudfront CDN을 단다.

그리고 어차피 코드도 별거 없고 데이터사이즈도 좁쌀만해서 대단한 서버 인프라나 DB가 필요한 것도 아니다. 그래서 Lambda와 DynamoDB를 선택했다.

셋다 비용이 제로베이스에 쓴만큼만 비용이 나가는데, 운영적으로나 성능적으로도 다 나쁘지 않아서 괜찮은 선택일 것으로 판단했다.

Lambda에 Cloudfront를 바로 연동하는건 안되고, Function URL을 만들어서 엔드포인트를 뚫어줘야 한다.
만드는 것 자체는 매우 간단하다. 아래 포스트를 참고한다.
https://blog.naver.com/sssang97/222694745245

Function URL을 잘 만들고, 라우팅도 적절히 구현했다면

이렇게 조회가 되어야 할 것이다.
저기다가 Cloudfront를 붙이면 된다.




Cloudfront 배포 생성하기

사실 기존 방법과 크게 다르진 않다.

그냥 원본에 Function URL 도메인 전체를 때려박으면 AWS가 알아서 인식해준다.


이름 헷갈리지 않게 잘 써주고


그리고 Function URL을 넣으면 이상한 캐시 안걸리는 정책을 넣어버리는데, 제대로 캐시가 타게 하려면 다른걸로 적절히 바꿔주는게 좋다.


도메인 붙일거라면 도메인도 설정해준다.

나머지는 필요에 따라 설정하면 되는데, 기본값을 써도 무방하다.

만들고 나서 몇분쯤 기다리면


접속이 가능해질 것이다.


도메인도 필요하다면 달면 된다.