정적 페이지 배포시 Cloudfront 캐시 지우기

새로 배포할 때마다 cloudfront에 캐싱 되어 있는 파일을 지워야된다면 invalidation을 생성하면된다. 하지만 여기서 주의할 점이 invalidation은 설정 값이 아니다. 배포할 때마다 매번 invalidation을 생성해서 무효화 해줘야된다. 우리는 이 또한 자동화 해주고싶어서 aws cli를 사용했다. aws cloudfront create-invalidation --distribution-id ${{ secrets.DISTRIBUTION_ID }} --paths "/index.html" "/bundle.js" 위의 명령어를 사용하려면 IAM에 CreateInvalidation 접근 권한이 필요하다. 우리의 경우 CU 코치님에게 요청을 해서 받을 수 있었다. 참고 자료 https://docs.aws.amazon.com/cli/latest/reference/cloudfront/create-invalidation.html

2024-09-15 · 1 min · 64 words

EC2 vs Lightsail

Lightsail 컴퓨팅, 스토리지, 네트워킹 및 DNS를 제공하는 VPS(가상 사설 서버)다. VPS는 하나의 물리서버를 여러 개의 가상 서버로 쪼개서 사용하는 것을 의미한다. 그래서 하나의 물리 서버를 여러명의 클라이언트와 나누어 쓰게된다. 하지만 나누어진 서버들은 독립 적인 서버 공간을 가진다. EC2와 다른 점 Lightsail 인스턴스는 실제로 t2클래스의 EC2 인스턴스다. 하지만 Lightsail은 여러 가지 기능이 간소화 되어있다. 고정된 EBS SSD 볼륨 중지되어도 청구되는 요금 유연하지 않은 보안 그룹 Lightsail을 사용해야되는 경우 단순한 인프라 구조를 가지는 경우에 유리하다....

2024-09-15 · 1 min · 99 words

Cloudwatch 에러 로그 발생 시 알림 오게 구성 하기

슬랙이나 디스코드에 알림이 오게 구성하고 싶었지만, 이는 AWS Lambda가 필요하다. 하지만 우리에겐 이 권한이 없기 때문에 따로 사용할 수 없다. 따라서, 에러 로그 발생 시 이메일이 전송되도록 구현했다. 이를 구현하기 위해서는 Simple Notification Service가 필요하다. 1. Amazon SNS 주제 생성 이메일로 받을 것이기 때문에 표준으로 설정 알림 받을 이메일 구독 생성 2. Log Metric Filter 만들기 Log groups → 작업 → 지표 필터 생성 패턴 필터링: ERROR(에러 로그에 ERROR라는 단어가 포함되기 때문)...

2024-09-15 · 1 min · 124 words

Cloudfront의 압축 기능

Cloudfront에서 파일을 전송해줄 때 데이터의 용량을 줄이기위해서 파일을 압축해서 전송한다. 하지만 압축가능한 형식이 제한되어 있으므로 아래 문서를 확인해야된다. https://docs.aws.amazon.com/ko_kr/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html#compressed-content-cloudfront-file-types 이미지 전송 크기 문제 이미지 용량 때문에 로딩이 느려지는 문제를 해결 하기위해 방법을 좀 찾아봤다. 이미지를 요청할 때 이미지 크기도 같이 기입하여 적절하게 리사이징 하는 기법이 있는데 이 방법은 Lambda를 사용해야되어서 현재는 사용이 불가하다. 포기! https://stackoverflow.com/questions/42187592/best-way-to-save-images-on-amazon-s3-and-distribute-them-using-cloudfront https://aws.amazon.com/ko/blogs/networking-and-content-delivery/resizing-images-with-amazon-cloudfront-lambdaedge-aws-cdn-blog/

2024-09-15 · 1 min · 56 words