인프라/AWS

[AWS] AWS 기술 정리 8편 CloudFront, Global Accelerator - (AWS SAA, Udemy 강의 정리)

파이랜스 2024. 10. 4. 23:33

https://aws.amazon.com/ko/certification

 

 이 글은 24년 하반기 AWS Certified Solutions Architect - Associate(이하 AWS SAA-C03) 자격증 취득을 위해서 아래 유데미 강의를 보고, 공부한 내용을 정리하였습니다.

https://www.udemy.com/course/best-aws-certified-solutions-architect-associate

 

CloudFront

CloudFront란

* CDN : 컨텐츠 전송 네트워크

- 웹사이트의 컨텐츠를 서로 다른 엣지 로케이션(전세계 216개)에 미리 캐싱하여 읽기 성능을 높이는 것

- 사용자들은 낮은 레이턴시로 접근 가능

- 컨텐츠가 분산되어 있어 DDoS 공격에서 보호받을 수 있음

 

원본

1. S3 버킷

- 파일 분산 및 캐싱 가능

- 버킷에는 CF만 접근할 수 있게 보장, 이는 OAC(원본 접근 제어)로 기존의 OAI를 대체

- CF로 버킷에 데이터를 보낼 수도 있음(ingress라고함)

 

2. 커스텀 원본

- ex) HTTP 백엔드 : ALB, EC2, S3 웹사이트 등

- S3 웹사이트의 경우 버킷을 정적 웹 사이트로 설정해야함

 

작업 방식

클라이언트가 요청을 보내면, CF는 캐싱되어있는지 확인하고, 없으면 AWS 내부 네트워크를 이용해 원본에서 요청결과를 가져옴... 결과를 가져오면서 이를 로컬 캐시에 저장

 

CloudFront와 CRR(교차 리전 복제)간의 차이

- CF는 엣지 로케이션을 이용해 TTL(하루)동안 파일을 캐싱함.. 전세계를 대상으로 한 정적 컨텐츠일 때 용이

- CRR는 특정 리전을 지정해야함(전세계X).. 파일은 실시간으로 갱신됨(캐싱의 개념이 아님).. 읽기 전용으로만 설정 가능

- 일부 리전을 대상으로 동적 컨텐츠를 낮은 지연 시간으로 제공할 때 사용

 

ALB를 원본으로 쓸 때

- EC2나 ALB를 원본으로 쓰려면 그 대상이 퍼블릭으로 설정되어 있어야함

 

지리적제한

- 국가에 따라 접근할 수 있도록 승인 국가 목록 정의 가능(차단 목록도 가능)

- 국가는 서드파티 Geo-IP DB에 따라 맵핑됨

- 사례 : 콘텐츠에 대한 접근을 제한하는 저작권법

 

`고급 옵션

1. 요금 : 엣지 로케이션마다 가격이 다름

2. 가격등급 : 비용절감을 위해 CF를 분산할 엣지 로케이션 수를 줄일 수 있음

- Price Class All : 모든 로케이션에 배포, 최고 성능 최대 비용

- Price Class 200 : 대부분 배포되지만 가장 비싼 리전 제외

- Price Class 100 : 가장 싼 곳들만 사용함

 

캐시 무효화

- CF가 원본의 업데이트 사항을 알 수 없을 때

- 캐시를 모두 날릴 수 있음 TTL과 상관없이 새로고침할 수 있음.. 강제로 원본으로 업데이트

- 특정 파일 경로를 설정해서 무효화 시킬 수 있음

 

 

AWS Global Accelerator

사용목적

- 글로벌 애플리케이션을 호스팅할 때, 공용인터넷을 이용하면 많은 hop을 거쳐야해서 지연시간 발생

- 지연시간 최소화를 위해 AWS 네트워크를 통하는 것이 좋음

- 애니케스트 IP의 개념을 이용

 

* Unicast IP vs Anycast IP

- 유니캐스트 IP : 하나의 서버가 하나의 IP

- 애니캐스트 IP : 모든 서버는 동일한 IP를 가지고, 클라이언트는 가장 가까운 서버로 라우팅됨

 

- 애플리케이션을 라우팅하기 위해 AWS 내부 글로벌 네트워크를 활용.. 즉 바로 ALB로 트래픽이 오는게 아니라, 엣지 로케이션 거쳐서 AWS 내부 네트워크 통해서 ALB로 옴

- 애플리케이션을 위해 두개의 고정 애니케스트 IP가 생성됨(글로벌함).. 사용자와 가장 가까운 엣지 로케이션으로 트래픽을 직접 전송

- 훨씬 안정적이고 지연시간이 적은 효과

 

 

특징

- 대상  : 탄력적 IP, EC2, ALB, NLB와 함께 사용됨 (공용 사설 무관)

- 지능형 라우팅으로 지연 시간이 짧고, 빠른 장애조치가 이뤄짐

- 캐싱을 하지 않기 때문에 클라이언트 캐시와도 문제가 없음(IP는 바뀌지 않기 때문)

- 상태확인 : 애플리케이션이 글로벌하게 만들어줌... 한 리전의 장애가 확인되면 1분안에 정상 엔드포인트로 실행됨

- 보안 : 2개의 외부 IP만 존재하기에 보안 측면에서 우수, AWS Shield로 DDoS로부터도 보호됨

 

 

AWS Global Accelerator vs CloudFront

공통점

- 둘다 동일한 글로벌 네트워크 사용

- AWS가 생성한 엣지 로케이션 사용

- DDoS 보호를 위해 AWS Shield와 통합됨

 

차이점

CloudFront

- 이미지나 비디오와 같은 캐시 가능한 내용과, API 가속 및 동적 사이트 전달 같은 동적 내용 모두에 대해 성능을 향상시킴

- 내용은 엣지 로케이션으로부터 제공됨(대부분 캐시된 내용을 엣지로 부터 가져옴)

- 엣지 로케이션은 원본으로부터 가끔 내용을 가져옴

 

`Global Accelerator

- TCP나 UDP 상의 다양한 애플리케이션 성능을 향상시킴

- 패킷은 엣지 로케이션으로부터 하나 이상의 AWS 리전에서 실행되는 애플리케이션으로 프록시됨

- 모든 요청이 애플리케이션 쪽으로 전달됨... 캐싱 불가

- 게임, IOT, VoIP등 비 HTTP를 사용할 경우에 매우 적합

- 글로벌하게 고정 IP를 요구하는 HTTP를 사용할 때도 유용함