CloudFront
: .html, .css, .js 및 이미지 파일 같은 정적 및 동적 웹 콘텐츠를 사용자에게 더 빨리 배포하도록 지원하는 웹 서비스
- 데이터 센터의 전 세계 네트워크를 통해 콘텐츠를 제공
- 지연 시간이 가장 작은 엣지 로케이션으로 요청이 라우팅
- 콘텐츠가 이미 지연 시간이 가장 작은 엣지 로케이션에 있는 경우
→ 콘텐츠를 즉시 제공 - 콘텐츠가 엣지 로케이션에 없는 경우
→ 콘텐츠의 최종 버전에 대한 소스로 지정된 오리진에서 콘텐츠를 검색
- 콘텐츠가 이미 지연 시간이 가장 작은 엣지 로케이션에 있는 경우
- AWS 네트워크를 사용하면 사용자의 요청이 반드시 통과해야 하는 네트워크의 수 감소 → 성능 향상
- 파일의 사본이 전세계 여러 엣지 로케이션에 유지 → 안정성과 가용성 향상
제공 방법
- 사용자가 웹 사이트나 애플리케이션에 액세스하고 객체(이미지, html 등)에 대해 요청
- DNS가 요청을 최적으로 서비스할 수 있는 CloudFront PoP(엣지 로케이션)로 요청을 라우팅
- CloudFront는 해당 캐시에 요청된 객체가 있는지 확인
- 객체가 캐시에 있는 경우
→ 객체를 사용자에게 반환 - 객체가 캐시에 없는 경우
→ 1. 배포의 사양과 요청을 비교해 사용자의 원본 서버에 해당 객체에 대한 요청을 전달
2. 원본 서버는 객체를 엣지 로케이션으로 다시 전달
3. 오리진에 첫 바이트가 도착하자마자 CloudFront는 객체를 사용자에게 전달하고 캐시에 추가
- 객체가 캐시에 있는 경우
구성 방법
- CloudFront는 지정한 오리진 서버로부터 파일을 가져와 전세계 CloudFront 엣지로케이션에 배포
- 오리진 서버는 객체의 최종 원본 버전을 저장
- 오리진 서버에 파일을 업로드
- 사용자가 웹 사이트나 애플리케이션을 통해 파일을 요청할 경우, 어떤 오리진 서버에서 파일을 가져올지 CloudFront 배포를 만듦
- 세부사항 지정
(CloudFront에서 모든 요청을 기록할지, 배포를 만들자마자 활성화할지 등)
- 세부사항 지정
- 새 배포에 도메인 이름을 할당
- CloudFront 콘솔에서 볼 수 있음
- 프로그램 요청(API 요청 등)에 대한 응답으로 반환됨
- 대체 도메인 이름을 추가할 수 있음
- 배포의 구성을 해당 엣지 로케이션이나 CloudFront가 파일의 사본을 캐싱하는 지리적으로 분산된 데이터센터의 PoP 서버 모음으로 전송
액세스 방법
- AWS Management Console
- AWS SDK
- SDK를 제공하는 프로그래밍 언어를 사용하는 경우
- CloudFront API
- SDK를 제공하지 않는 프로그래밍 언어를 사용하는 경우
- AWS Command Line Interface
- Windows의 PowerShell을 통한 AWS Tools
[ 출처 ]
https://docs.aws.amazon.com/ko_kr/AmazonCloudFront/latest/DeveloperGuide/Introduction.html
'CS' 카테고리의 다른 글
Redis란? (0) | 2022.04.20 |
---|---|
CDN (콘텐츠 전송 네트워크)이란? (0) | 2022.04.19 |