DevOps/AWS

[AWS] CloudFront의 역할과 사용해보기 (Route53와 ALB 사이에 추가)

세리둥절 2023. 3. 30. 23:00
반응형

CloudFront란???? 

CloudFront는 Cache + CDN (서브기능) 하는 AWS 서비스
기본적으로는 Cache 기능을 제공하는 서버라고 생각하면 된다. 자연스럽게 CDN 기능까지 보유하게 된 것이다.

 

기존 방식

대부분의 서비스들은 웹페이지를 준비해놨다가 오자마자 뿌려주는 형식이 아니라,
유저가 입력하는 정보에 따라서 서버가 뿌려줘야하는 HTML 파일이 달라진다. (따라서 대부분 동적으로 생성한다)
따라서 유저가 많아지면 서버 과부하가 걸리고 서버 비용이 많이 나갈 수 있다.
새로고침할 때마다 똑같은 연산을 계속해야하면 더더욱 ^^ 문제가 생긴다 

 

 

Cache

준비된 데이터를 cache에 저장하고 그걸 그대로 뿌려준다
대체로 일정한 텀을 가지고 캐시 업데이트 기간을 둔다. 
캐시 서버를 사용할 때는 잘 바뀌지 않는 페이지에서는 업데이트 기간을 길게 두어도 상관이 없다. 주로 캐시 서버를 사용한다.
유저의 정보가 많이 들어가는 경우나 자주 바뀌는 경우는 캐시 서버의 업데이트 시간 간격을 짧게 가져간다. (ex. 장바구니)

- 이때 캐싱서버를 Distribution이라고하고 원래 서버를 Origin이라고 부른다

 

CDN이란?

 

 

구조 (EC2, Route53, Certificate Manager, CloudFront, ALB)

이전에는 Route53을 ALB로 연결을 했는데,
CloudFront가 생기면서 Route53 도메인을 CloudFront와 연결을 시키면 된다

 

 

 

CloudFront 생성하기

1. AWS에서 CloudFront 검색해서 들어가기
2. Create Distributions (캐싱서버)
3. Origin = 로드밸런서
4. Path는 무시해도 됨
5. Distribution Settings에서 Use All Edge Location을 선택하면 전세계에서 빠르다 (CDN)
6. 우리같은 경우는 그냥 Use Only U.S. 로 선택
7. Alternate Domain Names에서 Add item 눌러서 Route53에서 쓸 도메인이름 적기
8. Custom SSL Certificate 선택하고 발급받은 SSL 클릭하기
7. Create Distribution 선택

 

Route53에서 도메인과 CloudFront를 연결하기

1. Route53에서 유형 A인 레코드를 CloudFront와 연결해야 한다
2. 레코드 편집 클릭
3. 트래픽 라우팅 대상 : CloudFront 배포에 대한 설정으로 변경하면 된다 (이건 Region을 설정할 필요가 없다)
4. 아래에서 유형이 A(ipv4)인 것이 2개니까 두개 다 바꿔야 한다.

 

 

 

캐싱 설정하기 (Distribution Edit)

만들어둔 CloudFront (Distribution) 수정하기로 들어가서 내려가다보면
cache 설정 속도(TTL)를 설정할 수 있는 부분이 생긴다

원래는 Legacy cache settings였는데 최근에 Cache policy and origin request policy가 생겼다
origin에서는 바뀌었는데 distribution이 바뀌는데 시간이 걸린다 = TTL (Time to Live)

 

반응형