> 전 세계 티어 1,2,3 의 이동통신사와 협력하여 네트워크에 연결된 글로벌 CDN(Content Delivery Network) 서비스
> 저지연성과 고속전송 속성을 지닌 콘텐츠 배포 기능을 제공
> 콘텐츠 사용자와 가까운 지역(엣지 로케이션)에 네트워크망을 구축하고, 지역별 엣지 캐시를 통해 사용자 경험 수준을 높일 수 있게 함
> 정적 콘텐츠 뿐만 아니라 동적 콘텐츠도 지원하며, 사용자 요청은 가장 가까운 엣지 로케이션에서 처리
CloudFront의 핵심 개념
> 엣지 로케이션이라 부르는 글로벌 데이터센터 네트워크를 통해 콘텐츠를 배포
> 전 세계 주요 대도시에 위치하며, AWS 리전 시설의 위치와는 다를 수 있음
> 지역별 엣지 캐시
: 웹 서버와 엣지 로케이션 사이에 위치해 사용자에게 직접 콘텐츠를 전송
> 특정 콘텐츠의 인기가 줄어들수록 개별 엣지 로케이션에서는 해당 객체를 삭제해 인기가 많은 콘텐츠를 제공할 수 있는 여유 공간을 확보
> 지역별 엣지 캐시는 엣지 로케이션보다 높은 수준의 캐싱 능력을 바탕으로 좀 더 오랜 시간 캐싱 데이터를 유지
> 지역별 엣지 캐시는 CloudFront의 기본 기능이므로 사용자는 별도의 설정 작업을 하거나 비용을 부담할 필요가 없음
CloudFront의 활용 시나리오
> 정적 콘텐츠 캐싱 CloudFront의 가장 대표적인 활용방식
> 네트워크 최적화를 통한 동적 콘텐츠 가속화 기능을 제공, EC2 서버에서 실행 중인 애플리케이션 또는 웹사이트를 CloudFront와 통합
> CloudFront는 OSI 모델의 L3, L4, L7을 보호할 수 있는 AWS Shield, WAF를 통합해 DDoS 공격을 방어
-> TLS 연결 및 서명 URL을 통한 사용자 인증 등의 기능을 제공
> 강화된 보안성 CloudFront는 SSL(HTTPS)방식의 보안 기능을 제공, 보안이 강화된 API, SSL/TSL 적용, advanced SSL 기능을 자동으로 적용, 보안 수준을 유지하기 위해 PCI, DDS, HIPAA, ISO 규정을 준수
CloudFront의 적용 방식
경로 패턴 매칭
> 웹사이트 또는 애플리케이션의 URL 경로 패턴에 따라 다양한 캐시 제어 동작을 설정
> 예를 들어 CloudFront가 이미지 뷰어로부터 요청을 받으면 요청 경로는 images/*.jpg와 같은 경로 패턴과 비교해 그에 맞는 제어 동작을 적용
> HTTP/HTTPS 프로토콜 설정, 헤어 또는 캐싱 옵션 설정, 쿠키 및 쿼리 문자열 포워딩 설정, 접근 제한등의 방식으로 특정 오리진으로 요청을 전송
헤더
> 헤더 값을 통해 요청 헤더를 오리진 캐시로 포워딩
> 디바이스의 헤더를 확인한 뒤 그에 맞는 동작을 적용
> 예를 들어 동일한 사이트를 접속한 노트북 사용자와 스마트폰 사용자의 요청에 각기 다른 반응을 제공
쿼리(query) 문자열 및 쿠키
> 웹 애플리케이션 중 일부는 오리진으로 정보를 전달하기 위해 쿼리 문자열을 사용
> 웹 요청의 일부로, ? 기호 다음에 나오며, 하나 이상의 파라미터를 & 기호로 연결해 사용
서명 URL, 서명 쿠키
서명 URL
> 정적 콘텐츠를 S3 버킷에 옮긴 뒤, CloudFront의 서명 URL 방식을 통해 해당 콘텐츠에 대한 비인가 접근을 막을 수 있음
> 서명 URL에는 만료일 및 만료 시간 등의 부가 정보가 포함돼 있어 콘텐츠에 대한 접근을 조금 더 세심하게 제어 할 수 있음
> 서명 URL을 이용해 웹 서버가 S3 버킷의 콘텐츠에 접근할 수 있는 시간 또는 방식을 제어
> 사용자가 특정 콘텐츠에 대한 접근을 요청할 경우 접속 시간 제약이 설정된 서명 URL 링크를 전달 받게 됨
서명 쿠키
> 서명 쿠키는 기능상으로는 서명 URL과 거의 동일하며 단지 HTTP 쿠키에 추가 정보를 넣는다는 점이 다름
> 다수 객체에 대한 접근 제어, URL 변경 없이 동일 객체에 대한 접근 제어를 해야할 때 유용
> 사용자가 웹사이트에서 인증을 받으면 Set-Cookie 헤더가 사용자 계정에 전달되며 이는 사용자 디바이스의 쿠키에 적용
> 사용자가 제한 객체에 대한 접근을 요청하면 브라우저는 요청에 포함된 쿠키를 포워딩
> CloudFront가 쿠키 속성을 확인해 접근 허용 또는 차단 여부를 결정
지역 제한 기능
> 사용자가 콘텐츠에 대한 요청을 하면 CloudFront는 사용자의 위치에 상관 없이 콘텐츠를 전송
> 특정 국가의 콘텐츠 요청을 거부하려면 다음과 같은 지역 제한 기능을 사용
- 접속 허용 국가 목록인 화이트리스트를 기반으로 요청 콘텐츠에 대한 접근을 허용하는 방법
- 접속 금지 국가 목록인 블랙리스트를 기반으로 요청 콘텐츠에 대한 접근을 거절하는 방법
오류 처리 기능
> 콘텐츠 요청에 대해 오리진 서버가 HTTP 4xx, 5xx 상태 코드를 반환하면 사용자에게 커스텀 오류 페이지를 제공
> 예를 들어 커스텀 오리진 서버가 사용 불능 상태고, 5xx 응답을 반환하면, CloudFront는 S3에 호스팅된 정적 페이지를 제공
> 최소 유지시간(TTL)을 정의해 CloudFront 캐시 오류를 얼마나 오래 유지 할지 조절
'DevOps BootCamp > AWS' 카테고리의 다른 글
도메인 연결과 CDN 및 HTTPS 적용 (0) | 2023.04.19 |
---|---|
Route 53 (0) | 2023.04.18 |
Elastic Load Balancing (0) | 2023.04.18 |
Auto Scaling Group (0) | 2023.04.18 |
RDS (0) | 2023.04.14 |