Amazon CloudFront Origin Shield 사용 - Amazon CloudFront

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의 엣지 로케이션의 글로벌 네트워크 외에도 리전 엣지 캐시는 미드티어 캐싱 계층 역할을 하여 가까운 지리적 리전의 최종 사용자에 대한 캐시 적중을 제공하고 오리진 요청을 통합합니다. 최종 사용자 요청은 먼저 가까운 CloudFront 엣지 로케이션으로 라우팅되며 객체가 해당 위치에 캐싱되지 않으면 요청이 리전 엣지 캐시로 전송됩니다.

최종 사용자가 서로 다른 지리적 리전에 있는 경우 요청을 서로 다른 리전 엣지 캐시를 통해 라우팅할 수 있으며, 각 캐시에서는 동일한 콘텐츠에 대한 요청을 오리진에 보낼 수 있습니다. 하지만 Origin Shield를 사용하면 리전 엣지 캐시와 오리진 사이에 추가 캐싱 계층이 생깁니다. 모든 리전 엣지 캐시의 모든 요청은 Origin Shield를 통과하여 오리진의 부하를 더욱 줄입니다. 다음 다이어그램에서는 이 개념을 보여줍니다. 다음 다이어그램에서 오리진은 AWS Elemental MediaPackage입니다.

Origin Shield 미사용

Origin Shield를 사용하지 않으면 다음 다이어그램과 같이 오리진에서 동일한 콘텐츠에 대한 중복 요청을 수신할 수 있습니다.

CloudFront Origin Shield를 사용하지 않으면 오리진에서 중복 요청을 수신할 수 있습니다.

Origin Shield 사용

Origin Shield를 사용하면 다음 다이어그램과 같이 오리진의 부하를 줄일 수 있습니다.

CloudFront 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에 문의하거나 AWS 영업 담당자에게 연락하여 자세한 내용을 알아보세요. 추가 요금이 적용될 수 있습니다.

다음 다이어그램은 여러 CDN으로 인기 있는 라이브 동영상 이벤트를 제공할 때 이 구성을 통해 오리진의 부하를 최소화하는 방법을 보여줍니다. 다음 다이어그램에서 오리진은 AWS Elemental MediaPackage입니다.

Origin Shield 미사용(여러 CDN)

Origin Shield를 사용하지 않으면 다음 다이어그램과 같이 오리진에서 동일한 콘텐츠에 대해 각각 서로 다른 CDN에서 오는 여러 개의 중복 요청을 수신할 수 있습니다.

오리진이 각각 서로 다른 CDN에서 오는 중복 요청을 수신할 수 있는 방법을 보여 주는 그림.

Origin Shield 사용(여러 CDN)

Origin Shield를 사용하고 다른 CDN의 오리진으로 CloudFront를 함께 사용하면 다음 다이어그램과 같이 오리진의 부하를 줄일 수 있습니다.

CloudFront Origin Shield에 수신되는 중복 요청 수가 더 적은 것을 보여 주는 그림.

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 활성화

미국 서부(캘리포니아 북부) – us-west-1

미국 서부(오레곤) – us-west-2

아프리카(케이프타운) – af-south-1

유럽(아일랜드) – eu-west-1

아시아 태평양(홍콩) – ap-east-1

아시아 태평양(싱가포르) – ap-southeast-1

캐나다(중부) – ca-central-1

미국 동부(버지니아 북부) – us-east-1

유럽(밀라노) – eu-south-1

유럽(프랑크푸르트) – eu-central-1

유럽(파리) – eu-west-3

유럽(런던) – eu-west-2

유럽(스톡홀름) – eu-north-1

유럽(런던) – eu-west-2

중동(바레인) – me-south-1

아시아 태평양(뭄바이) – ap-south-1

외부에 있는 오리진의 경우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를 활성화할 수 있습니다.

Console
기존 오리진에 대해 Origin Shield를 활성화하려면(콘솔)
  1. AWS Management Console에 로그인한 다음 https://console.aws.amazon.com/cloudfront/v4/home에서 CloudFront 콘솔을 엽니다.

  2. 업데이트할 오리진이 있는 배포를 선택합니다.

  3. Origins and Origin Groups(오리진 및 오리진 그룹) 탭을 선택합니다.

  4. 업데이트할 오리진을 선택한 다음 편집을 선택합니다.

  5. Origin Shield 활성화에 대해 를 선택합니다.

  6. Origin Shield 리전의 경우 Origin Shield를 활성화하려는 AWS 리전을 선택합니다. 리전 선택에 대한 도움말은 Origin Shield에 대한 AWS 리전 선택 단원을 참조하십시오.

  7. 페이지 하단에서 Yes, Edit(예, 편집합니다)를 선택합니다.

배포 상태가 배포됨이면 Origin Shield가 준비됩니다. 이 작업에는 몇 분이 걸립니다.

