Amazon CloudFront Origin Shield 사용
CloudFront Origin Shield는 CloudFront 캐싱 인프라의 추가 계층으로 오리진의 부하를 최소화하고 가용성을 높이며 운영 비용을 절감하는 데 도움이 됩니다. CloudFront Origin Shield를 사용하면 다음과 같은 이점을 얻을 수 있습니다.
- 향상된 캐시 적중률
-
Origin Shield는 오리진 앞에 캐싱의 추가 계층을 제공하기 때문에 CloudFront 배포의 캐시 적중률을 개선하는 데 도움이 됩니다. Origin Shield를 사용하면 모든 CloudFront의 캐싱 계층에서 오리진에 이르는 모든 요청이 Origin Shield를 통과하여 캐시 적중 가능성을 높입니다. CloudFront는 Origin Shield에서 오리진으로의 단일 오리진 요청을 사용하여 각 객체를 검색할 수 있으며 CloudFront 캐시의 다른 모든 계층(엣지 로케이션 및 리전 엣지 캐시)은 Origin Shield에서 객체를 검색할 수 있습니다.
- 오리진 부하 감소
-
Origin Shield는 동일한 객체에 대해 오리진으로 전송되는 동시 요청 수를 추가로 줄일 수 있습니다. Origin Shield의 캐시에 없는 콘텐츠에 대한 요청은 동일한 객체에 대한 다른 요청과 통합되어 오리진에 대한 요청이 하나만 발생합니다. 오리진에서 요청을 적게 처리하면 최대 부하 또는 예기치 않은 트래픽 급증 시에도 오리진의 가용성을 유지할 수 있으며, JIT(Just-in-time) 패키징, 이미지 변환 및 DTO(데이터 송신)와 같은 비용을 절감할 수 있습니다.
- 향상된 네트워크 성능
-
오리진에 대한 대기 시간이 가장 짧은 AWS 리전에서 Origin Shield를 활성화하면 향상된 네트워크 성능을 얻을 수 있습니다. AWS 리전의 오리진의 경우 CloudFront 네트워크 트래픽은 오리진에 이르기까지 처리량이 높은 CloudFront 네트워크에 남아 있습니다. AWS 외부에 있는 오리진의 경우 CloudFront 네트워크 트래픽은 오리진에 대한 연결 대기 시간이 짧은 Origin Shield에 이르기까지 CloudFront 네트워크에 남아 있습니다.
Origin Shield 사용 시 추가 요금이 발생합니다. 자세한 내용은 CloudFront 요금
주제
Origin Shield 사용 사례
CloudFront Origin Shield는 다음과 같은 많은 사용 사례에 도움이 될 수 있습니다.
-
서로 다른 지리적 리전에 분산되어 있는 최종 사용자
-
라이브 스트리밍 또는 즉석 이미지 처리를 위한 JIT(Just-in-time) 패키징을 제공하는 오리진
-
용량 또는 대역폭 제약이 있는 온프레미스 오리진
-
여러 CDN(콘텐츠 전송 네트워크)을 사용하는 워크로드
Origin Shield는 오리진으로 프록시되는 동적 콘텐츠, 캐시 가능성이 낮은 콘텐츠, 자주 요청되지 않는 콘텐츠 등 다른 경우에는 적합하지 않을 수 있습니다.
다음 섹션에서는 다음과 같은 사용 사례에 대한 Origin Shield의 이점에 대해 설명합니다.
서로 다른 지리적 리전의 최종 사용자
Amazon CloudFront를 사용하면 CloudFront가 캐시에서 처리할 수 있는 요청이 오리진으로 이동하지 않기 때문에 본질적으로 오리진의 부하를 줄일 수 있습니다. CloudFront의 엣지 로케이션의 글로벌 네트워크
최종 사용자가 서로 다른 지리적 리전에 있는 경우 요청을 서로 다른 리전 엣지 캐시를 통해 라우팅할 수 있으며, 각 캐시에서는 동일한 콘텐츠에 대한 요청을 오리진에 보낼 수 있습니다. 하지만 Origin Shield를 사용하면 리전 엣지 캐시와 오리진 사이에 추가 캐싱 계층이 생깁니다. 모든 리전 엣지 캐시의 모든 요청은 Origin Shield를 통과하여 오리진의 부하를 더욱 줄입니다. 다음 다이어그램에서는 이 개념을 보여줍니다. 다음 다이어그램에서 오리진은 AWS Elemental MediaPackage입니다.
Origin Shield 미사용
Origin Shield를 사용하지 않으면 다음 다이어그램과 같이 오리진에서 동일한 콘텐츠에 대한 중복 요청을 수신할 수 있습니다.
Origin Shield 사용
Origin Shield를 사용하면 다음 다이어그램과 같이 오리진의 부하를 줄일 수 있습니다.
여러 CDN
라이브 동영상 이벤트 또는 인기 있는 주문형 콘텐츠를 제공하기 위해 여러 CDN(콘텐츠 전송 네트워크)을 사용할 수 있습니다. 여러 CDN을 사용하면 특정 이점을 얻을 수 있지만 오리진에서는 동일한 콘텐츠에 대해 여러 개의 중복 요청을 수신할 수 있습니다. 각 요청은 서로 다른 CDN 또는 동일한 CDN 내의 다른 위치에서 발생합니다. 이러한 중복 요청은 오리진의 가용성에 부정적인 영향을 미치거나 JIT(Just-in-time) 패키징 또는 DTO(데이터 송신)와 같은 프로세스에 추가적인 운영 비용을 야기할 수 있습니다.
다른 CDN의 오리진으로 CloudFront 배포를 사용하여 Origin Shield를 결합하면 다음과 같은 이점을 얻을 수 있습니다.
-
오리진에서 수신되는 중복 요청 수가 적기 때문에 여러 CDN을 사용할 때의 부정적인 영향을 줄일 수 있습니다.
-
CDN 전반의 공통 캐시 키 및 오리진 방향 기능을 위한 중앙 집중식 관리.
-
네트워크 성능이 향상되었습니다. 다른 CDN의 네트워크 트래픽은 가까운 CloudFront 엣지 로케이션에서 종료되어 로컬 캐시에서 적중을 제공할 수 있습니다. 요청된 객체가 엣지 로케이션 캐시에 없는 경우 오리진에 대한 요청은 오리진에 대한 높은 처리량과 짧은 대기 시간을 제공하는 Origin Shield까지 CloudFront 네트워크에 남아 있습니다. 요청된 객체가 Origin Shield의 캐시에 있는 경우 오리진에 대한 요청은 완전히 방지됩니다.
중요
다중 CDN 아키텍처에서 Origin Shield를 사용하는 데 관심이 있고 요금을 할인받고 있는 경우 AWS에 문의
다음 다이어그램은 여러 CDN으로 인기 있는 라이브 동영상 이벤트를 제공할 때 이 구성을 통해 오리진의 부하를 최소화하는 방법을 보여줍니다. 다음 다이어그램에서 오리진은 AWS Elemental MediaPackage입니다.
Origin Shield 미사용(여러 CDN)
Origin Shield를 사용하지 않으면 다음 다이어그램과 같이 오리진에서 동일한 콘텐츠에 대해 각각 서로 다른 CDN에서 오는 여러 개의 중복 요청을 수신할 수 있습니다.
Origin Shield 사용(여러 CDN)
Origin Shield를 사용하고 다른 CDN의 오리진으로 CloudFront를 함께 사용하면 다음 다이어그램과 같이 오리진의 부하를 줄일 수 있습니다.
Origin Shield에 대한 AWS 리전 선택
Amazon CloudFront는 CloudFront에 리전 엣지 캐시가 있는 AWS 리전에서 Origin Shield를 제공합니다. Origin Shield를 활성화하면 Origin Shield에 대해 AWS 리전을 선택합니다. 오리진에 대한 지연 시간이 가장 짧은 AWS 리전을 선택해야 합니다. Origin Shield는 AWS 리전에 있는 오리진 및 AWS에 없는 오리진과 함께 사용할 수 있습니다.
AWS 리전에 있는 오리진의 경우
오리진이 AWS 리전에 있는 경우 먼저 CloudFront가 Origin Shield를 제공하는 리전에 오리진이 있는지 확인합니다. CloudFront는 다음과 같은 AWS 리전에서 Origin Shield를 제공합니다.
-
미국 동부(오하이오) –
us-east-2
-
미국 동부(버지니아 북부) –
us-east-1
-
미국 서부(오레곤) –
us-west-2
-
아시아 태평양(뭄바이) –
ap-south-1
-
아시아 태평양(서울) –
ap-northeast-2
-
아시아 태평양(싱가포르) –
ap-southeast-1
-
아시아 태평양(시드니) –
ap-southeast-2
-
아시아 태평양(도쿄) –
ap-northeast-1
-
유럽(프랑크푸르트) –
eu-central-1
-
유럽(아일랜드) –
eu-west-1
-
유럽(런던) –
eu-west-2
-
남아메리카(상파울루) –
sa-east-1
CloudFront가 Origin Shield를 제공하는 AWS 리전에 오리진이 있는 경우
CloudFront가 Origin Shield를 제공하는 AWS 리전에 오리진이 있는 경우(이전 목록 참조) 오리진과 동일한 리전에서 Origin Shield를 활성화합니다.
CloudFront가 Origin Shield를 제공하는 AWS 리전에 오리진이 없는 경우
CloudFront가 Origin Shield를 제공하는 AWS 리전에 오리진이 없는 경우 다음 표를 참조하여 Origin Shield를 활성화할 리전을 결정합니다.
오리진이 다음에 있는 경우 |
Origin Shield 활성화 |
---|---|
미국 서부(캘리포니아 북부) – |
미국 서부(오레곤) – |
아프리카(케이프타운) – |
유럽(아일랜드) – |
아시아 태평양(홍콩) – |
아시아 태평양(싱가포르) – |
캐나다(중부) – |
미국 동부(버지니아 북부) – |
유럽(밀라노) – |
유럽(프랑크푸르트) – |
유럽(파리) – |
유럽(런던) – |
유럽(스톡홀름) – |
유럽(런던) – |
중동(바레인) – |
아시아 태평양(뭄바이) – |
외부에 있는 오리진의 경우AWS
Origin Shield는 온프레미스에 있거나 AWS 리전에 있지 않은 오리진과 함께 사용할 수 있습니다. 이 경우 오리진에 대한 지연 시간이 가장 짧은 AWS 리전에서 Origin Shield를 활성화합니다. 오리진에 대한 지연 시간이 가장 짧은 AWS 리전이 확실하지 않은 경우 다음 제안 사항을 사용하여 결정할 수 있습니다.
-
오리진의 지리적 위치를 기준으로 오리진에 대한 지연 시간이 가장 짧은 AWS 리전을 대략적으로 알아보려면 이전 표를 참조하십시오.
-
오리진과 지리적으로 가까운 몇 가지 다른 AWS 리전에서 Amazon EC2 인스턴스를 시작하고,
ping
을 사용하여 해당 리전과 오리진 간의 일반적인 네트워크 대기 시간을 측정하는 몇 가지 테스트를 실행할 수 있습니다.
Origin Shield 활성화
Origin Shield를 활성화하면 캐시 적중률을 개선하고 오리진의 부하를 줄이며 성능을 향상시킬 수 있습니다. Origin Shield를 활성화하려면 CloudFront 배포에서 오리진 설정을 변경합니다. Origin Shield는 오리진의 속성입니다. CloudFront 배포의 각 오리진에 대해 Origin Shield가 해당 오리진에 대해 최상의 성능을 제공하는 AWS 리전에서 Origin Shield를 별도로 활성화할 수 있습니다.
CloudFront 콘솔, AWS CloudFormation 또는 CloudFront API를 사용하여 Origin Shield를 활성화할 수 있습니다.
Origin Shield 비용 추정
증분 계층인 Origin Shield로 이동하는 요청 수를 기준으로 Origin Shield에 대한 요금이 발생합니다.
오리진으로 프록시되는 동적(캐시할 수 없음) 요청의 경우 Origin Shield는 항상 증분 계층입니다. 동적 요청에는 PUT
, POST
, PATCH
, DELETE
와 같은 HTTP 메서드가 사용됩니다.
GET
및 HEAD
는 TTL 설정이 3600초 미만인 요청은 동적 요청으로 간주됩니다. 또한, GET
및 HEAD
는 캐싱을 비활성화한 요청도 동적 요청으로 간주됩니다.
동적 요청에 대한 Origin Shield 요금을 추정하려면 다음 공식을 사용하십시오.
총 동적 요청 수 x 요청 10,000개당 Origin Shield 요금/10,000
HTTP 메서드 , GET
, HEAD
, 및 OPTIONS
를 사용하는 비동적 요청의 경우 Origin Shield가 증분 계층이 되기도 합니다. Origin Shield를 활성화하면 Origin Shield에 대해 AWS 리전을 선택합니다. Origin Shield와 동일한 리전에 있는 리전 엣지 캐시로 자연스럽게 이동하는 요청의 경우 Origin Shield는 증분 계층이 아닙니다. 이러한 요청에는 Origin Shield 요금은 발생하지 않습니다. Origin Shield와 다른 리전에서 리전 엣지 캐시로 이동한 다음 Origin Shield로 이동하는 요청의 경우 Origin Shield는 증분 계층입니다. 이러한 요청에는 Origin Shield 요금이 발생합니다.
캐시 가능한 요청에 대한 Origin Shield의 요금을 추정하려면 다음 공식을 사용하십시오.
캐시 가능한 총 요청 수 x(1 - 캐시 적중률) x 다른 리전의 리전 엣지 캐시에서 Origin Shield로 이동하는 요청의 비율 x 요청 10,000개당 Origin Shield 요금/10,000
Origin Shield에 대한 요청 10,000개당 요금에 대한 자세한 내용은 CloudFront 요금
Origin Shield 고가용성
Origin Shield는 CloudFront의 리전 엣지 캐시 기능을 활용합니다. 이러한 각 엣지 캐시는 Auto-Scaling Amazon EC2 인스턴스의 플릿과 함께 최소 3개의 가용 영역
Origin Shield가 다른 CloudFront 기능과 상호 작용하는 방법
다음 섹션에서는 Origin Shield가 다른 CloudFront 기능과 상호 작용하는 방식에 대해 설명합니다.
Origin Shield 및 CloudFront 로깅
Origin Shield가 요청을 처리한 시기를 확인하려면 다음 중 하나를 활성화해야 합니다.
-
CloudFront 표준 로그(액세스 로그) 표준 로그는 무료로 제공됩니다.
-
CloudFront 실시간 로그 실시간 로그 사용에 대한 추가 요금이 발생합니다. Amazon CloudFront 요금
을 참조하십시오.
Origin Shield의 캐시 적중은 CloudFront 로그의 OriginShieldHit
필드로 x-edge-detailed-result-type
로 표시됩니다. Origin Shield는 Amazon CloudFront의 리전 엣지 캐시를 활용합니다. 요청이 CloudFront 엣지 로케이션에서 Origin Shield 역할을 하는 리전 엣지 캐시로 라우팅되는 경우, 로그에서 Hit
가 아닌 OriginShieldHit
로 보고됩니다.
Origin Shield 및 오리진 그룹
Origin Shield는 CloudFront 오리진 그룹과 호환됩니다. Origin Shield는 오리진의 속성이므로 오리진이 오리진 그룹의 일부인 경우에도 요청은 항상 각 오리진에 대해 Origin Shield를 통과합니다. 지정된 요청에 대해 CloudFront는 기본 오리진의 Origin Shield를 통해 오리진 그룹의 기본 오리진으로 요청을 라우팅합니다. 요청이 실패하면(오리진 그룹 장애 조치 기준에 따라) CloudFront는 보조 오리진의 Origin Shield를 통해 요청을 보조 오리진으로 라우팅합니다.
Origin Shield 및 Lambda@Edge
Origin Shield는 Lambda@Edge 함수의 기능에 영향을 미치지 않지만 해당 함수가 실행되는 AWS 리전에 영향을 줄 수 있습니다.
Lambda@Edge와 함께 Origin Shield를 사용하면 Origin Shield가 활성화된 AWS 리전에서 오리진 방향 트리거(오리진 요청 및 오리진 응답)가 실행됩니다. 기본 Origin Shield 위치를 사용할 수 없고 CloudFront가 요청을 보조 Origin Shield 위치로 라우팅하는 경우 Lambda@Edge 오리진 연결 트리거는 보조 Origin Shield 위치를 사용하도록 전환합니다.
최종 사용자 방향 트리거는 영향을 받지 않습니다.