본문 바로가기
CSP (Cloud Service Provider)/AWS

CloudFront 실전 구축 세팅하기

by BTC_룰루랄라 2022. 11. 28.

반갑습니다!

💙베하💙 누구든 탑승할 수 있는 유임승차 팀의 BTC 룰루랄라 입니다!!💨😉

 

이번 포스팅에서는 AWS Cloudfront에 대해서 살펴보겠습니다.

 

그럼 시작해 보겠습니다!

룰루랄라~♬

 

 

 

EC2 웹서버 띄우기

배포에 앞서 우선 EC2 웹서버를 하나 띄웁니다.

 
$ sudo -s
 
$ yum install -s httpd # 웹서버 설치
 
$ service httpd start # 웹서버 실행

 

웹서버를 실행했으면 요청 로그들을 볼수있게 세팅합니다.

 
$ cd /var/log/httpd
 
$ ls
 
access_log error_log
 
 
 
$ tail -f access_log

 

그리고 마지막으로 index.html 웹페이지를 만듭니다.

 
$ vi /var/www/html/index.html
 
<html>
 
<body>
 
<h1>Hello World</h1>
 
</body>
 
</html>


CloudFront 배포 만들기

Info

뷰어 프로토콜 정책
- HTTP and HTTPS : http또는 https 둘다 사용할때
- Redirect HTTP to HTTPS : 만일 http로 접속하면 https로 리다이렉트. 보통 가장 많이 쓰임
- HTTPS only : https로만

 

Info

캐시 키 (Cache Key)
- 어떤 기준으로 컨텐츠를 캐싱할 것인지 결정
- 기본적으로 URL로 캐싱
- 설정에 따라 Header와 Cookies, 쿼리스트링 등을 사용 가능 (같은 URL로 접속했지만 헤더나 쿠키를 이용해 영어로된 컨텐츠를 보여주거나 광고를 보여주거나 등 다르게 세팅 가능)

TTL (Time to live)
- 캐싱된 아이템이 살아있는 시간 → TTL초 이후에는 캐싱에서 삭제

정책
- CloudFront가 동작하는 방법을 정의한 정책
- 어떻게 캐싱을 할지, 어떤 내용을 Origin에 보낼지, 어떤 헤더를 허용할지 등 결정

 

+ 캐시 정책 종류

Info

캐시 정책

- Minimum TTL : 오리진으로 요청이 전달되기 전에 Cloudfront캐시에 머무르는 최소 시간
- Maximum TTL : 오리진으로 요청이 전달되기 전에 Cloudfront캐시에 머무르는 최대 시간, 특정 HTTP 헤더(Cache-Control, max-age...)가 존재할 경우에만 작동.
- Default TTL : 오리진으로 요청이 전달되기 전에 Cloudfront캐시에 머무르는 기본시간 (24시간 1일)

- Forward Cookies : 오리진으로의 쿠키 정보 포워딩에 관한 설정, 오리진에는 쿠키를 처리하지 않기 때문에  쿠키를 전달하는 경우 가능성이 줄어든다
 
- QueryString Forwarding and Caching : 쿼리 스트링을 통해 각각의 컨텐츠를 버전별로 관리할 수 있다.
- QueryString whiteList : 쿼리스트링 포워딩 시 오리진으로 전달할 쿠키 정보의 필터링 역할을 한다.

 docs.aws.amazon.com
관리형 캐시 정책 사용 CloudFront 에서는 배포의 캐시 동작에 연결할 수 있는 일련의 관리형 캐시 정책을 제공합니다. 관리형 캐시 정책을 사용하면 자체 캐시 정책을 작성하거나 유지 관리할 필

 

Info

가격 분류 (Price Class)
- 어느 지역 범위까지의 Edge Node를 사용할 건지 선택
 
AWS WAF 웹 ACL
- 원하지 않는 요청에 대한 방화벽을 설정
- 방화벽에 의해 거절된 요청을 HTTP Status 403(Forbidden)을 응답받는다.
 
대체 도메인 이름 Alternate Domain Names(CNAMEs)
- CloudFront 생성 시 할당받는 도메인 이름 대신 객체의 URL에 사용할 하나 이상의 도메인 이름을 지정
 
SSL 인증서
- HTTPS를 사용하여 객체에 접근하는 경우 인증서를 등록해야 한다. 
  * Default CloudFront Certificte : 기본적으로 CloudFront에서 제공하는 인증서 사용
  * Custom SSL Certificate : 사용자 지정 SSL 인증서를 사용, 개인 소유의 SSL 인증서나 ACM을 통해 발급받은  SSL 인증서를 사용

지원되는 HTTP 버젼(Supported HTTP Versions)
- 사용자와 CloudFront 간 사용할 HTTP version을 선택

기본값 루트 객체 (Default Root Object)
- 특정 객체가 아닌 배포 URL을 요청할 때 CloudFront가 Origin에 요청할 객체 정보

Tip

클라우드 프론트는 만들어지는데 시간이 오래 걸린다는 특성이 있다.
왜냐하면 전세계에 있는 모든 엣지 로케이션에 대상으로 배포를 하기 때문에 시간이 걸린다.

 

'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글

Route 53에 다른 곳에서 구입한 도메인 등록하기  (0) 2022.11.30
Route 53  (0) 2022.11.29
AWS Spot Instance  (0) 2022.11.28
AWS 글로벌 인프라 구성- 1  (0) 2022.11.28
SageMaker  (0) 2022.11.28

댓글