새 오리진에 대해 Origin Shield를 활성화하려면(콘솔)
  1. AWS Management Console에 로그인한 다음 https://console.aws.amazon.com/cloudfront/v4/home에서 CloudFront 콘솔을 엽니다.

  2. 기존 배포에서 새 오리진을 생성하려면 다음을 수행합니다.

    1. 오리진을 생성할 배포를 선택합니다.

    2. 오리진 생성을 선택한 다음 3단계로 이동합니다.

    새 배포에서 새 오리진을 생성하려면 다음을 수행합니다.

    1. [Create Distribution]을 선택합니다.

    2. 섹션에서 시작하기를 선택합니다. 오리진 설정 섹션에서 3단계부터 시작하여 다음 단계를 완료합니다.

  3. Origin Shield 활성화에 대해 를 선택합니다.

  4. Origin Shield 리전의 경우 Origin Shield를 활성화하려는 AWS 리전을 선택합니다. 리전 선택에 대한 도움말은 Origin Shield에 대한 AWS 리전 선택 단원을 참조하십시오.

    새 배포를 생성하는 경우 페이지의 다른 설정을 사용하여 배포를 계속 구성합니다. 자세한 내용은 배포 설정 참조 단원을 참조하세요.

  5. 생성(기존 배포의 새 오리진의 경우) 또는 배포 생성(새 배포의 새 오리진의 경우)을 선택하여 변경 사항을 저장해야 합니다.

배포 상태가 배포됨이면 Origin Shield가 준비됩니다. 이 작업에는 몇 분이 걸립니다.

AWS CloudFormation

AWS CloudFormation에서 Origin Shield를 활성화하려면 OriginShield 리소스의 Origin 속성 유형에서 AWS::CloudFront::Distribution 속성을 사용합니다. OriginShield 속성을 기존 Origin에 추가하거나 새 Origin을 생성할 때 포함할 수 있습니다.

다음 예제에서는 미국 서부(오레곤) 리전(OriginShield)에서 us-west-2를 활성화하는 구문을 YAML 형식으로 보여줍니다. 리전 선택에 대한 도움말은 Origin Shield에 대한 AWS 리전 선택 단원을 참조하십시오. 이 예제에서는 전체 Origin 리소스가 아니라 AWS::CloudFront::Distribution 속성 유형만 보여줍니다.

Origins: - DomainName: 3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com Id: Example-EMP-3ae97e9482b0d011 OriginShield: Enabled: true OriginShieldRegion: us-west-2 CustomOriginConfig: OriginProtocolPolicy: match-viewer OriginSSLProtocols: TLSv1

자세한 내용은 AWS CloudFormation 사용 설명서의 리소스 및 속성 참조 섹션에서 AWS::CloudFront::Distribution Origin을 참조하세요.

API

AWS SDK 또는 AWS Command Line Interface(AWS CLI)를 사용하여 CloudFront API에서 Origin Shield를 활성화하려면 OriginShield 유형을 사용합니다. OriginShieldOrigin에서 DistributionConfig를 지정합니다. OriginShield 유형에 대한 자세한 내용은 Amazon CloudFront API 참조에서 다음 정보를 참조하십시오.

이러한 유형 및 작업을 사용하기 위한 특정 구문은 SDK, CLI 또는 API 클라이언트에 따라 다릅니다. 자세한 내용은 SDK, CLI 또는 클라이언트에 대한 참조 설명서를 참조하십시오.

Origin Shield 비용 추정

증분 계층인 Origin Shield로 이동하는 요청 수를 기준으로 Origin Shield에 대한 요금이 발생합니다.

오리진으로 프록시되는 동적(캐시할 수 없음) 요청의 경우 Origin Shield는 항상 증분 계층입니다. 동적 요청에는 PUT, POST, PATCH, DELETE와 같은 HTTP 메서드가 사용됩니다.

GETHEAD는 TTL 설정이 3600초 미만인 요청은 동적 요청으로 간주됩니다. 또한, GETHEAD는 캐싱을 비활성화한 요청도 동적 요청으로 간주됩니다.

동적 요청에 대한 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개의 가용 영역을 사용하여 AWS 리전에서 빌드됩니다. 또한 CloudFront 위치와 Origin Shield 간의 연결에서는 각 요청에 활성 오류 추적 기능을 사용해 주 Origin Shield 위치를 사용할 수 없으면 요청을 보조 Origin Shield 위치로 자동 라우팅합니다.

Origin Shield가 다른 CloudFront 기능과 상호 작용하는 방법

다음 섹션에서는 Origin Shield가 다른 CloudFront 기능과 상호 작용하는 방식에 대해 설명합니다.

Origin Shield 및 CloudFront 로깅

Origin Shield가 요청을 처리한 시기를 확인하려면 다음 중 하나를 활성화해야 합니다.

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 위치를 사용하도록 전환합니다.

최종 사용자 방향 트리거는 영향을 받지 않습니다.