[Practice] Practitioner CloudFront

2020. 9. 5. 01:45AWS/Practice

1. CloudFront

S3에 업로드된 정적 웹 페이지와 CloudFront를 연결을 수행한다. 이전에 구성한 ELB에 연결된 EC2에 대한 연동과 Route 53와 연동하여, Route 53에서 생성한 도메인으로 웹 사이트 접속 시 CloudFront - ELB - EC2로 연결되도록 할 수도 있다.

1) S3 구성

업로드한 파일의 퍼블릭 읽기 액세스 권한을 부여하기 위해 Bucket의 권한을 편집한다.

S3 구성

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의 접속 도메인을 확인 후 복사한다.

CloudFront 웹 배포 생성 및 S3 연결 (1)

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>

CloudFront 웹 배포 생성 및 S3 연결 (2)

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

728x90

'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