1. Cloud Front, CDN
Cloud Front란 AWS에서 제공하는 Content Delivery Network 서비스 이다. CDN이란 콘텐츠를 효율적으로 전달하기 위해 여러 노드를 가진 네트워크에 데이터를 저장(캐싱)하여 제공하는 시스템을 말한다. 넷플릭스 등이 이것을 이용해 서비스를 제공한다. 지역의 인터넷 서비스 제공자(ISP)에 직접 연결되어 데이터를 전송하므로, 콘텐츠 병목을 피하고 향상된 속도를 가질 수 있으며, CDN 자체 방화벽과 분산성으로 인해 DDOS 공격등으로 부터 비교적 안전해지는 장점이 있다.
하지만 데이터를 캐싱하여 제공한다는 특성항 실시간 동적 컨텐츠를 제공해야 할 경우에는 적합하지 않으며, CDN 제공 업체에 비용을 추가 지불해야한다는 단점이 있다.
2. Cloudfront 사용해보기
- 구조:
- Route53 → Cloudfront → S3
먼저 S3 버킷을 이름만 지어주고 기본 설정대로 만든다. 이제 Cloud Front를 이용해 도메인과 연결할 것이므로 이름을 굳이 도메인과 똑같이 만들 필요가 없다.
Origin access control settings를 설정해 cloud front로만 버킷에 접속가능하게 하고 Origin access control은 기본으로 설정하거나 create control setting을 한다.
HTTPS를 적용하기 위해 Redirect HTTP to HTTPS 옵션을 선택한다.
CDN을 위한 CNAME(필수)과 SSL 인증서를 설정한다. 이미 도메인에 대해 발급받은 인증서를 쓰거나 새로 발급받을 수 있다.
정적 웹 호스팅을 위한 root가 될 오브젝트로 index.html을 반드시 지정해주자.
이제 route 53에서 방금 지정한 CNAME에 대한 레코드를 만들어 준다.
마지막으로 S3의 폴리시 설정을 CDN으로부터 복사해 온다. 위 링크를 꺼버렸을 시 Cloud front - Origin 탭에서 edit-copy policy로 가면 된다.
3. Invalidation
캐싱이 되어있는 cdn을 초기화하는 것을 의미한다. 서버에 변경 사항이 생겼고 그것을 바로 반영해서 표시해야할 때 사용할 수 있다.
- CloudFront 콘솔 열기
- 무효화를 생성하려는 배포(distribution)를 선택
- "Invalidations" 탭을 클릭한 다음 "Create Invalidation" 버튼을 클릭
- "Create Invalidation" 패널에서 무효화하려는 객체의 경로를 입력한다. "*"(와일드 카드)를 사용하여 여러 개의 객체를 동시에 무효화할 수 있다.
- "Create Invalidation"을 클릭하여 요청을 제출합니다.
'AWS' 카테고리의 다른 글
AWS 7. Elastic BeanStalk (0) | 2023.05.09 |
---|---|
AWS 5. VPC, S3 (0) | 2023.05.05 |
AWS 4. DNS, route53 (0) | 2023.05.04 |
AWS 3. RDS (0) | 2023.05.03 |
AWS 2. 확장성/가용성, ELB (0) | 2023.05.03 |