2020. 9. 5. 01:45ㆍAWS/Practice
1. CloudFront
S3에 업로드된 정적 웹 페이지와 CloudFront를 연결을 수행한다. 이전에 구성한 ELB에 연결된 EC2에 대한 연동과 Route 53와 연동하여, Route 53에서 생성한 도메인으로 웹 사이트 접속 시 CloudFront - ELB - EC2로 연결되도록 할 수도 있다.
1) S3 구성
업로드한 파일의 퍼블릭 읽기 액세스 권한을 부여하기 위해 Bucket의 권한을 편집한다.
2) CloudFront 웹 배포 생성 및 S3 연결 (1)
생성 시, Origin Domain Name은 이전에 생성한 S3 Bucket을 선택한다. 이 후 Default Cache Behavior Settings 항목은 기본으로 변경하지 않고 생성한다. 기본으로 생성하게 될 경우 CloudFront의 URL로 요청되는 모든 Request는 S3 Bucket으로 전달되며 최종 사용자가 HTTP/HTTPS를 모두 사용할 수 있다. CloudFront Edge Server는 24시간 동안 콘텐츠를 캐시하고 모든 사용자가 접속이 가능해진다. 생성이 완료되면 웹 배포가 전세계 Edge 서버에 진행되며 배포 진행에 대한 Status 값이 In Progress로 변경된다.
Status 값이 Deployed 표시되면 CloudFront의 접속 도메인을 확인 후 복사한다.
3) CloudFront 웹 배포 생성 및 S3 연결 (2)
메모장에 HTML을 작성 후 index.html 파일로 저장한다. 이 후 S3의 Bucket 루트 페이지에 파일을 업로드한다. CloudFront DNS/index.html로 접속하여 웹 페이지를 확인한다.
<html>
<head> My CloudFront Test </head>
<body>
<p> My text content goes here. </p>
<p> <img src="http://[CloudFront DNS]/CloudFront_test/image_taco.jpg" alt="My test image" /> </p>
</body>
</html>
4) 캐시 무효화 기능
캐시 무효화 기능을 확인해보기 위해 S3에 업로드된 HTML을 수정하여 기존 업로드 파일을 삭제하고 업로드한다. 업로드했음에도 불구하고 해당 페이지가 업데이트 되지 않기에 무효화 기능으로 캐시를 삭제하기 위한 Invalidation을 생성한다.
<html>
<head> My CloudFront Test </head>
<body>
<p> My text content goes here. </p>
<p> I Love AWS </p>
<p> <img src="http://[CloudFront DNS]/CloudFront_test/image_taco.jpg" alt="My test image" /> </p>
</body>
</html>
[참고] 아마존 웹 서비스 AWS Discovery Book
'AWS > Practice' 카테고리의 다른 글
[Practice] Practitioner Lightsail (0) | 2020.09.06 |
---|---|
[Practice] Practitioner IAM (0) | 2020.09.05 |
[Practice] Practitioner Auto Scaling (0) | 2020.09.03 |
[Practice] Practitioner ELB (0) | 2020.09.03 |