Cloudfront
, S3
, Route53
,Certificate Manager
를 이용하여 정적 웹 사이트 배포해본다.
cloudfront
를 적용해 접속할 주소로 버킷 이름을 설정하고, 리전은 서울로 설정했다.Cloudfront
를 통해 들어오는 요청에 의해 접근한다. 따라서 버킷의 모든 객체에 접근하기 위해 퍼블릭 엑세스 차단을 해체 해준다.index.html
과 error.html
파일이 필수적으로 필요하므로 두 파일을 생성 후 업로드 해줬다.# index.html
<!doctype html>
<meta charset="utf-8">
<html>
<head>
<title>S3 와 CDN을 이용한 정적 웹 배포</title>
</head>
<body>
<h1>S3 와 CDN을 이용한 정적 웹 배포</h1>
</body>
</html>
# error.html
<!doctype html>
<meta charset="utf-8">
<html>
<head>
<title>S3 와 CDN을 이용한 정적 웹 배포</title>
</head>
<body>
<h1>error</h1>
</body>
</html>
엔드포인트
주소를 복사해놓는다. 나중에 이 주소로 접근하면 파일을 확인 할 수 있다.index.html
, error.html
을 적어주고 저장을 눌러준다.
index.html
과error.html
을 작성하지 않으면 저장 버튼을 활성화 할 수 없다!
엔드포인트
주소로 접근해보면 위와 같은 화면을 볼 수 있다.엔드포인트/image
로 접근해보면 없는 객체에 접근하게 되므로 error.html
의 내용이 출력되는 것을 볼 수 있다.Certificate Manager
에 접속한다.www.{본인 도메인}
, *.{본인 도메인}
을 입력하고 다음을 누른다.DNS 검증
을 선택한다.검증 보류라고 주황 글씨로 적힌 페이지가 보일텐데 도메인주소를 클릭하여 확장시키면 Route53
에서 레코드 생성 이라는 버튼을 두개다 눌러준다.
5분 정도 기다리면 발급 완료
상태로 바뀐다.
CloudFront
서비스에 접속한다.Creat Distributions
버튼을 클릭한다.Origin Settings -> Origin Domain Name
에 연결할 S3 버켓을 선택한다.Distribution Settings -> Alternate Domain Names
에 연결할 도메인 명을 입력한다.
Distribution Settings -> SSL Certificate
는 Custom SSL Certificate
를 선택하고 아까 발급받은 인증서를 선택해 준다.
State
가 Enabled인지 확인한다.Status
가 Deployed가 되고, Domain name
으로 접속해 보면 S3
에서 확인했던 페이지를 확인할 수 있다.Headers->Response Headers->X-Cache
내용이 위와 같이 Hit from cloudfront
라면 CloudFront
가 잘 적용된 것이다.이 실습의 목표는 cdn.seokseok.me
주소로 접속시 CloudFront
를 통하여 S3
버켓의 정적 페이지를 확인하는 것이었다. 현재는 CloudFront
의 도메인주소로 접속 가능한 상태이므로 Route53
을 이용해 cdn.seokseok.me
접속시 CloudFront
로 연결되도록 하자.
Route53
서비스에 접속한다.이름에 cdn
을 입력하고, 유형은 A
, 별칭을 예
로 해주고 별칭대상에 CloudFront
의 도메인네임을 입력해준다.
잠시 기다리고 cdn.seokseok.me
로 접속했을 때, 동일한 페이지를 볼 수 있고, X-cache를 확인해 봤을 때 CloudFront
로 연결된 것을 확인할 수 있었다.