

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# CDN을 사용하여 MediaTailor 광고 개인화 및 콘텐츠 전송 최적화
<a name="integrating-cdn"></a>

AWS Elemental MediaTailor 는 독립 실행형 서비스로 효과적으로 작동하지만 Amazon CloudFront 또는 기타 타사 CDN과 같은 콘텐츠 전송 네트워크(CDNs)와 통합하면 스트리밍 워크플로를 크게 개선할 수 있습니다. CDN 통합은 지리적으로 분산된 대규모 대상에게 콘텐츠를 제공해야 하거나 다양한 AWS 리전에서 일관된 광고 전송을 보장하려는 경우에 특히 유용합니다.

CDN이 없으면 뷰어는 맞춤형 매니페스트 및 광고 세그먼트를 위해 MediaTailor에 직접 연결되므로 특히 MediaTailor 구성이 배포된 AWS 리전에서 멀리 떨어진 뷰어의 경우 지연 시간이 늘어날 수 있습니다. 또한 트래픽이 많은 이벤트 중에 MediaTailor에 직접 연결하면 로드가 증가하여 성능에 영향을 미칠 수 있습니다.

MediaTailor 개념 및 워크플로에 대한 자세한 내용은 섹션을 참조하세요[AWS Elemental MediaTailor란 무엇인가요?](what-is.md).

CDN을 MediaTailor와 통합할 때는 웹 기반 플레이어에서 재생 실패를 일으킬 수 있는 문제를 방지하기 위해 적절한 CORS(교차 오리진 리소스 공유) 처리를 구성하는 것이 중요합니다. 적절한 CORS 구성은 광고 세그먼트와 콘텐츠 세그먼트 모두에 필수적입니다. 광고 세그먼트는 CORS 문제에 더 취약하지만 모든 세그먼트 유형에 일관된 CORS 처리를 적용하면 가장 안정적인 재생 환경을 보장할 수 있습니다. 적절한 CORS 처리로 CDN 라우팅 동작을 구성하는 방법에 대한 자세한 지침은 섹션을 참조하세요[MediaTailor에 대한 프로덕션 지원 CloudFront 구성](cf-comprehensive-configuration.md).

CDN 통합을 통해 고급 파라미터 전달 및 동적 라우팅 기능도 사용할 수 있습니다. 권한 부여 및 라우팅을 위해 CDNs[MediaTailor 매니페스트 쿼리 파라미터](manifest-query-parameters.md). 구성 별칭을 사용한 동적 광고 서버 및 오리진 라우팅은 섹션을 참조하세요[ADS 요청에 대한 MediaTailor 동적 광고 변수](variables.md).

최종 사용자와 MediaTailor 사이에 CDN을 배치하면 다음과 같은 이점이 있습니다.
+ 엣지 로케이션의 콘텐츠를 최종 사용자에게 더 가깝게 제공하여 지연 시간 단축
+ CDN의 글로벌 인프라에 로드를 분산하여 확장성 향상
+ 중복 전송 경로를 통해 안정성 향상
+ 오리진 트래픽을 줄여 비용 최적화
+ 스트리밍 품질 향상을 위해 Media Quality-Aware Routing(MQAR)과 같은 고급 기능 구현

**Topics**
+ [CDN 선택](cdn-selection-guidance.md)
+ [CDN 통합 계획](planning-cdn-integration.md)
+ [CDN 통합 설정](cdn-configuration.md)
+ [CDN을 사용한 광고 삽입](ssai-cdn-workflow.md)
+ [CDN을 사용한 채널 어셈블리](ca-cdn-wflw.md)
+ [MediaPackage CDN 통합](mediapackage-integration.md)
+ [CloudFront 통합](cloudfront-specific-recommendations.md)
+ [타사 CDN 설정](cdn-provider-specific.md)
+ [CDN 성능 최적화](cdn-optimization.md)
+ [CDN 모니터링](cdn-monitoring.md)
+ [CDN 통합 테스트](cdn-integration-testing.md)
+ [CDN 통합 문제 해결](cdn-troubleshooting.md)
+ [CDN 통합 로그 분석 참조](cdn-log-error-reference.md)
+ [CloudFormation 자동화](automating-cdn-integration.md)
+ [프로덕션 CloudFront 구성](cf-comprehensive-configuration.md)
+ [CDN 통합 지원 받기](cdn-get-help.md)

# 필요에 적합한 CDN 선택
<a name="cdn-selection-guidance"></a>

올바른 콘텐츠 전송 네트워크(CDN) 공급자를 선택하는 것은의 콘텐츠 전송 성능, 비용 및 최종 사용자 경험에 영향을 미칠 수 있는 중요한 결정입니다 AWS Elemental MediaTailor. MediaTailor 구현을 위한 CDN을 선택할 때 다음 요소를 고려하세요.

**지리적 적용 범위**  
대상이 위치한 리전에 강력한 입지를 갖춘 CDN을 선택합니다. CDN 공급자마다 지리적 리전마다 강점이 다릅니다.

** AWS 서비스와의 통합**  
Amazon CloudFront는 MediaTailor 및 기타 AWS 서비스와 가장 긴밀하게 통합되어 설정 및 관리를 간소화할 수 있습니다. 타사 CDNs 특수 비디오 전송 기능 또는 특정 리전에서의 강력한 존재와 같은 다른 이점을 제공할 수 있습니다.

**비디오별 기능**  
적응형 비트 전송률 최적화, 비디오 압축, 최종 사용자 경험에 초점을 맞춘 분석과 같이 비디오 전송을 위해 특별히 설계된 기능을 제공하는 CDNs을 찾습니다.

**비용 구조**  
트래픽 볼륨, 지리적 분포 및 기능 요구 사항과 같은 요소를 고려하여 공급자 간에 요금 모델을 비교합니다. 일부 CDNs 사용량 패턴과 일치할 수 있는 대량 할인 또는 약정된 사용 할인을 제공합니다.

**고급 기능 지원**  
선택한 CDN이 토큰 인증, 지리적 제한, 요청 축소, 적절한 헤더 전달과 같은 필요한 기능을 지원하는지 확인합니다.

특정 CDN 공급자 및 MediaTailor와의 통합에 대한 자세한 내용은 다음 리소스를 참조하세요.
+ [CloudFront 통합](cloudfront-specific-recommendations.md) Amazon CloudFront용
+ [타사 CDN 설정](cdn-provider-specific.md) 타사 CDN 공급자용

다음 주제에서는 최적의 성능을 위해 MediaTailor를 CDN으로 구성하는 방법에 대한 포괄적인 지침을 제공합니다.

# 에 대한 CDN 통합 계획 AWS Elemental MediaTailor
<a name="planning-cdn-integration"></a>

용 CDN 통합을 통해 최종 사용자 환경을 개선하고 지연 시간을 줄일 수 있습니다 AWS Elemental MediaTailor. 콘텐츠 전송 네트워크(CDN)를 구현하면 최종 사용자에게 더 가까운 위치에서 콘텐츠를 제공할 수 있습니다. 이렇게 하면 여러 지리적 리전에서 로드 시간 단축, 확장성 향상, 일관된 광고 전송이 보장됩니다.

를 사용하여 CDN을 구현하기 전에 적절한 계획이 필요합니다 AWS Elemental MediaTailor. 이 섹션에서는 주요 계획 영역을 안내합니다. 실제 구성을 시작하기 전에 이러한 영역을 해결합니다. 이 단계는 대상을 위한 최적의 시청 환경을 만드는 데 도움이 됩니다.

계획을 완료한 후 step-by-step 구현 지침은 [ MediaTailor와 CDN 통합](https://docs.aws.amazon.com/mediatailor/latest/ug/cdn-integration.html)을 참조하세요.

CDN 계획에 영향을 미칠 수 있는 MediaTailor 할당량에 대한 자세한 내용은 섹션을 참조하세요[의 할당량 AWS Elemental MediaTailor](quotas.md). CloudFront 할당량에 대한 자세한 내용은 CloudFront 개발자 안내서의 [할당량을](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 참조하세요.

계획을 시작하기 전에 MediaTailor가 CDN과 상호 작용하는 방법을 이해합니다.

1. 최종 사용자는 MediaTailor에서 직접 요청하는 대신 CDN을 통해 콘텐츠를 요청합니다.

1. CDN은 개인화를 위해 매니페스트 요청을 MediaTailor에 전달합니다.

1. CDN은 엣지 로케이션에서 콘텐츠 세그먼트와 광고 세그먼트를 캐싱하고 제공합니다.

이 아키텍처는 MediaTailor에 대한 로드를 줄이는 동시에 최종 사용자가 지연 시간을 최소화하면서 개인화된 광고를 수신할 수 있도록 합니다.

매니페스트 용어를 이해하면 CDN을 올바르게 구성하는 데 도움이 됩니다. 다양한 스트리밍 프로토콜은 캐싱 및 라우팅 설정 방식에 영향을 미치는 특정 매니페스트 구조를 사용합니다.
+ *HLS 매니페스트* - HLS 스트림으로 작업할 때 다음을 처리합니다.
  + *다변량 재생 목록*: 개인화를 위해 이러한 최상위 매니페스트를 MediaTailor로 라우팅하도록 CDN을 구성합니다.
  + *미디어 재생 목록*: 콘텐츠 세그먼트에 대한 링크가 포함된 이러한 매니페스트에 대해 적절한 캐싱 규칙을 설정합니다.
+ *DASH 매니페스트* - DASH 스트림으로 작업할 때 다음을 처리합니다.
  + *MPD(미디어 프레젠테이션 설명)*: 개인화 요구 사항에 따라 이러한 매니페스트를 처리하도록 CDN을 구성합니다.

CDN 계획 프로세스에는 다음과 같은 주요 단계가 포함되며, 각 단계는 특정 작업에 중점을 둡니다.
+ [CDN 및 MediaTailor 통합에 대한 트래픽 요구 사항 추정](estimate-traffic.md): 예상 최종 사용자 동시성과 대역폭 요구 사항을 계산합니다.
+ [CDN 및 MediaTailor 통합을 위한 최적화 전략 구성](optimize-cdn-config.md): 최적의 콘텐츠 전송 및 광고 개인화를 위해 CDN을 구성합니다.
+ [CDN 및 MediaTailor 통합 계획 사용자 지정](plan-for-workflow.md): 특정 MediaTailor 워크플로를 기반으로 CDN 전략을 조정합니다.
+ [CDN 및 MediaTailor 통합에 대한 모니터링 및 조정 설정](setup-monitoring.md): 안정적인 성능을 위한 모니터링 및 조정 전략을 구현합니다.
+ [CDN 및 MediaTailor 통합 비용 최적화](optimize-costs.md): 성능과 비용 효율성의 균형을 맞춥니다.
+ [CDN 및 MediaTailor 통합에 대한 구현 테스트](test-implementation.md): 프로덕션 배포 전에 CDN 통합을 철저히 테스트합니다.

# CDN 및 MediaTailor 통합에 대한 트래픽 요구 사항 추정
<a name="estimate-traffic"></a>

와 콘텐츠 전송 네트워크(CDN) 통합의 크기를 정확하게 조정하려면 AWS Elemental MediaTailor:

1. 기록 데이터 또는 유사한 이벤트를 사용하여 예상 최종 사용자 동시성을 계산합니다. 예상치 못한 스파이크를 처리하기 위해 기준 이상의 추가 용량을 계획합니다. 현재 조정 권장 사항은 AWS 계정 팀에 문의하세요. 그 밖에 [의 할당량 AWS Elemental MediaTailor](quotas.md)을 확인할 수도 있습니다.

1. 콘텐츠 일정에서 피크 트래픽 패턴과 잠재적 스파이크를 식별합니다. 다음과 같은 요소를 고려하세요.
   + 라이브 스포츠 이벤트 또는 시즌 특별 이벤트
   + 마케팅 캠페인 또는 프로모션 이벤트
   + 전 세계 시청자의 시간대 차이
   + 공휴일 또는 계절 보기 패턴

1. 최종 사용자 수에 스트림 비트레이트를 곱하여 대역폭 요구 사항을 결정합니다. CDN 공급자와 협력하여 적절한 용량을 계산합니다. 이 계산은 특정 콘텐츠 비트레이트와 예상 대상 크기를 기준으로 합니다. 공급자가 권장하는 대로 광고 세그먼트 및 매니페스트 요청에 대한 오버헤드를 추가합니다.

1. CDN 공급자와 협력하여 대상 리전에 충분한 엣지 용량을 확보합니다.

다음과 같은 특정 작업을 수행하여 광고 삽입 용량이 최종 사용자 수요를 충족하는지 확인합니다.

1. [Service Quotas 콘솔](https://console.aws.amazon.com/servicequotas/home/services/mediatailor/quotas)에서 현재 광고 삽입 요청 할당량을 확인합니다. 현재 서비스 제한을 검토하여 구성에서 지원할 수 있는 동시 뷰어 수를 파악합니다.

1. 트래픽이 많은 이벤트의 경우 [Service Quotas 콘솔](https://console.aws.amazon.com/servicequotas/home/services/mediatailor/quotas)을 통해 증가된 할당량을 요청합니다.

1. 동시 시청자가 500,000명 이상이 될 것으로 예상되는 경우 이벤트 최소 2주 전에 [AWS Support](https://aws.amazon.com/premiumsupport/)에 문의하세요. 이를 통해 AWS 는 광고 개인화 요구 사항에 충분한 용량을 확보할 수 있습니다.

워크플로에서 용량 계획을 구현하는 방법에 대한 자세한 내용은 [미리 가져오기 일정 관리를 사용하여](https://docs.aws.amazon.com/mediatailor/latest/ug/prefetch.html) 트래픽이 많은 이벤트에 대한 광고 전송 최적화를 참조하세요.

# CDN 및 MediaTailor 통합을 위한 최적화 전략 구성
<a name="optimize-cdn-config"></a>

트래픽 추정을 완료하면 콘텐츠 전송 네트워크(CDN)를 구성하여 콘텐츠 전송 및 광고 개인화를 최적화합니다 AWS Elemental MediaTailor. 이러한 최적화는 대상 광고를 유지하면서 원활한 재생을 보장하는 데 도움이 됩니다.

다음과 같은 특정 CDN 최적화를 구현합니다.

1. CDN에서 오리진 실드 기능을 구성하여 MediaTailor의 부하를 줄이고 캐싱 효율성을 개선합니다. 오리진 실드는 다음과 같은 중간 캐싱 계층 역할을 합니다.
   + 여러 최종 사용자 요청을 단일 오리진 요청으로 통합
   + MediaTailor에 대한 중복 요청 수 감소
   + 캐시된 콘텐츠의 응답 시간 개선

   CloudFront를 사용하여 오리진 실드를 설정하는 방법에 대한 구현 세부 정보는 CloudFront 개발자 안내서의 [Origin Shield 사용을](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html) 참조하세요.

1. 다양한 콘텐츠 유형에 적절한 TTL(Time To Live) 값을 설정합니다. TTL은 CDN이 콘텐츠를 캐싱하는 기간을 결정합니다. 이 시간이 지나면 CDN은 오리진에서 새 사본을 요청합니다.
   + 매니페스트: 
     + 광고 삽입의 경우 0초
     + 채널 어셈블리의 경우 5\$110초

     광고 삽입에서 MediaTailor는 최종 사용자에게 개인화된 광고를 매니페스트에 제공합니다. 재생 목록 또는 MPD가 캐시되어 잘못된 재생 디바이스에 제공되는 경우 디바이스에 재생 또는 추적 문제가 발생할 수 있습니다.
   + 콘텐츠 세그먼트: 24시간 이상(이는 거의 변경되지 않으며 오리진 로드를 줄이기 위해 적극적으로 캐싱할 수 있음)
   + 광고 세그먼트: 24시간 이상(광고 콘텐츠는 일반적으로 최종 사용자 간에 재사용되며 장기간 캐시할 수 있음)

   모든 MediaTailor 워크플로에 대한 포괄적인 TTL 권장 사항 및 캐싱 최적화 전략은 섹션을 참조하세요[CDN 및 MediaTailor 통합을 위한 캐싱 최적화](cdn-optimize-caching.md).

   CloudFront에서 캐시 동작을 구성하는 방법에 대한 자세한 지침은 CloudFront 개발자 안내서의 [캐시 동작 설정을](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesCacheBehavior) 참조하세요.

1. 최종 사용자 모집단 근처에 CDN 엣지 노드를 배포합니다. CDN 공급자와 협력하여 다음을 수행합니다.
   + 최종 사용자 인구 통계를 기반으로 최적의 엣지 노드 위치 식별
   + 각 리전에서 충분한 용량 보장
   + 엣지 성능을 모니터링하고 필요에 따라 조정

   구현 지침은 [CloudFront 엣지 로케이션](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/LocationsOfEdgeServers.html)을 참조하여 대상 리전에서 사용 가능한 엣지 로케이션을 식별하세요.

1. 글로벌 대상의 경우 다중 CDN 전략을 구현하는 것이 좋습니다. 이 접근 방식은 다음과 같습니다.
   + 여러 CDN 공급자를 사용하여 신뢰성 향상
   + 최종 사용자를 해당 위치에 가장 적합한 CDN으로 라우팅합니다.
   + CDN 중단 시 장애 조치 옵션 제공
   + 다양한 요금 모델을 활용하여 비용을 최적화할 수 있습니다.

   구현 세부 정보는 AWS 네트워킹 및 콘텐츠 전송 블로그의 [다중 CDN 전략을](https://aws.amazon.com/blogs/networking-and-content-delivery/multi-cdn-strategies/) 참조하세요.

# CDN 및 MediaTailor 통합 계획 사용자 지정
<a name="plan-for-workflow"></a>

 AWS Elemental MediaTailor 워크플로마다 콘텐츠 전송 네트워크(CDN) 계획에 영향을 미치는 고유한 요구 사항이 있습니다. 워크플로별 지침은 [구성 작업을](https://docs.aws.amazon.com/mediatailor/latest/ug/configurations.html) 참조하세요.

특정 MediaTailor 워크플로에 따라 용량 계획을 조정합니다.

## MediaTailor 광고 삽입 워크플로의 경우
<a name="plan-ad-insertion"></a>

1. 캐싱 없이 개인화된 매니페스트를 처리하도록 CDN을 구성합니다. 이렇게 하면 각 시청자가 고유한 대상 광고를 수신할 수 있습니다. 광고는 프로필과 보기 컨텍스트를 기반으로 합니다.

1. 광고 결정 서버(ADS)의 크기를 조정하여 최대 요청 볼륨을 처리합니다. ADS 구성에 대한 지침은 [ MediaTailor를 사용한 광고 삽입](https://docs.aws.amazon.com/mediatailor/latest/ug/ad-insertion.html)을 참조하세요. 다음을 고려하세요.
   + 사용 사례에 대한 응답 시간 요구 사항
   + 예상 동시 뷰어 용량
   + 중복 및 장애 조치 요구 사항
   + 지리적 배포 요구 사항

1. CDN 수준에서 요청 축소를 구현하여 동기화된 광고 중단 요청을 처리합니다. 요청 축소는 여러 개의 동일한 요청을 단일 오리진 요청으로 결합합니다. 이는 다음과 같은 경우에 매우 중요합니다.
   + 많은 시청자가 동시에 광고 시간에 도달하는 라이브 스포츠 이벤트
   + 동기화된 상업적 휴식이 포함된 인기 TV 프로그램 프리미엄
   + 갑작스러운 시청자 급증을 유발하는 뉴스 이벤트

   구현 세부 정보는 오[리진 장애 조치를](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/high_availability_origin_failover.html) 참조하여 피크 로드 중 요청 처리를 구성합니다.

## MediaTailor 채널 어셈블리 워크플로의 경우
<a name="plan-channel-assembly"></a>

1. 채널 수와 비트레이트를 기준으로 용량 요구 사항을 계산합니다. 채널 어셈블리 용량 계획에 대한 지침은 [ MediaTailor의 채널 어셈블리를](https://docs.aws.amazon.com/mediatailor/latest/ug/channel-assembly.html) 참조하세요. 다음을 고려하세요.
   + 총 채널 수
   + 채널당 비트 전송률 요구 사항
   + 예상 동시 최종 사용자 로드
   + 지리적 배포 요구 사항

1. 게시된 일정에 따라 예측 가능한 트래픽 패턴을 처리하도록 CDN을 구성합니다. 채널 어셈블리는 일반적으로 광고 삽입보다 예측 가능한 패턴을 갖습니다. 그 이유는 다음과 같습니다.
   + 프로그래밍 일정을 미리 알고 있음
   + 뷰어 동작이 설정된 패턴을 따릅니다.
   + 최종 사용자별로 콘텐츠가 동적으로 변경되지 않음

1. 오리진에 일관된 채널 출력을 유지하기에 충분한 대역폭이 있는지 확인합니다. 구현:
   + 고가용성 채널을 위한 중복 오리진 서버
   + 기본 오리진과 백업 오리진 간의 자동 장애 조치
   + 오리진 성능 문제를 감지하기 위한 모니터링

   구현 지침은 복원력이 뛰어난 [오리진 인프라를 생성하기 위한 오리진 중복 설정을](https://docs.aws.amazon.com/mediapackage/latest/ug/cloudfront-origin-failover.html) 참조하세요.

## 결합된 MediaTailor 워크플로의 경우
<a name="plan-combined-workflow"></a>

1. 인프라 크기를 조정하여 두 서비스의 결합된 트래픽 패턴을 처리합니다. 결합된 워크플로에 대한 지침은 섹션을 참조하세요[AWS Elemental MediaTailor 를 사용하여 광고 삽입](configurations.md). 다음을 고려하세요.
   + 채널 어셈블리 기준 요구 사항
   + 광고 삽입 오버헤드 요구 사항
   + 피크 트래픽 패턴
   + 중복 요구 사항

1. 선형 콘텐츠 전송 및 동적 광고 삽입을 위해 별도의 CDN 동작을 구성합니다. 이 분리를 통해 다음을 수행할 수 있습니다.
   + 각 콘텐츠 유형에 대한 캐싱 정책을 독립적으로 최적화
   + 콘텐츠 유형에 따라 요청을 적절한 오리진으로 라우팅
   + 각 워크플로에 대해 별도로 성능 지표 모니터링

1. 최적의 성능을 유지하기 위해 엣지 CDN과 오CDNs 간에 적절한 라우팅을 설정합니다. 다음을 사용하는 것이 좋습니다.
   + 콘텐츠 세그먼트(/content/\$1)와 광고 세그먼트(/ads/\$1)의 서로 다른 오리진 경로
   + 매니페스트와 세그먼트에 대한 별도의 캐시 동작
   + 여러 리전의 지연 시간을 최적화하기 위한 지리적 라우팅

   구현 세부 정보는 경로 기반 라우팅 및 캐싱 규칙을 설정하도록 [캐시 동작 구성을](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesCacheBehavior) 참조하세요.

# CDN 및 MediaTailor 통합에 대한 모니터링 및 조정 설정
<a name="setup-monitoring"></a>

 AWS Elemental MediaTailor 콘텐츠 전송 네트워크(CDN) 통합을 통해 최적의 성능과 최종 사용자 경험을 유지하려면 효과적인 모니터링 및 규모 조정 전략이 중요합니다. 이러한 접근 방식을 구현하여 CDN 통합이 대규모로 안정적으로 수행되도록 합니다.

다음과 같은 모니터링 및 조정 전략을 구현합니다.

1. 이러한 주요 지표에 대한 모니터링을 구성합니다. 적절한 대상 값에 대한 지침은 [ Amazon CloudWatch를 사용하여 MediaTailor 모니터링을](https://docs.aws.amazon.com/mediatailor/latest/ug/monitoring-cloudwatch-metrics.html) 참조하고 CDN 공급자의 모범 사례를 참조하세요.
   + CDN 캐시 적중률(콘텐츠 유형 및 전송 패턴을 기반으로 기준 지표 및 대상 설정)
   + 오리진 요청 볼륨(정상 작업 중 패턴을 모니터링하여 이상 탐지 기준을 설정)
   + 오류 유형별 오류 발생률(서비스 수준 목표 및 MediaTailor 모범 사례를 기반으로 임계값 정의)
   + 응답 시간(최종 사용자 경험 요구 사항 및 지리적 분포에 따라 적절한 지연 시간 대상 설정)

   자세한 구현 지침은 MediaTailor 및 CDN 지표를 함께 시각화하는 [ CloudWatch 대시보드 생성을](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) 참조하세요.

1. 예상치 못한 트래픽 패턴 또는 성능 저하에 대한 알림을 설정합니다. 기준 지표 및 서비스 수준 목표에 따라 임계값을 구성합니다. 알림 설정에 대한 지침은 [ Amazon CloudWatch 경보 생성을](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) 참조하세요. 모니터링을 고려하세요.
   + 기준 캐시 적중률과의 상당한 편차(일반적으로 85\$190% 미만일 때 알림)
   + 오리진 요청 볼륨의 갑작스러운 증가(기준 대비 30% 이상 증가 시 경고)
   + 정의된 임계값을 초과하는 오류 발생률 급증(일반적으로 4xx 오류의 경우 1\$12%, 5xx 오류의 경우 0.5%)
   + 허용 수준을 초과하는 응답 시간 저하(일반적으로 매니페스트의 경우 >500ms, 세그먼트의 경우 >200ms)

   구현 예제는 효과적인 모니터링 대시보드 및 알림 생성을 위한 [CloudWatch 개념](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html)을 참조하세요.

1. 예측 가능한 트래픽이 많은 이벤트에 대한 조정 계획을 생성합니다. 계획에는 다음과 같은 주요 요소가 포함되어야 합니다.
   + 이벤트 전 용량 증가(이벤트 시작 24\$148시간 전)
   + 점진적 최종 사용자 증가 일정(일반적으로 5분 간격당 예상 대상의 10\$120%)
   + 대상에 따른 리전 용량 분포(예상 리전 시청자에 비례하여 용량 할당)
   + 이벤트 후 조정 절차(이벤트 종료 후 30\$160분 동안 최대 용량 유지)

   트래픽이 많은 이벤트의 규모 조정에 대한 구현 지침은 AWS 미디어 블로그의 [복원력이 뛰어난 end-to-end 라이브 워크플로 설정을](https://aws.amazon.com/blogs/media/part-1-how-to-set-up-a-resilient-end-to-end-live-workflow/) 참조하세요.

1. 다음을 포함하여 중요한 스트림에 대한 장애 조치 및 중복 조치를 구현합니다.
   + 다중 리전 CDN 배포(중요 콘텐츠의 경우 최소 2개의 리전)
   + 백업 오리진 서버(30초마다 자동 상태 확인으로 구성됨)
   + 상태 확인을 기반으로 하는 자동 장애 조치 트리거(일반적으로 2\$13회의 실패한 검사 후)
   + 다양한 장애 시나리오에 대한 복구 절차(특정 응답 시간 대상으로 문서화됨)

   자세한 구현 단계는 [ CloudFront 오리진 장애 조치를 통한 고가용성 최적화](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/high_availability_origin_failover.html)를 참조하세요.

# CDN 및 MediaTailor 통합 비용 최적화
<a name="optimize-costs"></a>

콘텐츠 전송 네트워크(CDN) 비용은 트래픽 패턴, 지리적 배포 및의 기능 사용량에 따라 크게 달라질 수 있습니다 AWS Elemental MediaTailor. 현재 요금 정보는 [CloudFront 요금을](https://aws.amazon.com/cloudfront/pricing/) 참조하세요. CDN 공급자의 설명서를 참조할 수도 있습니다.

다음 전략을 사용하여 성능과 비용 효율성의 균형을 맞춥니다.

1. CDN 트래픽 패턴을 분석하여 가장 비용 효율적인 요금 티어를 선택합니다. CDN 공급자와 함께 다음 요소를 검토합니다.
   + 리전 및 기간별 데이터 전송 볼륨
   + 매니페스트 및 세그먼트에 대한 요청 패턴
   + 지리적 배포 요구 사항
   + 피크 및 평균 사용 패턴

   비용 분석에 도움이 필요하면 [AWS 요금 계산기](https://calculator.aws/#/)를 사용하여 특정 사용 패턴을 기반으로 CloudFront 비용을 추정합니다.

1. 예측 가능한 워크로드의 경우 CDN 공급자와의 예약 용량 계약을 평가합니다. 이러한 계약은 다음과 같은 이점을 제공할 수 있습니다.
   + 약정 사용량에 대한 할인 요금
   + 예산 책정을 위한 예측 가능한 월별 비용
   + 우선 순위 지원 및 용량 할당

   CDN 공급자에게 문의하여 예약 용량이 사용 패턴에 적합한지 확인하세요. CloudFront의 경우 [CloudFront 프리미엄 기능을](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-premium-features.html) 참조하세요. 예약 용량 옵션에 대한 정보를 제공합니다.

1. MediaTailor와 CDN 공급자 간의 트래픽을 밸런싱하여 송신 비용을 최적화합니다. 전략에는 다음이 포함됩니다.
   + 캐시 적중률을 극대화하여 오리진 요청 감소
   + 오리진 실드를 사용하여 요청 통합
   + 데이터 전송 볼륨을 줄이기 위한 압축 구현
   + 리전 요금에 맞는 CDN AWS 리전 선택

   압축에 대한 구현 지침은 CloudFront 개발자 안내서의 [압축 파일 제공을 참조하세요](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html).

1. 다양한 콘텐츠 유형에 적합한 캐싱 전략을 구현하여 오리진 요청을 줄입니다. 캐시 최적화에 대한 지침은 [캐시 적중률 개선을](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cache-hit-ratio.html) 참조하세요. 중점 사항:
   + 콘텐츠 세그먼트(장기 캐시 가능)
   + 광고 세그먼트(일반적으로 최종 사용자 간에 재사용됨)
   + 플레이어 파일 및 이미지와 같은 정적 자산

   캐시 적중률이 개선되면 오리진 비용이 크게 절감됩니다. CDN 공급자와 협력하여 특정 콘텐츠 패턴에 맞게 캐시 구성을 최적화합니다. 자세한 구현 단계는 [캐시 동작 구성을](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ConfiguringCaching.html) 참조하세요.

# CDN 및 MediaTailor 통합에 대한 구현 테스트
<a name="test-implementation"></a>

프로덕션 배포 전에 AWS Elemental MediaTailor 콘텐츠 전송 네트워크(CDN) 통합을 철저히 테스트하여 신뢰할 수 있는 최종 사용자 경험을 보장합니다. 적절한 테스트는 대상에 영향을 미치기 전에 문제를 식별하고 해결하는 데 도움이 됩니다. 테스트 방법에 대한 지침은 [ CloudFront 배포 테스트를 참조하세요](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-testing.html). CDN 공급자의 테스트 설명서를 참조할 수도 있습니다.

CDN 통합을 검증하는 다음 테스트 단계를 따르세요.

1. 프로덕션 구성을 미러링하는 테스트 환경을 생성합니다. 포함:
   + 동일한 CDN 설정 및 캐시 동작
   + 다양한 비트 전송률 및 형식의 대표 콘텐츠 포함
   + 샘플 광고 응답으로 테스트 광고 결정 서버 구성
   + 모니터링 및 알림 구성 설정

   step-by-step 구현 지침은 CloudFront 개발자 안내서의 [스테이징 배포 생성을](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-creating-testing.html) 참조하세요.

1. 로드 테스트를 수행하여 용량 추정치를 확인합니다. 로드 테스트에 대한 지침은 [ MediaPackage 모니터링을](https://docs.aws.amazon.com/mediapackage/latest/ug/monitoring-service.html) 참조하세요. 테스트 시나리오에는 다음이 포함되어야 합니다.
   + 점진적 최종 사용자 수 증가(일반적으로 5분마다 예상 피크의 10\$120%)
   + 예상 피크 부하에 따라 갑작스러운 트래픽 급증(60초 이내에 피크 대상의 50%를 조인 시뮬레이션)
   + 최대 부하 기간 연장(최소 30\$160분 동안 최대 부하 유지)
   + 대상과 일치하는 지리적 배포(예상 시청자 위치에 따라 테스트 트래픽 배포)

   응답 시간이 목표 임계값 미만으로 유지되는지 확인합니다. 일반적으로 매니페스트의 경우 500ms 미만, 세그먼트의 경우 200ms 미만입니다. 오류 발생률은 1% 미만으로 유지되어야 합니다. 로드 테스트 도구 및 방법론에 대한 구현 세부 정보는 AWS 네트워킹 및 콘텐츠 전송 블로그의 [ CloudFront를 사용한 로드 테스트를](https://aws.amazon.com/blogs/networking-and-content-delivery/load-testing-with-cloudfront/) 참조하세요.

1. 장애 조치 시나리오를 테스트하여 신뢰성을 보장합니다. 시뮬레이션:
   + 오리진 서버 장애(완전 중단 및 부분 성능 저하 시나리오)
   + CDN 엣지 로케이션 중단(백업 위치로 트래픽 라우팅을 사용하여 테스트)
   + 광고 결정 서버를 사용할 수 없음(5\$110초 제한 시간으로 테스트)
   + 네트워크 연결 문제(패킷 손실 및 지연 시간 증가 시뮬레이션)

   CDN 공급자와 협력하여 사용 사례에 적합한 장애 조치 응답 시간 목표를 설정합니다. 일반적으로 이는 장애 조치 완료까지 3초 미만을 의미합니다. 장애 조치 테스트에 대한 구현 지침은 CloudFront 개발자 안내서의 [오리진 장애 조치를](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/high_availability_origin_failover.html) 참조하세요.

1. 주요 이벤트의 경우 [AWS 로드 테스트 지침에](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/load-testing.html) 따라 점진적인 램프 업 전략을 구현합니다.
   + 서로 다른 대상 세그먼트의 시작 시간에 시차를 둡니다. 예를 들어 대상 그룹 간에 15분 간격으로 프리미엄 구독자를 먼저 허용합니다.
   + 사전 워밍 기법을 사용하여 부하를 점진적으로 늘립니다. 사전 워밍에는 다음이 포함됩니다.
     + 이벤트 2\$14시간 전에 인기 콘텐츠로 CDN 캐시 채우기
     + 합성 트래픽을 예상 피크의 20\$130%까지 점진적으로 늘려 시스템을 워밍업합니다.
     + 실제 콘텐츠를 사용하여 실제 로드 조건에서 모든 구성 요소 테스트
   + 램프 업 기간 동안 시스템 성능을 모니터링하여 다음을 추적합니다.
     + 캐시 적중률 및 응답 시간(목표 >90% 적중률, <500ms 응답)
     + 오류율 및 오리진 로드(오류율 <1%, 오리진 CPU <70% 유지)
     + 광고 개인 맞춤 성공률( >98%의 성공적인 개인 맞춤 목표)
     + 뷰어 경험 지표(대상 <2초 시작 시간, <0.5% 재버퍼링)
   + 예기치 않은 트래픽 급증에 대한 비상 계획을 수립합니다. 계획에는 다음과 같은 필수 구성 요소가 포함되어야 합니다.
     + 15분 내에 용량을 50\$1100% 늘리는 문서화된 단계가 포함된 비상 용량 조정 절차
     + 트래픽의 20\$150%를 보조 CDN으로 전환할 수 있는 백업 CDN 활성화 프로토콜
     + 대상 지정 파라미터를 10개 이상에서 3\$15개로 줄이기 위해 광고 삽입 폴백 간소화
     + 사전 정의된 알림 템플릿 및 연락처 목록이 있는 이해관계자를 위한 커뮤니케이션 계획

   테스트를 완료한 후 프로덕션 배포 단계를 위한 [CDN 통합 구현으로](https://docs.aws.amazon.com/mediatailor/latest/ug/cdn-integration.html) 이동합니다.

# CDN 및 MediaTailor 통합의 일반적인 문제 해결
<a name="troubleshooting-cdn"></a>

최종 사용자에게 영향을 미치기 AWS Elemental MediaTailor 전에의 일반적인 콘텐츠 전송 네트워크(CDN) 통합 문제를 해결합니다. 이 섹션에서는 CDN과 통합하는 동안 발생하는 일반적인 문제를 식별하고 해결하는 데 도움이 됩니다 AWS Elemental MediaTailor.

포괄적인 문제 해결 지침은 [ MediaTailor 문제 해결](https://docs.aws.amazon.com/mediatailor/latest/ug/troubleshooting.html) 및 [ CloudFront 배포 문제 해결을 참조하세요](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/troubleshooting.html).

## MediaTailor 매니페스트 전송 문제 해결
<a name="manifest-issues"></a>

최종 사용자에게 재생 문제가 발생하거나 잘못된 광고가 표시되는 경우 다음과 같은 일반적인 매니페스트 관련 문제를 확인하세요.
+ **잘못된 캐싱 설정**: CDN이 개인화된 매니페스트를 캐싱하는 경우 최종 사용자는 다른 사용자를 위한 광고를 볼 수 있습니다.

  해결 방법: MediaTailor에 대한 매니페스트 요청에 대해 캐시 TTL이 0인 CDN을 구성합니다.
+ **오리진 요청 실패**: CDN이 MediaTailor에 연결할 수 없는 경우 매니페스트 요청이 실패합니다.

  해결 방법: CDN과 MediaTailor 간의 네트워크 연결을 확인합니다. CDN이 올바른 헤더를 올바르게 전달하는지 확인합니다.
+ **세션 파라미터 문제**: 세션 파라미터가 누락되거나 잘못되면 개인화에 실패할 수 있습니다.

  해결 방법: 플레이어가 매니페스트 요청에 필요한 모든 세션 파라미터를 올바르게 추가하고 있는지 확인합니다.

## MediaTailor 세그먼트 전송 문제 해결
<a name="segment-issues"></a>

콘텐츠 또는 광고 세그먼트가 제대로 로드되지 않는 경우 다음과 같은 일반적인 문제를 조사합니다.
+ **세그먼트 경로 재작성**: 잘못된 CDN 구성은 세그먼트 URLs 잘못 재작성할 수 있습니다.

  해결 방법: CDN이 세그먼트 URLs을 올바르게 처리하는지 확인합니다. 참조를 끊는 방식으로 경로를 수정하지 않는지 확인합니다.
+ **CORS 구성**: CORS 헤더가 누락되거나 올바르지 않으면 브라우저가 세그먼트를 로드하지 못할 수 있습니다.

  해결 방법: 세그먼트 요청에 적합한 CORS 헤더를 전달하도록 CDN을 구성합니다.
+ **캐시 누락 폭풍**: 트래픽이 많은 이벤트 중에 여러 캐시 누락이 오리진 서버를 압도할 수 있습니다.

  솔루션: 요청 축소 및 오리진 실드 기능을 구현하여 트래픽 급증 시 오리진 부하를 줄입니다.

## MediaTailor CDN 성능 문제 해결
<a name="performance-issues"></a>

뷰어에게 버퍼링 또는 느린 로드가 발생하는 경우 다음과 같은 성능 관련 문제를 확인하세요.
+ **낮은 캐시 적중률**: CDN이 오리진에서 콘텐츠를 자주 요청하면 성능이 저하됩니다.

  해결 방법: 콘텐츠 유형별로 캐시 적중률을 분석하고 TTL 설정을 조정하여 캐싱 효율성을 개선합니다.
+ **지리적 분포**: CDN 엣지 로케이션에서 멀리 떨어진 최종 사용자는 지연 시간 증가를 경험할 수 있습니다.

  해결 방법: CDN 엣지 로케이션 배포를 검토합니다. 시청자 집중도가 높은 리전에 용량을 추가합니다.
+ **오리진 용량 제한**: 오리진 서버에 과부하가 걸리면 응답 시간이 증가합니다.

  해결 방법: 오리진 요청 제한을 구현합니다. 오리진 용량을 늘리거나 캐싱을 개선하여 오리진 로드를 줄일 수도 있습니다.

추가 문제 해결 지원은 [ MediaTailor 문제 해결을 참조](https://docs.aws.amazon.com/mediatailor/latest/ug/troubleshooting.html)하거나 AWS Support에 문의하세요. 일반적인 CDN 문제 해결에 대한 구현 지침은 AWS 미디어 블로그의 [콘텐츠 전송 네트워크 디버깅을 참조하세요](https://aws.amazon.com/blogs/media/debugging-your-content-delivery-network/).

# MediaTailor와 CDN 통합 설정
<a name="cdn-configuration"></a>

이 섹션에서는 콘텐츠 전송 네트워크(CDN) AWS Elemental MediaTailor 와의 통합에 대한 지침을 제공합니다.

MediaTailor와의 효과적인 CDN 통합은 대규모 맞춤형 광고를 통해 고품질 스트리밍 경험을 제공하는 데 필수적입니다. 이 가이드에서는 CDN 통합을 설정, 구성 및 최적화하는 전체 프로세스를 안내합니다.

자세한 내용은 다음 링크를 참조하세요.
+ 권한 부여 및 광고 대상 지정을 위해 CDNs[MediaTailor 매니페스트 쿼리 파라미터](manifest-query-parameters.md).
+ 동적 변수 및 구성 별칭을 사용한 고급 라우팅은 섹션을 참조하세요[ADS 요청에 대한 MediaTailor 동적 광고 변수](variables.md).
+ MediaTailor 구성 생성에 대한 자세한 내용은 섹션을 참조하세요[AWS Elemental MediaTailor 를 사용하여 광고 삽입](configurations.md).
+ CloudFront 배포 생성에 대한 자세한 내용은 CloudFront 개발자 안내서의 [배포 생성을](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-creating-console.html) 참조하세요.

이 안내서의 명확성을 보장하기 위해 다음 용어를 사용하여 다양한 유형의 매니페스트를 설명합니다.
+ **HLS 매니페스트**:
  + *다변량 재생 목록*: 미디어 재생 목록 링크가 포함된 최상위 매니페스트
  + *미디어 재생 목록*: 콘텐츠 세그먼트 링크가 있는 2단계 매니페스트
+ **DASH 매니페스트**:
  + *MPD(미디어 프레젠테이션 설명)*: DASH 매니페스트의 표준 용어

MediaTailor를 CDN과 통합하면 다음과 같은 이점이 있습니다.
+ 최종 사용자의 지연 시간 단축
+ 트래픽이 많은 이벤트에 대한 확장성 향상
+ 중복 전송 경로를 통한 안정성 향상
+ 오리진 트래픽을 줄여 비용 최적화
+ DDoS 공격에 대한 보호 개선

## CDN 통합 구성 요소 및 요구 사항
<a name="cdn-integration-components"></a>

MediaTailor와 CDN을 성공적으로 통합하려면 다음 주요 구성 요소를 구성해야 합니다.

**CDN 라우팅 동작**  
다양한 유형의 요청(매니페스트, 콘텐츠 세그먼트, 광고 세그먼트)이 CDN을 통해 라우팅되는 방식을 결정하는 규칙입니다.

**MediaTailor의 CDN 매핑**  
매니페스트가 오리진 서버를 직접 참조하는 대신 CDN 도메인을 참조하도록 하는 MediaTailor의 구성입니다.

**보안 설정**  
전송 보안, 액세스 제어 및 모니터링을 포함하여 콘텐츠와 인프라를 보호하는 구성입니다.

**테스트 및 검증**  
프로덕션에 배포하기 전에 CDN 통합이 올바르게 작동하는지 확인하는 절차입니다.

## CDN 통합을 위한 사전 조건
<a name="prerequisites"></a>

CDN 통합을 구성하기 전에 다음이 있는지 확인합니다.

1. 다음 설정을 사용하는 MediaTailor 구성:
   + 콘텐츠 **소스로서의 콘텐츠** 오리진
   + **광고 결정 서버**로서의 ADS

   CDN 통합 단계에서도 오리진 및 ADS URLs이 필요합니다.

1. CDN의 구성 인터페이스에 대한 액세스

1. 동작, 규칙 및 캐시 설정에 대한 CDN의 특정 용어 이해

1. 세그먼트에 사용되는 파일 확장명(예: .ts, .mp4 또는 .m4s)을 포함한 콘텐츠 구조에 대한 지식

## CDN 통합 설정 단계
<a name="cdn-integration-workflow"></a>

MediaTailor를 CDN과 통합하는 프로세스는 다음과 같은 상위 단계를 따릅니다.

1. **CDN 라우팅 동작 구성** - 다양한 유형의 요청을 적절하게 라우팅하도록 CDN을 설정합니다.

1. **MediaTailor에서 CDN 매핑 구성** - CDN 도메인 이름을 사용하도록 MediaTailor 구성을 업데이트합니다.

1. **보안 모범 사례 구현** - 콘텐츠와 인프라를 보호하도록 보안 설정을 구성합니다.

1. **통합 테스트** - CDN 통합이 올바르게 작동하는지 확인합니다.

## MediaTailor CDN 통합에 필요한 헤더
<a name="cdn-required-headers"></a>

MediaTailor가 CDN과 올바르게 작동하려면 특정 HTTP 헤더를 전달하도록 CDN을 구성해야 합니다. 이러한 헤더는 압축, 디바이스 감지, 광고 개인화 및 지리 타겟팅을 비롯한 적절한 기능에 필수적입니다.

다음 헤더를 MediaTailor에 전달하도록 CDN을 구성합니다.

**`Accept-Encoding`**  
**용도**: 압축 기능에 필요  
**세부 정보**:이 헤더는 클라이언트가 지원하는 압축 방법을 MediaTailor에 알려줍니다. MediaTailor는이 정보를 사용하여 가능하면 매니페스트를 압축하여 대역폭 사용량을 줄이고 성능을 개선합니다. 압축을 지원하지 않는 레거시 디바이스는이 헤더를 전송하지 않으며 MediaTailor는 압축되지 않은 매니페스트를 반환합니다.

**`User-Agent`**  
**용도**: 디바이스 감지 및 광고 개인화에 필요  
**세부 정보**: MediaTailor는 User-Agent 헤더를 분석하여 클라이언트 디바이스 유형, 브라우저 및 기능을 식별합니다. 이 정보는 광고 타겟팅, 디바이스별 최적화 및 다양한 재생 클라이언트와의 호환성을 보장하는 데 사용됩니다.

**`Host`**  
**용도**: 적절한 요청 라우팅에 필요  
**세부 정보**: `Host` 헤더는 요청이 올바른 MediaTailor 엔드포인트로 라우팅되도록 합니다. 이는 다중 테넌트 환경과 사용자 지정 도메인 구성을 사용할 때 특히 중요합니다.  
Amazon CloudFront를 포함한 많은 CDNs 기본적으로 `Host` 헤더를 전달하지 않습니다. CloudFront 사용자의 경우: 구성 지침은 섹션을 참조[캐시 동작 구성](cloudfront-basic-setup.md#cf-cache-behaviors)하세요.

**`X-Forwarded-For`**  
**용도**: 클라이언트 IP 감지 및 지리 대상 지정에 필요합니다.  
**세부 정보**:이 헤더는 요청이 CDN을 통과할 때 원래 클라이언트 IP 주소를 보존합니다. MediaTailor는 지리적 광고 타겟팅, 분석 및 리전 콘텐츠 제한 준수에이 정보를 사용합니다.

**중요**  
전체 MediaTailor 기능에는 네 개의 헤더가 모두 필요합니다. 이러한 헤더가 누락되면 다음과 같은 기능이 저하될 수 있습니다.  
매니페스트를 압축할 수 없음(수락 인코딩 누락)
광고 타겟팅 불량 및 디바이스 호환성 문제(사용자-에이전트 누락)
요청 라우팅 실패(호스트 누락)
부정확한 지리적 대상 지정 및 분석(X-Forwarded-For 누락)

CDN별 구성 지침은이 헤더 목록을 참조하는 라우팅 동작 및 캐싱 섹션을 참조하세요.

다음 주제에서는 CDN 통합의 각 측면에 대한 자세한 지침을 제공합니다.

**Topics**
+ [CDN 통합 구성 요소 및 요구 사항](#cdn-integration-components)
+ [CDN 통합을 위한 사전 조건](#prerequisites)
+ [CDN 통합 설정 단계](#cdn-integration-workflow)
+ [MediaTailor CDN 통합에 필요한 헤더](#cdn-required-headers)
+ [MediaTailor에 대한 CDN 라우팅 동작 설정](cdn-routing-behaviors.md)
+ [MediaTailor에서 CDN 매핑 설정](cdn-mapping-mediatailor.md)
+ [MediaTailor에 대한 CDN 통합 보안 모범 사례](cdn-security-best-practices.md)

# MediaTailor에 대한 CDN 라우팅 동작 설정
<a name="cdn-routing-behaviors"></a>

이 섹션에서는 다양한 유형의 요청을 AWS Elemental MediaTailor 통합에 적합하게 라우팅하도록 콘텐츠 전송 네트워크(CDN)를 설정하는 방법을 설명합니다. 적절한 라우팅 구성을 통해 매니페스트 요청, 콘텐츠 세그먼트 및 광고 세그먼트를 올바르게 처리할 수 있습니다.

CDN 라우팅 동작을 구성하는 것은 효율적인 콘텐츠 전송 파이프라인을 생성하는 데 중요한 단계입니다. 다양한 콘텐츠 유형에 대해 특정 라우팅 규칙을 설정하면 캐싱을 최적화하고, 전송 성능을 개선하고, 맞춤형 광고 삽입이 올바르게 작동하는지 확인할 수 있습니다.

동적 변수 및 구성 별칭을 사용하는 고급 라우팅 시나리오는 섹션을 참조하세요[ADS 요청에 대한 MediaTailor 동적 광고 변수](variables.md). CDN 라우팅 전반의 쿼리 파라미터 보존에 대한 자세한 내용은 섹션을 참조하세요[MediaTailor 매니페스트 쿼리 파라미터](manifest-query-parameters.md).

**중요**  
캐시된 객체 또는 최종 사용자에 대한 CDN 응답에 CORS 헤더를 포함하지 않으면 재생에 실패할 수 있습니다.

## CDN 라우팅 동작 구성
<a name="cdn-routing-configuration"></a>

다양한 유형의 요청을 적절하게 라우팅하도록 CDN을 설정합니다.

### 콘텐츠 세그먼트 라우팅
<a name="content-segment-routing"></a>

콘텐츠 세그먼트 라우팅은 실제 콘텐츠 세그먼트에 대한 요청을 오리진 서버로 보냅니다. 광고 세그먼트 라우팅과 마찬가지로 콘텐츠 세그먼트 라우팅에는 웹 기반 플레이어에서 원활한 재생을 보장하기 위한 적절한 CORS 구성도 필요합니다.

자세한 구성 지침은의 CloudFront 예제를 참조하세요[우선순위 4: 콘텐츠 오리진 경로 동작](cf-comprehensive-configuration.md#cf-default-behavior). 이 예제에서는 CloudFront에 대해 따르거나 다른 CDNs에 맞게 조정해야 하는 특정 설정을 제공합니다.

콘텐츠 세그먼트 라우팅의 주요 구성 요구 사항은 다음과 같습니다.
+ 콘텐츠 세그먼트 파일 확장명(예: `*.ts`, `*.mp4`또는 `*.m4s`)과 일치하는 경로 패턴 사용
+ 콘텐츠 오리진(예: Amazon S3 버킷 또는 MediaPackage 엔드포인트)으로 요청 라우팅
+ 최적의 캐시 적중률을 위해 오리진이 캐시 키의 응답을 수정하고 오리진 요청을 전달하도록 하는 쿼리 문자열 파라미터만 포함합니다.
+ 24시간 TTL 값을 초과하는 적절한 캐시 정책 적용
+ 최종 사용자에게 CORS 응답 헤더 포함

### 광고 세그먼트 라우팅
<a name="ad-segment-routing"></a>

광고 세그먼트 라우팅은 시청자에게 개인 맞춤형 광고를 제공하는 데 매우 중요합니다. 광고 세그먼트 라우팅을 구성할 때는 웹 기반 플레이어에서 재생 실패를 일으킬 수 있는 문제를 방지하기 위해 적절한 CORS(교차 오리진 리소스 공유) 처리를 구현해야 합니다.

자세한 구성 지침은의 CloudFront 예제를 참조하세요[우선순위 0: 광고 세그먼트 경로 동작](cf-comprehensive-configuration.md#cf-transcode-manage-behavior). 이 예제에서는 CloudFront에 대해 따르거나 다른 CDNs에 맞게 조정해야 하는 특정 설정을 제공합니다.

광고 세그먼트 라우팅의 주요 구성 요구 사항은 다음과 같습니다.
+ MediaTailor 광고 세그먼트 `/tm/*` 전용 경로 패턴 사용
+ 로 요청 라우팅 `segments.mediatailor.region.amazonaws.com`
+ 최적의 캐시 적중률을 위해 캐시 키 또는 오리진 요청에 최종 사용자 요청 헤더, 쿠키 또는 쿼리 문자열 파라미터를 포함하지 마세요.
+ 24시간 TTL 값을 초과하는 적절한 캐시 정책 적용
+ 최종 사용자에게 CORS 응답 헤더 포함

### 매니페스트 요청 라우팅
<a name="manifest-routing"></a>

다변량 재생 목록, 미디어 재생 목록 및 MPD 요청을 MediaTailor로 라우팅하려면 다음 일반 설정을 사용합니다. CloudFront 구성은 섹션을 참조하세요[매니페스트 캐시 동작 구성](cloudfront-basic-setup.md#cf-manifest-behavior).

1. CDN 구성 인터페이스에서 다양한 매니페스트 유형에 대한 동작을 생성합니다.

1. 다변량 재생 목록 및 미디어 재생 목록 파일 확장명(`*.m3u8`HLS의 경우) 및 MPD 파일 확장명(`*.mpd`DASH의 경우)과 일치하도록 경로 패턴을 설정합니다.

1. MediaTailor 구성 엔드포인트를 가리키도록 CDN에서 오리진 설정을 구성합니다.

1. 광고 삽입의 경우 개인화된 다변량 재생 목록, 미디어 재생 목록 및 MPDs. 광고 삽입은 개인화된 매니페스트를 제공하므로 CDN이 이를 캐싱해서는 안 됩니다. 의도한 재생 디바이스와 다른 재생 디바이스가 캐시된 재생 목록 또는 MPD를 수신하면 재생 또는 추적에 문제가 발생할 수 있습니다. 모든 콘텐츠 유형에 대한 TTL 권장 사항을 포함한 포괄적인 캐싱 지침은 섹션을 참조하세요[CDN 및 MediaTailor 통합을 위한 캐싱 최적화](cdn-optimize-caching.md).

1. 모든 헤더에 대한 헤더 전달을 구성합니다. 최소 요구 사항은 섹션을 참조하세요[MediaTailor CDN 통합에 필요한 헤더](cdn-configuration.md#cdn-required-headers).

1. 쿼리 문자열 전달을 활성화하여 광고 대상 지정 파라미터를 전달합니다.

------
#### [ HLS multivariant playlist ]

HLS 다변량 재생 목록 요청은 다음 형식을 따릅니다.

```
https://<playback-endpoint>/v1/index/<hashed-account-id>/<origin-id>/<index>.m3u8
```

예제:

```
https://777788889999.mediatailor.us-east-1.amazonaws.com/v1/master/a1bc06b59e9a570b3b6b886a763d15814a86f0bb/Demo/assetId.m3u8
```

------
#### [ HLS media playlist ]

HLS 미디어 재생 목록 요청은 다음 형식을 따릅니다.

```
https://<playback-endpoint>/v1/manifest/<hashed-account-id>/<session-id>/<manifestNumber>.m3u8
```

에 대한 플레이어 요청은 요청의 키워드를 `https://mediatailor.us-west-2.amazonaws.com/v1/session/configuration/endpoint` 기반으로 MediaTailor 경로`*.m3u8`로 라우팅`https://CDN_Hostname/some/path/asset.m3u8`됩니다.

예제:

```
https://777788889999.mediatailor.us-east-1.amazonaws.com/v1/manifest/a1bc06b59e9a570b3b6b886a763d15814a86f0bb/c240ea66-9b07-4770-8ef9-7d16d916b407/0.m3u8
```

------
#### [ DASH MPD ]

DASH MPD 요청은 다음 형식을 따릅니다.

```
https://<playback-endpoint>/v1/dash/<hashed-account-id>/<origin-id>/<assetName>.mpd
```

에 대한 플레이어 요청은 요청의 키워드를 `https://mediatailor.us-west-2.amazonaws.com/v1/dash/configuration/endpoint` 기반으로 MediaTailor 경로`*.mpd`로 라우팅`https://CDN_Hostname/some/path/asset.mpd`됩니다.

예제:

```
https://777788889999.mediatailor.us-east-1.amazonaws.com/v1/dash/a1bc06b59e9a570b3b6b886a763d15814a86f0bb/Demo/0.mpd
```

------

## CDN 라우팅 모범 사례
<a name="cdn-routing-best-practices"></a>

CDN 라우팅 동작을 구성할 때 최적의 성능과 신뢰성을 보장하려면 다음 모범 사례를 따르세요.

**특정 경로 패턴 사용**  
콘텐츠 구조와 정확하게 일치하는 특정 경로 패턴을 생성하여 적절한 라우팅을 보장합니다.

**동작 순서 우선 순위 지정**  
대부분의 CDNs에서는 동작이 순서대로 평가됩니다. 보다 일반적인 동작 앞에 보다 구체적인 동작을 배치합니다.

**동작 패턴 테스트**  
프로덕션에 배포하기 전에 경로 패턴이 예상 요청과 올바르게 일치하는지 확인합니다.

**구성 문서화**  
CDN 라우팅 동작에 대한 문서를 유지 관리하여 문제 해결 및 향후 업데이트를 용이하게 합니다.

## 다음 단계
<a name="cdn-routing-next-steps"></a>

CDN 라우팅 동작을 구성한 후 다음 단계는 MediaTailor에서 CDN 매핑을 구성하는 것입니다. 자세한 내용은 [MediaTailor에서 CDN 매핑 설정](cdn-mapping-mediatailor.md) 섹션을 참조하세요.

# MediaTailor에서 CDN 매핑 설정
<a name="cdn-mapping-mediatailor"></a>

이 섹션에서는 콘텐츠 전송 네트워크(CDN) 도메인 이름을 AWS Elemental MediaTailor 사용하도록를 구성하는 방법을 설명합니다. CDN 라우팅 동작을 설정한 후에는 매니페스트가 오리진 서버를 직접 참조하는 대신 CDN 도메인을 참조하도록 MediaTailor 구성을 업데이트해야 합니다.

MediaTailor에서 CDN 매핑을 구성하면 매니페스트의 모든 콘텐츠 및 광고 세그먼트 URLs이 오리진 서버를 직접 가리키지 않고 CDN을 가리킵니다. 이 단계는 완전한 CDN 전송 체인을 생성하고 CDN 통합의 이점을 극대화하는 데 필수적입니다.

## MediaTailor의 CDN 매핑 구성
<a name="mediatailor-configuration"></a>

CDN 라우팅 동작을 설정한 후 CDN 도메인 이름을 사용하도록 MediaTailor를 구성합니다.

1. [MediaTailor 콘솔](https://console.aws.amazon.com/mediatailor/home)을 엽니다.

1. 업데이트할 구성을 선택합니다.

1. **CDN 구성** 섹션의 **고급 설정**에서 CDN **콘텐츠 세그먼트 접두사 필드에 CDN** 도메인 이름을 입력합니다.

1. 광고 세그먼트에 별도의 CDN 도메인을 사용하는 경우 **CDN 광고 세그먼트 접두사** 필드에 해당 도메인을 입력합니다.

1. 변경 내용을 저장합니다.

이 구성을 사용하면 MediaTailor가 오리진 또는 광고 세그먼트 스토리지를 직접 가리키는 대신 CDN을 가리키는 URLs을 사용하여 매니페스트를 생성할 수 있습니다.

### 기본 URL 동작 이해
<a name="base-url-behavior"></a>

MediaTailor는 CDN 접두사 구성을 기반으로 매니페스트의 기본 URLs을 결정합니다.
+ **CDN 광고 세그먼트 접두사 구성**됨: 광고 세그먼트는 CDN 접두사를 기본 URL로 사용합니다.
+ **CDN 광고 세그먼트 접두사가 구성되지 않음**: 광고 세그먼트는 직접 MediaTailor 위치를 기본 URL로 사용합니다.
+ **CDN 콘텐츠 세그먼트 접두사 구성**됨: 콘텐츠 세그먼트는 CDN 접두사를 기본 URL로 사용합니다.
+ **CDN 콘텐츠 세그먼트 접두사가 구성되지 않음**: 콘텐츠 세그먼트는 원래 콘텐츠 오리진을 참조합니다.

#### DASH BaseURL 처리
<a name="dash-baseurl-handling"></a>

DASH 매니페스트의 경우 MediaTailor는 콘텐츠 및 광고 세그먼트에 대한 `BaseURL` 설정을 다르게 관리합니다.

**콘텐츠 세그먼트:**
+ **CDN 콘텐츠 세그먼트 접두사 사용**: MediaTailor는 지정된 접두사를 사용하여 `BaseURL` `MPD` 수준에서 정확히 하나를 설정합니다.
+ **CDN 콘텐츠 세그먼트 접두사 사용** 안 함: MediaTailor는 오리진 매니페스트에서 기존 설정을 보존하거나 오리진 `MPD` URL에 따라 기존 `BaseURL` 설정을 추가합니다.

**광고 세그먼트:**
+ **CDN 광고 세그먼트 접두사 사용**: 각 광고 기간은 구성된 접두사를 `BaseURL` 사용하여 정확히 하나씩 가져옵니다.
+ **CDN 광고 세그먼트 접두사 사용 안** 함: 각 광고 기간은 MediaTailor 광고 콘텐츠 서버를 정확히 한 번 `BaseURL` 가리킵니다.

**Example CDN 매핑 예제**  
콘텐츠 오리진이 `http://origin.com/contentpath/` 이고 CDN 콘텐츠 세그먼트 접두사가 인 `https://cdn.example.com/`경우 일반적으로 로 참조되는 콘텐츠 세그먼트`http://origin.com/contentpath/subdir/content.ts`는 매니페스트에 로 표시됩니다`https://cdn.example.com/subdir/content.ts`.

## 중요 고려 사항
<a name="cdn-mapping-considerations"></a>

MediaTailor에서 CDN 매핑을 구성할 때는 다음 중요 고려 사항을 염두에 두세요.

**CDN 접두사에 HTTPS 사용**  
항상 CDN 접두사에 HTTPS URLs을 사용하여 안전한 콘텐츠 전송을 보장합니다.

**CDN 동작 경로 일치**  
MediaTailor에서 구성하는 CDN 접두사가 CDN 동작에서 구성한 경로 패턴과 일치하는지 확인합니다.

**리전 CDNs 고려**  
리전마다 다른 CDN 도메인을 사용하는 경우 각 리전에 대해 별도의 MediaTailor 구성을 생성해야 합니다.

**도메인 소유권 확인**  
MediaTailor에서 구성하는 CDN 도메인을 제어할 수 있는지 확인합니다.

## CDN 매핑 구성 확인
<a name="cdn-mapping-verification"></a>

MediaTailor에서 CDN 매핑을 구성한 후 구성이 올바르게 작동하는지 확인합니다.

1. CDN을 통해 매니페스트를 요청합니다.

1. 매니페스트 콘텐츠를 검사하여 세그먼트 URLs이 CDN 도메인을 참조하는지 확인합니다.

1. 매니페스트의 콘텐츠 세그먼트 URLs CDN 도메인을 가리키는지 확인합니다.

1. 매니페스트의 광고 세그먼트 URLs CDN 도메인을 가리키는지 확인합니다.

포괄적인 테스트 및 검증 절차는 섹션을 참조하세요[CDN 및 MediaTailor 통합 테스트 및 검증](cdn-integration-testing.md).

## 다음 단계
<a name="cdn-mapping-next-steps"></a>

MediaTailor에서 CDN 매핑을 구성한 후 다음 단계는 CDN 통합에 대한 보안 모범 사례를 구현하는 것입니다. 자세한 내용은 [MediaTailor에 대한 CDN 통합 보안 모범 사례](cdn-security-best-practices.md) 섹션을 참조하세요.

# MediaTailor에 대한 CDN 통합 보안 모범 사례
<a name="cdn-security-best-practices"></a>

이 섹션에서는 AWS Elemental MediaTailor 콘텐츠 전송 네트워크(CDN) 통합에 대한 보안 모범 사례를 구현하는 방법을 설명합니다. 적절한 보안 구성은 콘텐츠와 인프라를 무단 액세스 및 잠재적 위협으로부터 보호하는 데 도움이 됩니다.

CDN 통합을 보호하는 것은 콘텐츠를 보호하고, 무단 액세스를 방지하고, 보안 요구 사항을 준수하는 데 매우 중요합니다. 이러한 모범 사례를 구현하면 스트리밍 워크플로에 대한 강력한 보안 태세를 구축하는 데 도움이 됩니다.

## CDN 보안 구성
<a name="cdn-security-settings"></a>

CDN 라우팅 및 캐시 설정을 구성하기 전에 다음 보안 모범 사례를 구현하여 콘텐츠와 인프라를 보호합니다.

### 전송 보안
<a name="transport-security"></a>

MediaTailor는 모든 통신에 HTTPS만 사용하며 HTTP 연결을 허용하지 않습니다. 스트리밍 워크플로의 모든 구성 요소 간에 보안 통신을 보장하려면 다음 단계를 완료하세요.

1. CDN과 MediaTailor 엔드포인트 간의 모든 통신을 위해 HTTPS를 구성합니다. MediaTailor에는 HTTPS가 필요하며 HTTP 연결을 허용하지 않습니다.

1. 모든 HTTPS 연결에 TLS 1.2 이상을 사용합니다.

1. 최종 사용자의 HTTPS 전용 연결을 적용하도록 CDN을 구성합니다.

### 액세스 관리
<a name="access-control"></a>

콘텐츠와 인프라를 무단 액세스로부터 보호하려면 다음 액세스 제어를 구현합니다.

1. 콘텐츠 액세스를 특정 리전으로 제한해야 하는 경우 지리적 제한 설정을 구성합니다.

1. 최종 사용자 인증이 필요한 콘텐츠에 대해 서명된 URLs 또는 서명된 쿠키를 구현합니다.

1. CDN 구성에 대한 관리 액세스를 위한 IP 기반 허용 목록을 설정합니다.

### 보안 모니터링
<a name="security-monitoring"></a>

보안 이벤트를 효과적으로 탐지하고 대응하려면 다음 모니터링 사례를 구현합니다.

1. CDN 배포에 대한 액세스 로깅을 활성화합니다.

1. 비정상적인 트래픽 패턴 또는 액세스 시도에 대한 알림을 설정합니다.

1. 보안 구성을 정기적으로 검토하고 필요에 따라 업데이트합니다.

## 고급 보안 기능
<a name="advanced-security-features"></a>

다음 고급 보안 기능은 CDN 통합을 위한 향상된 보호를 제공합니다.

**웹 애플리케이션 방화벽(WAF)**  
CDN이 WAF 기능을 지원하는 경우 일반적인 웹 취약성 및 공격으로부터 보호하도록 구성합니다.

**DDoS 보호**  
CDN에서 제공하는 DDoS 보호 기능을 활성화하여 분산 denial-of-service 공격을 완화합니다.

**오리진 액세스 제어**  
직접 액세스 시도를 방지하기 위해 오리진 서버가 CDN의 요청만 수락하도록 구성합니다.

**콘텐츠 암호화**  
매우 민감한 콘텐츠의 경우 전송 보안 이외의 추가 암호화 메커니즘을 구현하는 것이 좋습니다.

## 다음 단계
<a name="security-best-practices-next-steps"></a>

보안 모범 사례를 구현한 후 다음 단계는 CDN 통합을 테스트하고 문제를 해결하는 것입니다. 포괄적인 테스트 및 문제 해결 지침은 섹션을 참조[CDN 통합 문제 해결](cdn-troubleshooting.md)하세요.

# 맞춤형 비디오 광고를 위해 CDN으로 SSAI 설정
<a name="ssai-cdn-workflow"></a>

이 섹션에서는 AWS Elemental MediaTailor 서버 측 광고 삽입(SSAI)을 콘텐츠 전송 네트워크(CDN)와 통합하기 위한 포괄적인 지침을 제공합니다. 다음 단계에 따라 SSAI CDN 통합을 설정, 구성 및 최적화합니다.

서버 측 광고 삽입(SSAI)은 클라이언트 수준이 아닌 서버 수준에서 비디오 스트림에 개인화된 광고를 원활하게 삽입하는 기술입니다. CDN과 함께 사용하면 지연 시간을 최소화하면서 전 세계 고객에게 맞춤형 광고를 제공할 수 있는 강력하고 확장 가능한 솔루션을 만들 수 있습니다.

이 주제에서는 매*니페스트*라는 용어를 사용하여 다변량 재생 목록, 미디어 재생 목록 및 MPDs.

## 필요한 사항
<a name="ssai-cdn-what-you-need"></a>

CDN을 사용하여 MediaTailor 광고 삽입을 설정하기 전에 다음과 같은 필수 리소스를 수집합니다.

**AWS 계정 및 권한**  
MediaTailor 리소스를 생성하고 관리할 수 있는 적절한 권한이 있는 AWS 계정  
MediaTailor, CloudFront(사용하는 경우) 및 관련 서비스에 대한 IAM 권한  
자세한 권한 요구 사항은 섹션을 참조하세요[의 보안 AWS Elemental MediaTailor](security.md).

**필수 서비스**  
AWS Elemental MediaTailor 구성 및 실행  
콘텐츠 전송 네트워크(CDN) 계정(Amazon CloudFront 또는 타사 CDN)  
콘텐츠의 오리진 서버(HLS 또는 DASH)  
VAST 또는 VMAP를 지원하는 광고 결정 서버(ADS)

**콘텐츠 요구 사항**  
HLS 또는 DASH 형식으로 적절하게 인코딩되고 패키징된 콘텐츠  
콘텐츠의 광고 중단 마커(VOD용) 또는 SCTE-35 마커(라이브용)

## 시작하기 전 준비 사항
<a name="ssai-cdn-before-you-begin"></a>

CDN을 사용하여 MediaTailor 광고 삽입을 구현하기 전에 다음 설정 작업을 완료합니다.

1. CDN, MediaTailor 및 오리진 서버 간의 네트워크 연결 구성

1. 보안 콘텐츠 전송을 위한 HTTPS 설정

1. CDN 도메인에 대한 DNS 설정 구성

1. 기본 MediaTailor 설정의 경우 [설정](setting-up.md) 및의 단계를 완료합니다[MediaTailor 광고 삽입 시작하기](getting-started-ad-insertion.md).

### 지식 사전 조건
<a name="ssai-cdn-knowledge-prerequisites"></a>

이 솔루션을 성공적으로 구현하려면 다음이 필요합니다.
+ 스트리밍 프로토콜 이해(HLS/DASH)
+ CDN 구성 원칙에 대한 기본 지식
+ 광고 삽입 개념에 대한 지식

## CDN 통합의 이점
<a name="ssai-cdn-benefits"></a>

SSAI를 CDN과 통합하면 다음과 같은 주요 이점이 있습니다.

**시청자 경험 개선**  
적절하게 구성된 CDNs 광고 전환 중에 버퍼링, 시작 시간 및 재생 오류를 줄입니다. 이로 인해 시청자의 참여와 만족도가 높아집니다.

**비용 절감**  
효율적인 캐싱 전략은 오리진 요청을 최소화합니다. 이렇게 하면 데이터 전송 비용과 오리진 서버 로드가 줄어들며, 특히 대용량 광고 지원 콘텐츠에 중요합니다.

**확장성**  
최적화된 CDN 구성은 성능 저하 없이 인기 있는 이벤트 중에 트래픽 급증을 처리하여 최대 시청 시간 중에도 맞춤형 광고가 전달되도록 합니다.

**글로벌 도달 범위**  
적절하게 구성된 CDNs 위치에 관계없이 전 세계 시청자에게 짧은 지연 시간으로 콘텐츠를 제공하여 잠재적 시청자를 확장합니다.

**원활한 광고 전환**  
최적화된 CDN 구성은 콘텐츠와 광고 간의 원활한 전환을 보장하여 브로드캐스트 품질의 시청 환경을 만듭니다.

다음 주제에서는 최적의 성능을 위해 MediaTailor를 CDN으로 구성하는 방법에 대한 포괄적인 지침을 제공합니다.

**Topics**
+ [필요한 사항](#ssai-cdn-what-you-need)
+ [시작하기 전 준비 사항](#ssai-cdn-before-you-begin)
+ [CDN 통합의 이점](#ssai-cdn-benefits)
+ [CDN 아키텍처 이해](ssai-cdn-architecture-overview.md)
+ [기본 광고 삽입 설정](configuring-ssai-cdn.md)
+ [채널 어셈블리가 포함된 SSAI](ssai-ca-integration.md)
+ [CDN 성능 최적화](ssai-cdn-performance.md)
+ [CDN 작업 모니터링](ssai-cdn-monitor.md)
+ [CDNs 사용한 광고 삽입 문제 해결](troubleshooting-ssai-cdn.md)

# CDN 및 MediaTailor 통합을 위한 광고 삽입 아키텍처 이해
<a name="ssai-cdn-architecture-overview"></a>

이 섹션에서는 콘텐츠 전송 네트워크(CDNs)를 사용하는 서버 측 광고 삽입(SSAI)의 개념과 아키텍처를 설명합니다 AWS Elemental MediaTailor. 동적 광고 삽입 및 매니페스트 조작이 함께 작동하여 효과적인 비디오 수익화를 가능하게 하는 방법을 알아봅니다.

MediaTailor를 사용한 서버 측 광고 삽입(SSAI)을 통해 다음을 수행할 수 있습니다.
+ 정의된 광고 중단점에서 비디오 스트림에 개인 맞춤형 광고 삽입
+ 최종 사용자 데이터를 기반으로 광고를 정확하게 대상으로 지정
+ 클라이언트 측 광고 삽입 기술의 필요성 제거

CDN과 결합하면 성능 및 확장성이 향상된 시청자에게 이러한 개인화된 스트림을 제공하여 비디오 수익화 전략을 개선할 수 있습니다.

CDN을 사용한 광고 삽입을 위한 권장 아키텍처는 최종 사용자와 광고 삽입 간에 CDN을 배치하고 광고 삽입은 오리진에서 직접 콘텐츠에 액세스합니다. 이 아키텍처는 콘텐츠 전송과 비디오 수익화 모두에 대해 다음과 같은 이점을 제공합니다.
+ 콘텐츠 및 광고 세그먼트의 효과적인 캐싱
+ MediaTailor에서 요청 로드 감소
+ 최종 사용자에 대한 전송 속도 개선
+ 간소화된 URL 관리
+ 디바이스 간 맞춤형 광고의 일관된 제공

이 권장 아키텍처에서:

1. CDN의 최종 사용자 요청 매니페스트

1. CDN은 요청을 광고 삽입에 전달합니다.

1. 광고 삽입은 오리진에서 콘텐츠 매니페스트를 요청합니다.

1. 광고 삽입은 광고 결정 서버(ADS)에서 광고를 요청합니다.

1. 광고 삽입은 광고 마커(오리진 매니페스트)를 특정 뷰어(ADS)의 대상 광고 세그먼트를 가리키URLs로 대체하여 매니페스트를 개인화합니다.

1. 광고 삽입은 광고 세그먼트 URLs이 포함된 개인화된 매니페스트를 CDN에 반환하여 최종 사용자에게 전달합니다.

1. 최종 사용자는 CDN을 통해 세그먼트를 요청합니다.

1. CDN은 세그먼트 유형에 따라 세그먼트 요청을 라우팅합니다.
   + 콘텐츠 세그먼트 요청은 콘텐츠 오리진으로 이동합니다.
   + 광고 세그먼트 요청은 MediaTailor로 이동합니다.

이 아키텍처는 CDN 사용의 보안 및 유연성 이점을 유지하면서 최적의 성능을 보장합니다.

![\[클라이언트 플레이어와 AWS Elemental MediaTailor 광고 삽입 사이에 배치된 CDN을 보여주는 다이어그램\]](http://docs.aws.amazon.com/ko_kr/mediatailor/latest/ug/images/cdn-recommended-positioning.png)


**참고**  
이 흐름은 VOD 콘텐츠와 라이브 콘텐츠 간에 약간 다릅니다. VOD의 경우 매니페스트를 더 오래 캐시할 수 있지만 라이브 콘텐츠를 사용하려면 스트림 연속성을 유지하기 위해 매니페스트 업데이트가 더 자주 필요합니다.

VOD와 라이브 콘텐츠 캐싱의 주요 차이점:

VOD 콘텐츠  
매니페스트는 자주 변경되지 않으므로 더 긴 TTL 값(분\$1시간)을 설정합니다.

라이브 콘텐츠  
최종 사용자가 최신 스트림 세그먼트를 수신하도록 매니페스트에 더 짧은 TTL 값(초) 설정

콘텐츠 오리진과 사이에 CDN을 배치하지 않는 것이 좋습니다 AWS Elemental MediaTailor. 이렇게 하면 다음과 같은 몇 가지 기술적 문제가 발생할 수 있습니다.

캐시 키 충돌  
쿼리 파라미터를 올바르게 처리하도록 CDN을 구성합니다. 이렇게 하면 쿼리 파라미터가 다른 동일한 매니페스트를 요청할 때 MediaTailor가 잘못된 매니페스트를 수신하지 못합니다.

Gzip 압축 문제  
매니페스트 구문 분석 오류가 발생하는 경우 CDN이 올바른 형식의 매니페스트를 MediaTailor에 전달해야 합니다. 일부 CDNs 구문 분석 실패를 일으킬 수 있는 손상된 gzip 페이로드를 제공할 수 있습니다. 이 경우 워크플로의 다른 곳에서 비용 절감을 위해 압축을 유지하면서 CDN과 MediaTailor 간의 압축을 비활성화해야 할 수 있습니다.

매니페스트 신선도  
라이브 스트림의 경우 현재 매니페스트를 MediaTailor에 전달하도록 CDN을 구성합니다. 이렇게 하면 콘텐츠와 광고 간의 동기화 문제가 방지됩니다.

성능 최적화  
네트워크 홉과 잠재적인 캐시 누락을 최소화하여 재생 시작 시간을 줄입니다.

캐시 관리  
매니페스트가 자주 업데이트되는 라이브 콘텐츠에 대해 간소화된 캐시 무효화 전략을 구현합니다.

이 최적화되지 않은 아키텍처에서:

1. 최종 사용자는에서 직접 다변량 재생 목록, 미디어 재생 목록 또는 MPDs 요청합니다 AWS Elemental MediaTailor.

1. MediaTailor는 CDN을 통해 콘텐츠 매니페스트(다변량 재생 목록, 미디어 재생 목록 또는 MPDs)를 요청합니다.

1. CDN은 오리진 서버에 요청을 전달합니다.

1. 오리진 서버는 다변량 재생 목록, 미디어 재생 목록 또는 MPDs에 반환합니다.

1. CDN은 다변량 재생 목록, 미디어 재생 목록 또는 MPDs를 MediaTailor에 전달합니다.

1. MediaTailor는 광고 결정 서버(ADS)에서 광고를 요청합니다.

1. MediaTailor는 다변량 재생 목록, 미디어 재생 목록 또는 MPDs에 광고를 삽입하여 매니페스트를 개인화하고 최종 사용자에게 직접 전달합니다.

1. 이 아키텍처는 추가 지연 시간, 잠재적 캐싱 문제를 발생시키고 문제 해결을 복잡하게 만듭니다.

![\[콘텐츠 오리진과 MediaTailor 사이에 위치한 CDN을 보여주는 다이어그램\]](http://docs.aws.amazon.com/ko_kr/mediatailor/latest/ug/images/cdn-not-recommended-positioning.png)


## 요청 및 응답 흐름
<a name="understand-request-flow"></a>

CDN을 사용하여 동적 광고 삽입을 구현할 때이 요청 및 응답 흐름을 지원하도록 시스템을 구성합니다.

1. MediaTailor를 매니페스트 오리진으로 사용하여 CDN에서 다변량 재생 목록(HLS) 또는 MPDs(DASH)를 요청하도록 플레이어를 구성합니다.

1. 모든 쿼리 파라미터 및 헤더를 포함하여 모든 다변량 재생 목록, 미디어 재생 목록 및 MPD 요청을 MediaTailor에 전달하도록 CDN을 설정합니다.

1. MediaTailor가 광고 결정 서버(ADS)와 통신하여 쿼리 파라미터 및 헤더를 전달할 수 있는지 확인합니다.

1. 쿼리 파라미터를 사용하여 삽입할 광고를 결정하도록 ADS를 구성합니다.

1. MediaTailor 재생 구성에서 CDN 접두사를 설정하여 MediaTailor가 콘텐츠 및 광고 세그먼트 URL 접두사로 CDN 도메인 이름을 대체할 수 있도록 합니다.

1. MediaTailor에서 요청 플레이어로 개인화된 다변량 재생 목록, 미디어 재생 목록 및 MPDs를 전달하도록 CDN을 구성합니다.

1. 세그먼트 URLs 번역하도록 CDN을 설정하고 콘텐츠 세그먼트 요청을 오리진 서버로 전달하고 광고 요청을 MediaTailor가 트랜스코딩된 광고를 저장하는 Amazon S3 버킷으로 전달합니다.

### 광고 삽입에 대한 CDN 용어
<a name="ssai-cdn-terminology"></a>

이러한 주요 용어를 이해하면 광고 삽입 CDN 통합을 구현하고 문제를 해결하는 데 도움이 됩니다.

오리진 CDN 및 엣지 CDN  
**오리진 CDN**: MediaTailor와 콘텐츠 오리진 사이에 위치한 CDN입니다. 오리진 서버의 부하를 줄이기 위해 콘텐츠 세그먼트를 캐싱합니다. 다중 CDN 아키텍처에서이 계층은 오리진과 직접 인터페이스하는 첫 번째 CDN 계층입니다.  
**엣지 CDN**: 최종 사용자와 MediaTailor 사이에 위치한 CDN입니다. 시청자에게 개인화된 매니페스트와 콘텐츠를 제공합니다. 다중 CDN 아키텍처에서이 계층은 최종 사용자와 직접 인터페이스하는 가장 바깥쪽의 CDN 계층입니다.

CDN 구성 용어  
**캐시 동작**: CDN이 다양한 유형의 요청을 처리하는 방법을 결정하는 규칙입니다. 이러한 규칙은 다음과 같습니다.  
+ 캐싱 기간 설정
+ 오리진 라우팅 구성
+ 요청 처리 파라미터
**TTL(Time To Live)**: 오리진에서 새로 고쳐야 하기 전에 CDN 캐시에서 콘텐츠가 유효한 상태로 유지되는 기간입니다.  
**캐시 키**: CDN이 캐시된 콘텐츠를 저장하고 검색하는 데 사용하는 고유 식별자입니다. 여기에는 일반적으로 다음이 포함됩니다.  
+ URL 경로
+ 쿼리 파라미터
+ 선택한 헤더
**오리진 실드**: CDN 엣지 로케이션과 오리진 서버 간의 중간 캐싱 계층입니다. 오리진에 대한 요청 수를 줄입니다.  
**요청 축소**: 동일한 콘텐츠에 대한 여러 동시 요청을 단일 오리진 요청으로 결합하는 CDN 기능입니다.

MediaTailor별 CDN 용어  
**CDN 콘텐츠 세그먼트 접두사**: 매니페스트의 콘텐츠 세그먼트에 대한 URLs 생성할 때 AWS Elemental MediaTailor 에서 사용하는 CDN 도메인 이름입니다.  
**CDN 광고 세그먼트 접두사**: MediaTailor가 매니페스트의 광고 세그먼트에 대한 URLs을 생성할 때 사용하는 CDN 도메인 이름입니다.

MediaTailor를 사용한 CDN 구성에 대한 자세한 내용은 섹션을 참조하세요[CDN 통합 설정](cdn-configuration.md).

**참고**  
이러한 용어는 채널 어셈블리 설명서에 사용된 용어와 일치합니다. 채널 어셈블리 용어는 섹션을 참조하세요[채널 어셈블리에 대한 CDN 용어](channel-assembly-cdn-architecture.md#cdn-terminology).

# 최적의 광고 전송을 위해 CDN을 사용하여 기본 MediaTailor SSAI 설정
<a name="configuring-ssai-cdn"></a>

이 섹션에서는 비디오 수익화 워크플로를 최적화하기 위해 콘텐츠 전송 네트워크(CDN)를 사용하여 AWS Elemental MediaTailor 동적 광고 삽입을 구성하는 step-by-step 지침을 제공합니다.

동적 변수를 사용한 고급 광고 서버 구성은 섹션을 참조하세요[ADS 요청에 대한 MediaTailor 동적 광고 변수](variables.md). 광고 대상 지정을 위해 CDNs[MediaTailor 매니페스트 쿼리 파라미터](manifest-query-parameters.md).

CDNs[CDN 및 MediaTailor 통합을 위한 광고 삽입 아키텍처 이해](ssai-cdn-architecture-overview.md).

## 사전 조건
<a name="prerequisites-ad-insertion-cdn"></a>

CDN을 사용하여 광고 삽입을 설정하기 전에 다음을 확인해야 합니다.
+ 활성 AWS Elemental MediaTailor 구성
+ 적절한 광고 마커가 있는 HLS 또는 DASH 콘텐츠를 제공하는 콘텐츠 오리진 서버

  광고 마커에 대한 자세한 내용은 섹션을 참조하세요[광고 삽입 동작 이해](ad-behavior.md).
+ 광고 타겟팅을 위해 VAST 또는 VMAP를 지원하는 광고 결정 서버(ADS)
+ CDN 계정(예: Amazon CloudFront 또는 다른 CDN 공급자)
+ 매니페스트 조작 및 동적 광고 삽입 개념에 대한 기본 지식

## 1단계: 최적의 광고 전송을 위해 CDN 캐싱 구성
<a name="configure-cdn-caching"></a>

비디오 수익화 워크플로의 성능을 최적화하려면 적절한 CDN 캐싱 구성이 중요합니다. 캐싱 요구 사항은 서버 측 광고 삽입(SSAI)과 서버 안내 광고 삽입(SGAI) 간에 다릅니다. 다음 권장 설정을 사용하여 콘텐츠와 개인 맞춤형 광고를 효율적으로 제공할 수 있습니다.

### SSAI CDN 캐싱 설정
<a name="ssai-caching-settings"></a>

서버 측 광고 삽입 워크플로의 경우 최적의 성능을 위해서는 적절한 캐싱 구성이 중요합니다. SSAI에는 세그먼트가 효율적으로 캐싱되는 동안 개인화된 매니페스트가 캐싱되지 않도록 특정 TTL 값과 캐시 키 설정이 필요합니다.

TTL 값, 경로 패턴 및 캐시 키 구성을 포함한 자세한 SSAI 캐싱 설정은 CDN 최적화 가이드[서버 측 광고 삽입(SSAI) 캐싱](cdn-optimize-caching.md#ssai-caching-optimization)의 섹션을 참조하세요.

SSAI의 주요 캐싱 원칙:
+ **매니페스트**: 맞춤형 콘텐츠의 캐싱을 방지하기 위해 TTL을 0초로 설정
+ **세그먼트**: 오리진 로드를 줄이기 위해 공격적으로 캐싱(24시간 이상)
+ **캐시 키**: 매니페스트의 모든 쿼리 파라미터 포함, 세그먼트의 URL 경로만 포함

### SGAI CDN 캐싱 설정
<a name="sgai-caching-settings"></a>

서버 가이드 광고 삽입 워크플로의 경우 SGAI 매니페스트를 단기간 캐시하면서 맞춤형 광고 경험을 제공할 수 있으므로 캐싱 요구 사항은 SSAI와 다릅니다.

VOD 및 라이브 TTL 값을 포함한 포괄적인 SGAI 캐싱 설정은 최적화 가이드의 캐싱 테이블을 참조하세요. SGAI를 사용하면 광고 개인화 기능을 유지하면서 SSAI보다 캐시 효율성을 높일 수 있습니다.

주요 SGAI 캐싱 차이점:
+ **매니페스트**: 단기 캐시 가능(VOD의 경우 5\$130분, 라이브의 경우 2\$110초)
+ **세그먼트**: SSAI처럼 공격적으로 캐시(대부분의 콘텐츠에서 24시간 이상)
+ **성능 이점**: 캐시 가능한 매니페스트로 인해 SSAI보다 캐시 적중률이 우수함

Amazon CloudFront의 경우 다양한 TTL 값과 캐시 키 정책이 있는 캐시 동작을 사용하여 이러한 설정을 구현할 수 있습니다. 다른 CDNs 경우 유사한 캐싱 규칙을 구현하기 위한 특정 설명서를 참조하세요.

## 2단계: 하이브리드 접근 방식 구현(필요한 경우)
<a name="implement-hybrid-approach"></a>

아키텍처에 콘텐츠 오리진과 MediaTailor 간에 별도의 CDN 또는 캐싱 계층이 있는 하이브리드 접근 방식이 필요한 경우:

1. CDN 구성에서 문제를 명확하게 분리합니다.

1. 이전 단원에서 설명한 기술적 문제를 방지하려면 특정 CDN 설정을 구성합니다.

1. 구성을 철저히 테스트하여 매니페스트 개인화 기능이 올바르게 작동하는지 확인합니다.

1. 성능 지표를 모니터링하여 다변량 재생 목록, 미디어 재생 목록, MPDs 및 세그먼트를 최적으로 제공할 수 있습니다.

하이브리드 접근 방식을 구현할 때는 다음과 같은 특정 구성을 고려하세요.
+ 콘텐츠 오리진과 MediaTailor 간의 CDN의 경우:
  + 원본에서 원래 압축 상태를 보존하도록 매니페스트 파일에 대한 압축 패스스루 구성
  + 캐시 키에 모든 쿼리 파라미터 포함
  + 라이브 콘텐츠 매니페스트에 대한 짧은 TTL 값 설정
+ MediaTailor와 뷰어 간의 CDN의 경우:
  + 광고 세그먼트에 대해 더 긴 캐시 시간 구성
  + 개인화된 매니페TTLs 설정
  + 콘텐츠 및 광고 세그먼트에 대한 적절한 오리진 라우팅 구현

## 3단계: CDN 설정 완료
<a name="complete-cdn-setup"></a>

아키텍처를 선택하고 요청 흐름을 이해한 후의 세부 구성 단계에 따라 설정을 완료합니다[CDN 통합 설정](cdn-configuration.md).

특정 CDN 공급자의 경우 다음 추가 리소스를 참조하세요.
+ Amazon CloudFront: CloudFront별 구성 단계는 섹션을 참조[CloudFront 통합](cloudfront-specific-recommendations.md)하세요.
+ 기타 CDNs:이 가이드에 설명된 일반 원칙을 적용하여 특정 CDN의 구성 옵션에 맞게 조정

## 4단계: 구성 확인
<a name="verification-steps"></a>

CDN 설정을 완료한 후 동적 광고 삽입 워크플로가 올바르게 작동하는지 확인합니다.

1. 샘플 플레이어를 사용하여 CDN을 통해 재생 테스트

1. 맞춤형 광고가 지정된 광고 중단점에 올바르게 삽입되었는지 확인

1. CDN 로그를 확인하여 적절한 요청 라우팅 확인

1. 캐시 적중률을 모니터링하여 콘텐츠 및 광고 세그먼트 모두에서 최적의 성능을 보장합니다.

1. 광고 대상 지정 파라미터가 워크플로를 통해 제대로 전달되고 있는지 확인

포괄적인 테스트 및 검증 절차는 섹션을 참조하세요[CDN 및 MediaTailor 통합 테스트 및 검증](cdn-integration-testing.md). SSAI 구현 모니터링에 대한 자세한 내용은 섹션을 참조하세요[CDN 및 MediaTailor 통합에 대한 작업 모니터링](ssai-cdn-monitor.md). 성능을 최적화하려면 섹션을 참조하세요[CDN 및 MediaTailor 통합을 위한 성능 최적화](ssai-cdn-performance.md).

# MediaTailor SSAI를 수익화된 선형 채널의 채널 어셈블리와 통합
<a name="ssai-ca-integration"></a>

이 주제에서는 AWS Elemental MediaTailor 서버 측 광고 삽입을 채널 어셈블리 및 콘텐츠 전송 네트워크(CDN) 통합과 결합하는 방법을 설명합니다. 이 통합을 통해 다음을 수행할 수 있습니다.
+ 맞춤형 광고를 통해 수익화된 선형 채널 생성
+ 동일한 콘텐츠를 시청하는 다른 시청자에게 대상 광고를 제공합니다.
+ 방송 품질 시청 경험 유지

## SSAI를 채널 어셈블리와 결합할 때의 이점
<a name="ssai-ca-integration-benefits"></a>

SSAI를 채널 어셈블리와 통합하면 다음과 같은 몇 가지 주요 이점이 있습니다.

선형 채널의 수익화  
맞춤형 광고를 선형 채널에 삽입하여 콘텐츠 라이브러리에서 수익을 창출합니다. 단일 선형 스트림 내에서 라이브 콘텐츠와 VOD 콘텐츠를 모두 수익화할 수 있습니다.

맞춤형 광고  
동일한 채널 콘텐츠를 시청하는 다양한 시청자에게 다양한 광고를 제공합니다. 이 목표 접근 방식은 기존 방송 광고에 비해 광고 관련성과 잠재적 수익을 높입니다.

간소화된 광고 시간 관리  
SCTE-35 마커로 콘텐츠를 조건화할 필요 없이 채널 어셈블리 프로그램에서 광고 중단점을 정의합니다. 이렇게 하면 콘텐츠의 자연스러운 중단점에 광고를 더 쉽게 삽입할 수 있습니다.

방송 품질 경험  
MediaTailor는 콘텐츠와 광고 간의 원활한 전환을 통해 고품질 시청 환경을 유지합니다. 서버 측 광고 삽입은 다음과 같은 많은 일반적인 문제를 제거합니다.  
+ 광고 전환 중 버퍼링
+ 수익화를 방지하는 광고 차단기
+ 일관되지 않은 재생 품질

확장 가능한 전송  
CDN과 결합하면 성능 또는 개인화 기능이 저하되지 않고 수백만 명의 동시 뷰어로 확장할 수 있습니다.

## 아키텍처 개요
<a name="ssai-ca-integration-architecture"></a>

SSAI를 채널 어셈블리와 결합하기 위한 아키텍처에는 일반적으로 다음과 같은 구성 요소가 포함됩니다.
+ 채널 어셈블리: VOD 및 라이브 콘텐츠에서 선형 채널을 생성하고 생성된 매니페스트에 광고 마커를 생성하는 슬레이트 콘텐츠를 삽입합니다.
+ 광고 삽입: 광고 중단점을 인식하고 매니페스트에서 개인화된 광고 세그먼트를 가리키URLs을 삽입합니다.
+ 광고 결정 서버(ADS): 각 뷰어에 삽입할 광고를 결정합니다.
+ 콘텐츠 전송 네트워크(CDN): 수집된 콘텐츠와 광고 세그먼트를 최종 사용자에게 전달합니다.
+ 오리진 서버: VOD 및 라이브 콘텐츠 세그먼트를 저장합니다.

이 아키텍처에서,

1. 채널 어셈블리는 VOD 및 라이브 콘텐츠에서 선형 채널을 생성하고 생성된 매니페스트에 광고 마커를 생성하는 슬레이트 콘텐츠를 삽입합니다.

1. 최종 사용자가 채널을 요청하면 광고 삽입은 선형 채널에 삽입된 광고 시간을 인식합니다.

1. 광고 삽입은 ADS를 호출하여 광고 목록을 수신하고, 트랜스코딩하고, 트랜스코딩된 광고 세그먼트를 가리키URLs을 개인화된 매니페스트에 삽입합니다.

1. CDN은 최종 사용자에게 개인화된 스트림을 전달합니다.

다음 다이어그램은이 워크플로를 보여줍니다.

![\[채널 어셈블리 및 광고 삽입과 CDN의 통합을 보여주는 다이어그램\]](http://docs.aws.amazon.com/ko_kr/mediatailor/latest/ug/images/ca-ssai-comb-cdn.png)


## 통합 설정
<a name="ssai-ca-integration-setup"></a>

채널 어셈블리를 사용하여 SSAI를 설정하려면:

1. 최종 사용자의 매니페스트 요청을 수락하고 AWS Elemental MediaTailor 광고 삽입에 전달하도록 엣지 CDN을 구성합니다.

1. MediaTailor 광고 삽입을 설정하여 오리진 CDN에 요청을 전달합니다.

1. MediaTailor 채널 어셈블리에 요청을 전달하도록 오리진 CDN을 구성합니다.

1. 현재 일정에 따라 동적 매니페스트를 생성하도록 MediaTailor 채널 어셈블리를 설정합니다.

1. 구성된 매니페스트를 MediaTailor 광고 삽입에 전달하도록 오리진 CDN을 구성합니다.

1. MediaTailor 광고 삽입을 설정하여 광고 중단 시점에 광고 결정 서버에 광고 결정을 요청합니다.

1. 광고 마커(채널 어셈블리)를 대상 광고 세그먼트(ADS)를 가리키는 URLs로 대체하여 매니페스트를 개인화하도록 MediaTailor 광고 삽입을 구성합니다.

1. 최종 사용자에게 개인화된 매니페스트를 제공하도록 엣지 CDN을 설정합니다.

1. 콘텐츠 및 광고 세그먼트 요청을 효율적으로 처리하도록 CDN 아키텍처를 구성합니다.

## 채널 어셈블리의 광고 시간 정의
<a name="ssai-ca-integration-adbreaks"></a>

채널 어셈블리에서 프로그램을 생성할 때 다음과 같은 여러 가지 방법으로 광고 시간을 정의할 수 있습니다.

프로그램 전환  
채널 일정의 프로그램 간에 광고를 삽입합니다. 이는 가장 간단한 접근 방식이며 광고가 프로그램 콘텐츠를 중단하지 않도록 합니다.

SCTE-35 마커  
VOD 콘텐츠에 SCTE-35 마커가 포함된 경우 채널 어셈블리는 이러한 마커를 보존할 수 있으며 광고 삽입은 이를 광고 중단점으로 사용할 수 있습니다.

시간 기반 삽입  
프로그램 내 특정 시점에 광고 시간을 정의합니다. 이렇게 하면 콘텐츠의 자연스러운 중단점에 광고를 삽입할 수 있습니다.

광고 시간을 사용하여 프로그램을 생성하는 방법에 대한 자세한 내용은 [프로그램 작업을](https://docs.aws.amazon.com/mediatailor/latest/ug/channel-assembly-programs.html) 참조하세요.

## CDN 캐싱 고려 사항
<a name="ssai-ca-integration-caching"></a>

채널 어셈블리와 SSAI를 CDN과 결합할 때 최적의 성능을 얻으려면:
+ 채널 어셈블리와 SSAI 요청을 구분하는 캐시 동작 구성
+ 의 권장 사항에 따라 매니페스트 및 세그먼트에 적절한 TTL 값을 설정합니다. [1단계: 최적의 광고 전송을 위해 CDN 캐싱 구성](configuring-ssai-cdn.md#configure-cdn-caching) 
+ 채널 어셈블리, 광고 삽입 및 CDN 오리진 간에 적절한 라우팅 보장
+ 채널 어셈블리 및 광고 삽입 구성 요소 모두에 대한 성능 지표 모니터링


**통합 구현을 위한 권장 캐싱 설정**  

| 콘텐츠 유형 | TTL | 캐시 키 요소 | 
| --- | --- | --- | 
| 채널 어셈블리 매니페스트 | 0초 | URL 경로 \$1 쿼리 파라미터 | 
| SSAI 개인화된 매니페스트 | 0초 | URL 경로 \$1 모든 쿼리 파라미터 | 
| 콘텐츠 세그먼트 | 24시간 이상 | URL 경로만 | 
| 광고 세그먼트 | 24시간 이상 | URL 경로만 | 

## 통합 솔루션 모니터링
<a name="ssai-ca-integration-monitoring"></a>

통합 솔루션이 최적으로 작동하는지 확인하려면 다음 주요 지표를 모니터링하세요.

채널 어셈블리 지표  
매니페스트 생성 시간, 프로그램 전환 및 채널 어셈블리 프로세스의 오류를 모니터링합니다.

광고 삽입 지표  
광고 채우기 속도, 광고 결정 서버 응답 시간 및 광고 삽입 오류를 추적합니다.

CDN 지표  
콘텐츠 및 광고 세그먼트 모두에 대한 캐시 적중률, 오리진 요청 볼륨 및 응답 지연 시간을 모니터링합니다.

최종 사용자 경험 지표  
특히 광고 전환 중에 재버퍼링 이벤트, 시작 시간 및 최종 사용자 참여를 추적합니다.

모니터링에 대한 자세한 내용은 [CDN 및 MediaTailor 통합에 대한 작업 모니터링](ssai-cdn-monitor.md) 및 단원을 참조하십시오[MediaTailor 채널 어셈블리 CDN 작업 모니터링](ca-cdn-monitor.md).

## 일반적인 문제 해결
<a name="ssai-ca-integration-troubleshooting"></a>

통합 솔루션 관련 문제를 해결할 때는 다음과 같은 일반적인 문제를 고려하십시오.

광고 중단 동기화 문제  
광고가 예상 중단점에 나타나지 않는 경우 채널 어셈블리 프로그램의 광고 중단 정의가 올바르게 구성되었는지, 광고 삽입이 이러한 중단점을 올바르게 식별하는지 확인합니다.

매니페스트 전송 오류  
최종 사용자에게 재생 문제가 발생하는 경우 CDN이 채널 어셈블리와 광고 삽입 간에 매니페스트 요청을 올바르게 전달하고 캐시 설정이 이러한 매니페스트의 동적 특성에 적합한지 확인합니다.

세그먼트 라우팅 문제  
콘텐츠 또는 광고 세그먼트가 로드되지 않는 경우 CDN이 세그먼트 요청을 적절한 오리진으로 올바르게 라우팅하고 매니페스트의 세그먼트 URLs의 형식이 올바른지 확인합니다.

성능 저하  
최종 사용자가 버퍼링 또는 지연 시간이 긴 경우 CDN 캐시 적중률 및 오리진 요청 볼륨을 확인하여 전송 파이프라인의 잠재적 병목 현상을 식별합니다.

문제 해결 지침은 [중단 없는 광고 전송을 위해 CDNs 사용한 MediaTailor SSAI 문제 해결](troubleshooting-ssai-cdn.md) 섹션을 참조하세요.

## 모범 사례
<a name="ssai-ca-integration-best-practices"></a>

SSAI를 채널 어셈블리와 성공적으로 통합하려면 다음 모범 사례를 따르세요.
+ **철저한 테스트**: 프로덕션에 배포하기 전에 다양한 콘텐츠 유형, 광고 시나리오 및 최종 사용자 조건으로 통합 솔루션을 테스트합니다.
+ **지속적인 모니터링**: 발생하는 문제를 신속하게 식별하고 해결할 수 있도록 포괄적인 모니터링 및 알림을 설정합니다.
+ **캐싱 최적화**: 실제 사용 패턴 및 성능 지표를 기반으로 CDN 캐싱 설정을 정기적으로 검토하고 조정합니다.
+ **규모 조정 계획**: 특히 인기 있는 채널 또는 이벤트의 경우 피크 트래픽 로드를 처리하도록 아키텍처를 설계합니다.
+ **중복성 고려**: 중요한 구성 요소에 중복성을 구현하여 선형 채널의 고가용성을 보장합니다.
+ **광고 전환 최적화**: 일관된 인코딩 프로필과 세그먼트 기간을 사용하여 콘텐츠와 광고 간의 원활한 전환을 보장합니다.

## 관련 정보
<a name="ssai-ca-integration-related"></a>

SSAI를 채널 어셈블리와 통합하는 방법에 대한 자세한 내용은 다음을 참조하세요.

채널 어셈블리 설명서  
[AWS Elemental MediaTailor 를 사용하여 선형 어셈블 스트림 생성](channel-assembly.md) - 채널 어셈블리 개념에 대해 알아보기  
[CDN을 사용한 채널 어셈블리](ca-cdn-wflw.md) - CDN을 사용하여 채널 어셈블리 설정

SSAI 설명서  
[CDN을 사용한 광고 삽입](ssai-cdn-workflow.md) - CDN을 사용하여 광고 삽입 설정  
[CDN 및 MediaTailor 통합을 위한 광고 삽입 아키텍처 이해](ssai-cdn-architecture-overview.md) - 광고 삽입 CDN 아키텍처 이해

CDN 구성  
[CDN 통합 설정](cdn-configuration.md) - 일반 CDN 구성 지침  
[CloudFront 통합](cloudfront-specific-recommendations.md) - CloudFront별 구성

# CDN 및 MediaTailor 통합을 위한 성능 최적화
<a name="ssai-cdn-performance"></a>

콘텐츠 전송 네트워크(CDN) 구성을 최적화하여 AWS Elemental MediaTailor 광고 삽입 구현의 성능을 극대화합니다. 이러한 설정은 효율적인 콘텐츠 전송과 최적의 시청자 경험을 보장합니다.

SSAI 구현과 관련된 자세한 캐싱 및 라우팅 최적화 지침은 섹션을 참조하세요[CDN 성능 최적화](cdn-optimization.md). 통합 최적화 가이드는 모든 MediaTailor CDN 통합에 적용되는 포괄적인 캐싱 설정, 요청 라우팅 구성 및 성능 벤치마크를 제공합니다.

## 일반적인 성능 문제
<a name="ssai-cdn-performance-challenges"></a>

CDNs을 사용한 SSAI 구현은 다음과 같은 몇 가지 성능 문제에 직면할 수 있습니다.

매니페스트 조작 오버헤드  
MediaTailor는 실시간 매니페스트 조작을 수행하므로 제대로 최적화되지 않으면 지연 시간이 발생할 수 있습니다. 다음은 지연 시간을 초래할 수 있습니다.  
+ 광고 결정 서버(ADS) 요청 처리 시간
+ 광고 세그먼트 참조를 사용하여 매니페스트를 수정하는 데 필요한 시간
+ 개인화를 위한 추가 처리

캐시 효율성 문제  
개인화된 매니페스트는 다음과 같은 이유로 CDN 캐시 효율성을 줄일 수 있습니다.  
+ 각 최종 사용자는 고유한 매니페스트를 수신할 수 있습니다.
+ 세션 파라미터는 캐시를 조각화할 수 있습니다.
+ 동적 콘텐츠에는 신중한 캐시 구성이 필요합니다.

오리진 로드 스파이크  
캐싱이 잘못되면 다음 중에 오리진 로드가 급증할 수 있습니다.  
+ 트래픽이 많은 이벤트
+ 캐시 새로 고침
+ CDN 구성 변경 사항

광고 관련 재생 문제  
광고 삽입으로 인해 다음과 같은 재생 중단이 발생할 수 있습니다.  
+ 광고 전환 중 버퍼링
+ 콘텐츠와 광고의 품질 차이
+ 광고를 검색할 수 없는 경우 재생 실패

캐싱 전략, 요청 라우팅, 성능 벤치마크 및 고급 최적화 기술을 포함한 포괄적인 성능 최적화 지침은 섹션을 참조하세요[CDN 성능 최적화](cdn-optimization.md). 통합 최적화 가이드는 SSAI 구현을 포함한 모든 MediaTailor CDN 통합에 적용되는 자세한 설정 및 벤치마크를 제공합니다.

## 모범 사례 요약
<a name="ssai-cdn-performance-best-practices"></a>

CDNs.

아키텍처 모범 사례  
+ 규모 및 요구 사항에 적합한 아키텍처 패턴 선택
+ 가까운 곳에 서비스를 배포하여 지연 시간 최소화
+ 중요한 구성 요소에 대한 중복성 구현

캐싱 모범 사례  
+ 다양한 콘텐츠 유형에 대해 다양한 캐싱 전략 사용
+ 캐시 키를 최적화하여 개인화와 효율성의 균형을 맞춥니다.
+ 콘텐츠 유형 및 업데이트 빈도에 따라 적절한 TTLs 설정합니다. 자세한 TTL 권장 사항은 섹션을 참조하세요[CDN 및 MediaTailor 통합을 위한 캐싱 최적화](cdn-optimize-caching.md).

광고 전송 모범 사례  
+ 제한 시간 및 폴백을 사용하여 ADS 상호 작용 최적화
+ 콘텐츠 사양과 일치하도록 광고 준비
+ 효율적인 광고 세그먼트 전달 구현

모니터링 모범 사례  
+ SSAI 구현의 모든 구성 요소 모니터링
+ 성능 저하에 대한 알림 설정
+ 구성을 정기적으로 검토하고 최적화합니다.

## 전체 최적화 지침
<a name="ssai-optimization-reference"></a>

자세한 캐싱 전략, 요청 라우팅 구성, 성능 벤치마크 및 고급 최적화 기술을 포함한 포괄적인 CDN 최적화 지침은 섹션을 참조하세요[CDN 성능 최적화](cdn-optimization.md). 통합 최적화 가이드는 SSAI 구현을 포함한 모든 MediaTailor CDN 통합에 적용되는 전체 설정 및 벤치마크를 제공합니다.

# CDN 및 MediaTailor 통합에 대한 작업 모니터링
<a name="ssai-cdn-monitor"></a>

AWS Elemental MediaTailor 는 콘텐츠 전송 네트워크(CDN) 지표와 결합할 때 SSAI 구현에 대한 포괄적인 인사이트를 제공하는 강력한 분석 기능을 제공합니다. 이 주제에서는 다음 내용을 다룹니다.

모든 MediaTailor 구현에 적용되는 필수 지표, 모니터링 도구 설정, 알림 구성 및 문제 해결 전략을 포함한 포괄적인 CDN 모니터링 지침은 섹션을 참조하세요[CDN 모니터링](cdn-monitoring.md). 이 주제에서는 SSAI별 모니터링 요구 사항 및 광고 삽입 분석에 중점을 둡니다.
+ SSAI 및 CDN 통합을 위한 모니터링 전략
+ 분석 도구 및 데이터 수집 방법
+ 데이터 기반 최적화 기법

## CDNs 있는 SSAI의 주요 지표
<a name="ssai-cdn-monitor-metrics"></a>

CDNs을 사용하여 SSAI 구현을 효과적으로 모니터링하려면 다음 필수 지표를 추적합니다.

광고 삽입 지표  
**광고 채우기 속도**: 광고로 성공적으로 채워진 광고 기회의 백분율입니다.  
**광고 오류율**: 오류가 발생한 광고 요청의 백분율입니다.  
**광고 응답 시간**: 광고 결정 서버가 광고 요청에 응답하는 데 걸리는 시간입니다.  
**광고 기간 정확도**: 삽입된 광고의 실제 기간이 예상 기간과 얼마나 일치하는지.

최종 사용자 경험 지표  
**재버퍼링 비율**: 버퍼링에 소요된 보기 시간의 백분율입니다.  
**시작 시간**: 비디오 재생을 시작하는 데 걸리는 시간입니다.  
**광고 전환 평활도**: 플레이어가 콘텐츠와 광고 간에 얼마나 원활하게 전환되는지.  
**세션 기간**: 스트림을 중단하기 전에 시청하는 시간입니다.

## 분석 도구 및 통합
<a name="ssai-cdn-monitor-tools"></a>

이러한 도구를 결합하여 SSAI 구현을 위한 포괄적인 분석 솔루션을 생성합니다.

AWS Elemental MediaTailor 서버 측 지표  
MediaTailor는 Amazon CloudWatch를 통해 광고 요청, 응답 및 오류를 추적하는 기본 제공 지표를 제공합니다. 이러한 지표는 CloudWatch 콘솔에서 보거나 사용자 지정 대시보드에 통합할 수 있습니다.  
주요 MediaTailor 지표는 다음과 같습니다.  
+ `AdDecisionServer.Ads`: 광고 결정 서버에서 반환한 광고 수입니다.
+ `AdDecisionServer.Duration`: 광고 결정 서버에서 반환한 총 광고 기간입니다.
+ `AdDecisionServer.Errors`: 광고 결정 서버에서 반환한 오류 수입니다.
+ `AdDecisionServer.Latency`: 광고 결정 서버의 응답 시간입니다.
MediaTailor 지표의 전체 목록은 [ Amazon CloudWatch를 사용하여 MediaTailor 모니터링을](https://docs.aws.amazon.com/mediatailor/latest/ug/monitoring-cloudwatch.html) 참조하세요.

CDN 분석  
CDN 공급자는 콘텐츠 전송 성능에 대한 자세한 분석을 제공합니다. Amazon CloudFront의 경우 CloudWatch 지표 및 Amazon CloudFront 액세스 로그를 사용하여 전송 패턴을 분석합니다.  
모니터링할 중요 CDN 지표:  
+ 콘텐츠 유형별 요청 수(매니페스트 대 세그먼트)
+ 다양한 콘텐츠 유형에 대한 캐시 적중률
+ 최종 사용자의 지리적 분포
+ 오류 코드별 오류 발생률

클라이언트 측 추적  
클라이언트 측 추적을 구현하여 서버 측에서 사용할 수 없는 최종 사용자 경험 지표를 수집합니다.  
+ 플레이어 이벤트(재생, 일시 중지, 탐색, 버퍼)
+ 광고 보기 완료율
+ 서비스 품질 지표(해상도 변경 사항, 비트 전송률)
+ 최종 사용자 참여 패턴
MediaTailor 클라이언트 측 추적을 사용하여 이러한 지표를 수집하고 보고하는 것이 좋습니다.

통합 대시보드  
여러 소스의 지표를 결합하는 포괄적인 대시보드를 생성합니다.  
+ CloudWatch 대시보드를 사용하여 MediaTailor 및 CloudFront 지표 결합
+ 고급 시각화를 위해 타사 분석 플랫폼 고려
+ 교차 서비스 상관관계를 설정하여 지표 간 관계 식별

## 모니터링 전략 구현
<a name="ssai-cdn-monitor-implementation"></a>

다음 단계에 따라 CDN 구현을 통해 SSAI에 대한 포괄적인 모니터링 전략을 구현합니다.

1. **기본 모니터링 설정**
   + MediaTailor에 대한 CloudWatch 지표 활성화
   + CDN 로깅 및 지표 수집 구성
   + 비디오 플레이어에서 클라이언트 측 추적 구현

1. **사용자 지정 대시보드 생성**
   + 주요 지표를 결합하는 CloudWatch 대시보드 구축
   + 광고 채우기 속도, CDN 성능 및 최종 사용자 경험에 대한 시각화 포함
   + 중요한 이벤트에 대한 주석 추가(구성 변경, 주요 브로드캐스트)

1. **알림 구성**
   + 중요 지표에 대한 CloudWatch 경보 설정
   + 여러 관련 조건에서 트리거되는 복합 경보 생성
   + 알림 채널 구성(이메일, SMS, Amazon SNS)

1. **자동 응답 구현**
   + CloudWatch Events를 사용하여 일반적인 문제에 대한 자동 응답 트리거
   + 필요한 경우 수동 개입을 위한 실행서 생성
   + 다양한 알림 시나리오에 대한 문제 해결 절차 문서화

**Example 포괄적인 SSAI 모니터링 대시보드 생성**  
이 예제에서는 MediaTailor와 CloudFront 지표를 결합하는 CloudWatch 대시보드를 생성하는 방법을 보여줍니다. CloudFront   

```
{
  "widgets": [
    {
      "type": "metric",
      "properties": {
        "metrics": [
          [ "AWS/MediaTailor", "AdDecisionServer.Ads", "Configuration", "your-config-name" ],
          [ ".", "AdDecisionServer.Errors", ".", "." ]
        ],
        "period": 300,
        "stat": "Sum",
        "region": "us-west-2",
        "title": "Ad Decision Server Performance"
      }
    },
    {
      "type": "metric",
      "properties": {
        "metrics": [
          [ "AWS/CloudFront", "Requests", "DistributionId", "your-distribution-id" ],
          [ ".", "4xxErrorRate", ".", "." ],
          [ ".", "5xxErrorRate", ".", "." ]
        ],
        "period": 300,
        "stat": "Average",
        "region": "us-east-1",
        "title": "CDN Performance"
      }
    }
  ]
}
```

## 데이터 기반 최적화
<a name="ssai-cdn-monitor-optimization"></a>

수집한 분석 데이터를 사용하여 SSAI 구현을 최적화합니다.

CDN 캐시 최적화  
캐시 적중률을 분석하여 개선 기회를 식별합니다.  
+ 콘텐츠 유형 및 업데이트 빈도에 따라 TTL 설정을 조정합니다. 자세한 TTL 권장 사항은 섹션을 참조하세요[1단계: 최적의 광고 전송을 위해 CDN 캐싱 구성](configuring-ssai-cdn.md#configure-cdn-caching).
+ 캐시 키 설정을 최적화하여 캐시 효율성 향상
+ 다중 계층 캐싱을 위한 오리진 실드 구현 고려

광고 전송 최적화  
광고 성능 지표를 사용하여 광고 전송을 개선합니다.  
+ 일반적인 광고 삽입 오류 식별 및 해결
+ 광고 결정 서버 응답 시간 최적화
+ 채우기 속도 분석을 기반으로 광고 대상 지정 파라미터 조정

최종 사용자 경험 최적화  
클라이언트 측 지표를 기반으로 최종 사용자 경험을 개선합니다.  
+ 광고 시간 중 드롭오프 패턴 분석
+ 원활한 재생을 위해 광고 전환 지점 최적화
+ 최종 사용자 참여 데이터를 기반으로 광고 빈도 및 기간 조정

비용 최적화  
성능 및 비용 고려 사항의 균형을 맞춥니다.  
+ 대역폭 사용 패턴을 분석하여 CDN 비용 최적화
+ CloudFront 배포에 대한 가격 등급 조정 고려
+ 다양한 캐싱 전략의 비용 이점 평가

## 모범 사례
<a name="ssai-cdn-monitor-best-practices"></a>

효과적인 SSAI 모니터링 및 분석을 위해 다음 모범 사례를 따르세요.
+ **기준 설정**: 정상 작동 중에 지표를 수집하여 문제 해결 중에 비교에 사용할 수 있는 성능 기준을 설정합니다.
+ **다중 수준 모니터링 구현**: 아키텍처의 다양한 수준(오리진, CDN, 플레이어)에서 모니터링하여 성능을 전체적으로 파악할 수 있습니다.
+ **서비스 간 지표 상관관계 파악**: 문제의 근본 원인을 식별하기 위해 다양한 서비스의 지표 간 관계를 찾습니다.
+ **이상 탐지 사용**: CloudWatch 이상 탐지를 구현하여 지표에서 비정상적인 패턴을 자동으로 식별합니다.
+ **정기 검토 및 개선**: 모니터링 전략에 대한 정기 검토를 예약하고 변화하는 요구 사항과 새로운 인사이트에 따라 조정합니다.
+ 조사 **결과 및 작업 문서화**: 최적화 작업과 그 결과에 대한 기록을 유지하여 제도적 지식을 구축합니다.

## 관련 정보
<a name="ssai-cdn-monitor-related"></a>

CDNs.
+ [CDN 및 MediaTailor 통합을 위한 성능 최적화](ssai-cdn-performance.md) 성능 최적화 기술을 위한
+ [중단 없는 광고 전송을 위해 CDNs 사용한 MediaTailor SSAI 문제 해결](troubleshooting-ssai-cdn.md) 일반적인 문제 해결을 위한
+ [MediaTailor 지표에 대한 자세한 내용은 Amazon CloudWatch를 사용하여 MediaTailor 모니터링](https://docs.aws.amazon.com/mediatailor/latest/ug/monitoring-cloudwatch.html) MediaTailor 
+ [CloudFront 지표에 대한 자세한 내용은 CloudFront 및 엣지 함수 지표 보기](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/viewing-cloudfront-metrics.html) CloudFront 

# 중단 없는 광고 전송을 위해 CDNs 사용한 MediaTailor SSAI 문제 해결
<a name="troubleshooting-ssai-cdn"></a>

이 섹션에서는 콘텐츠 전송 네트워크(CDN)에서 AWS Elemental MediaTailor 동적 광고 삽입을 사용할 때 발생하는 일반적인 문제에 대한 솔루션을 제공합니다. 이러한 솔루션은 맞춤형 광고를 통해 비디오 수익화 문제를 해결하는 데 도움이 됩니다.

캐시 성능 문제, HTTP 오류 해결, 테스트 절차 및 모든 MediaTailor 구현에 적용되는 진단 기술을 포함한 포괄적인 CDN 문제 해결 지침은 섹션을 참조하세요[CDN 통합 문제 해결](cdn-troubleshooting.md). 이 섹션에서는 SSAI 관련 문제 해결 요구 사항 및 광고 삽입 문제에 중점을 둡니다.

CDN 및 SSAI 설정에서 문제가 발생하면 다음과 같은 일반적인 문제를 확인하세요.

스트림에 표시되지 않는 개인 맞춤형 광고  
ADS가 올바르게 응답하고 AWS Elemental MediaTailor 통신하는지 확인합니다. 다음과 같은 잠재적 문제를 확인합니다.  
+ CDN을 통해 제대로 전달되지 않은 광고 대상 지정 쿼리 파라미터
+ 콘텐츠에 잘못 정의된 광고 중단점
+ ADS 연결 또는 응답 문제

광고 중단 시점의 재생 오류  
콘텐츠 비트레이트 및 해상도에 맞게 광고 세그먼트가 올바르게 트랜스코딩되었는지 확인합니다. 다음과 같은 일반적인 문제를 확인합니다.  
+ 광고 세그먼트에 대한 요청을 잘못 라우팅하는 CDN
+ 전환 시점의 매니페스트 조작 오류
+ 콘텐츠와 광고 간에 일치하지 않는 인코딩 프로필

오래된 매니페스트  
라이브 콘텐츠의 경우 CDN 캐시 TTL 설정이 적절한지 확인합니다. 개인화된 매니페스트의 경우 0초의 TTL을 사용합니다. 빠르게 변화하는 매니페스트에 캐시 무효화를 구현하는 것이 좋습니다. 포괄적인 TTL 지침은 섹션을 참조하세요[CDN 및 MediaTailor 통합을 위한 캐싱 최적화](cdn-optimize-caching.md).

높은 지연 시간  
CDN 구성에서 최적의 라우팅을 확인합니다. 최상의 성능을 위해 CDN에 최종 사용자 근처에 엣지 로케이션이 있는지 확인합니다.

## 고급 문제 해결
<a name="advanced-troubleshooting"></a>

더 복잡한 문제를 해결하려면 다음과 같은 고급 문제 해결 기법을 시도해 보세요.

일관성 없는 광고 타겟팅 동작  
플레이어 요청과 ADS 요청 간에 쿼리 파라미터 불일치가 있는지 확인합니다. 필요한 모든 대상 지정 파라미터가 CDN을 통해 제대로 전달되었는지 확인합니다.

CDN 캐시 불일치  
캐시 키 구성을 확인하여 콘텐츠가 적절하게 구분되도록 합니다. 중요한 매니페스트 업데이트를 위한 캐시 제거를 구현하는 것이 좋습니다.

광고 추적 실패  
비컨 URLs 제대로 전달되고 CDN에 의해 차단되지 않았는지 확인합니다. 클라이언트 플레이어가 추적 엔드포인트에 도달할 수 있는지 확인합니다.

## 성능 최적화
<a name="performance-optimization"></a>

동적 광고 삽입 및 비디오 수익화 워크플로의 성능을 최적화하려면:
+ 콘텐츠 유형 및 뷰어 패턴을 기반으로 TTL 설정을 미세 조정합니다. 자세한 TTL 권장 사항은 섹션을 참조하세요[CDN 및 MediaTailor 통합을 위한 캐싱 최적화](cdn-optimize-caching.md).
+ 지리적 라우팅을 구현하여 글로벌 대상의 지연 시간 최소화
+ 중복성과 최적의 성능을 위해 여러 CDNs을 사용하는 것이 좋습니다.
+ 캐시 적중률 모니터링 및 그에 따라 구성 조정
+ 매니페스트 조작 프로세스를 최적화하여 광고 중단 시점의 처리 시간 단축
+ 원활한 맞춤형 광고 삽입을 위해 공통 콘텐츠 프로필과 일치하는 사전 트랜스코딩 광고

### 성능 벤치마크
<a name="performance-benchmarks"></a>

 AWS Elemental MediaTailor 광고 삽입 CDN 통합을 최적화할 때는 다음 성능 벤치마크를 목표로 하세요.

캐시 적중률 대상  
콘텐츠 세그먼트: 캐시 적중률 95% 초과  
광고 세그먼트: 캐시 적중률 90% 초과  
매니페스트: 해당 사항 없음(개인화된 광고 삽입을 위해 캐시해서는 안 됨)

지연 시간 벤치마크  
매니페스트 요청 지연 시간: 100ms 미만(P95)  
콘텐츠 세그먼트 전송: 50ms 미만(P95)  
광고 세그먼트 전송: 75ms 미만(P95)  
End-to-end 시작 시간: 2초 미만

오리진 로드 지표  
최종 사용자당 오리진 요청: 최종 사용자당 분당 요청 0.1개 미만  
최종 사용자당 오리진 대역폭: 총 최종 사용자 대역폭의 5% 미만

오류율 대상  
매니페스트 오류: 0.1% 미만  
세그먼트 오류: 0.01% 미만  
플레이어 보고 재버퍼링: 1% 미만

확장성 벤치마크  
성능 저하 없이 피크 이벤트 중 정상 트래픽의 10배 지원  
채널당 초당 1,000개 이상의 요청을 처리할 수 있는 기능

Amazon CloudWatch 지표를 사용하여 이러한 성능 지표를 추적합니다. 자세한 모니터링 지침은 섹션을 참조하세요[Amazon CloudWatch 지표 AWS Elemental MediaTailor 를 사용한 모니터링](monitoring-cloudwatch-metrics.md).

## 관련 정보
<a name="ssai-cdn-related"></a>

CDNs.

광고 삽입 설명서  
[MediaTailor 광고 삽입 시작하기](getting-started-ad-insertion.md) - 광고 삽입 개념에 대해 알아보기  
[설정](setting-up.md) - 광고 삽입 시작하기

CDN 통합  
[CDN 통합 설정](cdn-configuration.md) - 일반 CDN 구성 지침  
[CloudFront 통합](cloudfront-specific-recommendations.md) - CloudFront별 구성

채널 어셈블리 통합  
[CDN을 사용한 채널 어셈블리](ca-cdn-wflw.md) - CDNs 사용한 채널 어셈블리에 대해 알아보기  
[광고 삽입 구현](ca-cdn-setup-advanced.md) - 채널 어셈블리를 사용하여 광고 삽입 구현

모니터링 및 최적화  
[CDN 및 MediaTailor 통합에 대한 작업 모니터링](ssai-cdn-monitor.md) - 포괄적인 모니터링 및 분석  
[CDN 및 MediaTailor 통합을 위한 성능 최적화](ssai-cdn-performance.md) - 성능 최적화 가이드  
[Amazon CloudWatch 지표 AWS Elemental MediaTailor 를 사용한 모니터링](monitoring-cloudwatch-metrics.md) - MediaTailor에 대한 CloudWatch 지표

# 채널 어셈블리 및 CDN을 사용하여 MediaTailor 선형 채널 구축
<a name="ca-cdn-wflw"></a>

이 섹션에서는 AWS Elemental MediaTailor 채널 어셈블리를 콘텐츠 전송 네트워크(CDN)와 통합하기 위한 포괄적인 지침을 제공합니다. 다음 단계에 따라 채널 어셈블리 CDN 통합을 설정, 구성 및 최적화합니다.

채널 어셈블리를 서버 측 광고 삽입(SSAI)과 결합하여 맞춤형 광고를 통해 수익화된 선형 채널을 생성할 수도 있습니다. 이 강력한 통합을 통해 동일한 채널 콘텐츠를 시청하는 다양한 시청자에게 대상 광고를 제공할 수 있으므로 브로드캐스트 품질 시청 환경을 유지하면서 수익 기회를 늘릴 수 있습니다. CDNs[CDN을 사용한 광고 삽입](ssai-cdn-workflow.md).

이 주제에서는 매*니페스트*라는 용어를 사용하여 다변량 재생 목록, 미디어 재생 목록 및 MPDs.

MediaTailor 채널 어셈블리에 대한 자세한 내용은 섹션을 참조하세요[AWS Elemental MediaTailor 를 사용하여 선형 어셈블 스트림 생성](channel-assembly.md).

## 필요한 사항
<a name="ca-cdn-what-you-need"></a>

CDN을 사용하여 MediaTailor 채널 어셈블리를 설정하기 전에 다음과 같은 필수 리소스를 수집합니다.

**AWS 계정 및 권한**  
MediaTailor 리소스를 생성하고 관리할 수 있는 적절한 권한이 있는 AWS 계정  
MediaTailor, CloudFront(사용하는 경우) 및 관련 서비스에 대한 IAM 권한  
자세한 권한 요구 사항은 섹션을 참조하세요[의 보안 AWS Elemental MediaTailor](security.md).

**필수 서비스**  
실행 중인 MediaTailor 채널 어셈블리 채널(SSAI 구성뿐만 아니라)  
콘텐츠 전송 네트워크(CDN) 계정(Amazon CloudFront 또는 타사 CDN)  
VOD 콘텐츠의 오리진 스토리지(Amazon S3, MediaPackage 또는 기타 오리진 서버)

**콘텐츠 요구 사항**  
VOD 소스는 HLS 또는 DASH 형식으로 적절하게 인코딩되고 패키징됩니다. 소스 위치 및 VOD 소스 작업에 대한 자세한 내용은 섹션을 참조하세요[소스 위치 작업](channel-assembly-source-locations.md).  
세그먼트 지속 시간이 일관된 콘텐츠(권장 최소: 1초)  
광고 시간을 위한 광고 슬레이트 콘텐츠(광고 삽입을 구현하는 경우). 슬레이트 구성에 대한 자세한 내용은 섹션을 참조하세요[MediaTailor 슬레이트 광고 삽입](slate-management.md).

## 시작하기 전 준비 사항
<a name="ca-cdn-before-you-begin"></a>

**중요**  
이 워크플로에는 실행 중인 MediaTailor 채널 어셈블리 채널이 필요합니다. MediaTailor SSAI 구성만 있으면이 통합에 충분하지 않습니다. CDN 통합을 진행하기 전에 활성 채널 어셈블리 채널이 구성되고 작동 중이어야 합니다.

CDN을 사용하여 MediaTailor 채널 어셈블리를 구현하기 전에 다음 설정 작업을 완료합니다.

1. CDN, MediaTailor 및 오리진 서버 간의 네트워크 연결 구성

1. 보안 콘텐츠 전송을 위한 HTTPS 설정

1. CDN 도메인에 대한 DNS 설정 구성

### 지식 사전 조건
<a name="ca-cdn-knowledge-prerequisites"></a>

이 솔루션을 성공적으로 구현하려면 다음이 필요합니다.
+ 스트리밍 프로토콜 이해(HLS/DASH)
+ CDN 구성 원칙에 대한 기본 지식
+ MediaTailor 채널 어셈블리 개념에 대한 지식

기본 MediaTailor 설정은 [설정](setting-up.md) 및 섹션을 참조하세요[MediaTailor 채널 어셈블리 시작하기](channel-assembly-getting-started.md). 소스 위치 및 VOD 소스 작업에 대한 자세한 내용은 섹션을 참조하세요[소스 위치 작업](channel-assembly-source-locations.md). 슬레이트 구성에 대한 자세한 내용은 섹션을 참조하세요[MediaTailor 슬레이트 광고 삽입](slate-management.md).

## CDN 통합의 이점
<a name="ca-cdn-benefits"></a>

채널 어셈블리를 CDN과 통합하면 이러한 주요 이점이 제공됩니다.

**시청자 경험 개선**  
적절하게 구성된 CDNs 선형 채널의 버퍼링, 시작 시간 및 재생 오류를 줄입니다. 이로 인해 시청자의 참여와 만족도가 높아집니다.

**비용 절감**  
효율적인 캐싱 전략은 오리진 요청을 최소화합니다. 이렇게 하면 특히 대용량 선형 채널에 중요한 데이터 전송 비용과 오리진 서버 부하가 줄어듭니다.

**확장성**  
최적화된 CDN 구성은 성능 저하 없이 인기 있는 이벤트 중에 트래픽 급증을 처리하므로 피크 시청 시간 중에도 선형 채널을 계속 사용할 수 있습니다.

**글로벌 도달 범위**  
적절하게 구성된 CDNs 위치에 관계없이 전 세계 시청자에게 짧은 지연 시간으로 콘텐츠를 제공하여 잠재적 시청자를 확장합니다.

**원활한 프로그램 전환**  
최적화된 CDN 구성은 선형 채널의 프로그램 간에 원활한 전환을 보장하여 브로드캐스트 품질 시청 환경을 만듭니다.

**Topics**
+ [필요한 사항](#ca-cdn-what-you-need)
+ [시작하기 전 준비 사항](#ca-cdn-before-you-begin)
+ [CDN 통합의 이점](#ca-cdn-benefits)
+ [CDN 아키텍처 이해](channel-assembly-cdn-architecture.md)
+ [기본 설정](ca-cdn-setup-basic.md)
+ [기본 URLs 구성](channel-assembly-cdn-baseurl.md)
+ [광고 삽입 구현](ca-cdn-setup-advanced.md)
+ [시간 이동 보기 구성](channel-assembly-cdn-timeshift.md)
+ [CDN 작업 모니터링](ca-cdn-monitor.md)
+ [전체 최적화 가이드](ca-cdn-optimize-reference.md)

# MediaTailor 채널 어셈블리 CDN 아키텍처 이해
<a name="channel-assembly-cdn-architecture"></a>

AWS Elemental MediaTailor 채널 어셈블리는 콘텐츠 전송 네트워크(CDNs)와 통합되어 향상된 성능과 글로벌 도달 범위로 선형 스트리밍 채널을 제공합니다. 권장 아키텍처는 최종 사용자와 채널 어셈블리 사이에 CDN을 배치하고 채널 어셈블리는 오리진에서 직접 콘텐츠에 액세스합니다. 이 주제에서는 핵심 아키텍처 구성 요소와 이러한 구성 요소가 함께 작동하여 콘텐츠를 제공하는 방법을 설명합니다.

1. CDN의 최종 사용자 요청 매니페스트

1. CDN은 요청을 채널 어셈블리로 전달합니다.

1. 채널 어셈블리는 VOD 소스에서 매니페스트를 어셈블합니다.

1. 채널 어셈블리는 매니페스트를 CDN에 반환하여 최종 사용자에게 전달합니다.

1. 최종 사용자는 CDN을 통해 세그먼트를 요청합니다.

1. CDN은 세그먼트 요청을 적절한 오리진으로 라우팅합니다.

이 아키텍처는 CDN 사용의 보안 및 유연성 이점을 유지하면서 최적의 성능을 보장합니다.

![\[클라이언트 플레이어와 MediaTailor 채널 어셈블리 사이에 배치된 CDN을 보여주는 다이어그램\]](http://docs.aws.amazon.com/ko_kr/mediatailor/latest/ug/images/ca-cdn.png)


## 채널 어셈블리에 대한 CDN 용어
<a name="cdn-terminology"></a>

이러한 주요 용어를 이해하면 채널 어셈블리 CDN 통합을 구현하고 문제를 해결하는 데 도움이 됩니다.

오리진 CDN 및 엣지 CDN  
**오리진 CDN**: MediaTailor와 콘텐츠 오리진 사이에 위치한 CDN입니다. 오리진 서버의 부하를 줄이기 위해 콘텐츠 세그먼트를 캐싱합니다. 다중 CDN 아키텍처에서이 계층은 오리진과 직접 인터페이스하는 첫 번째 CDN 계층입니다.  
**엣지 CDN**: 최종 사용자와 MediaTailor 사이에 위치한 CDN입니다. 시청자에게 개인화된 매니페스트와 콘텐츠를 제공합니다. 다중 CDN 아키텍처에서이 계층은 최종 사용자와 직접 인터페이스하는 가장 바깥쪽의 CDN 계층입니다.

CDN 구성 용어  
**캐시 동작**: CDN이 캐싱 기간 및 오리진 라우팅을 포함하여 다양한 유형의 요청을 처리하는 방법을 결정하는 규칙입니다.  
**TTL(Time To Live)**: 오리진에서 새로 고쳐야 하기 전에 CDN 캐시에서 콘텐츠가 유효한 상태로 유지되는 기간입니다. 자세한 TTL 권장 사항은 섹션을 참조하세요[CDN 및 MediaTailor 통합을 위한 캐싱 최적화](cdn-optimize-caching.md).  
**캐시 키**: CDN이 종종 URL 경로, 쿼리 파라미터 및 헤더를 포함하여 캐시된 콘텐츠를 저장하고 검색하는 데 사용하는 고유 식별자입니다.  
**오리진 실드**: 오리진에 대한 요청 수를 줄이는 CDN 엣지 로케이션과 오리진 서버 간의 중간 캐싱 계층입니다.  
**요청 축소**: 동일한 콘텐츠에 대한 여러 동시 요청을 단일 오리진 요청으로 결합하는 CDN 기능입니다.

MediaTailor별 CDN 용어  
**CDN 콘텐츠 세그먼트 접두사**: MediaTailor가 매니페스트의 콘텐츠 세그먼트에 대한 URLs을 생성할 때 사용하는 CDN 도메인 이름입니다.  
**CDN 광고 세그먼트 접두사**: MediaTailor가 매니페스트의 광고 세그먼트에 대한 URLs을 생성할 때 사용하는 CDN 도메인 이름입니다.

MediaTailor를 사용한 CDN 구성에 대한 자세한 내용은 섹션을 참조하세요[CDN 통합 설정](cdn-configuration.md).

# CDN을 사용하여 기본 MediaTailor 채널 어셈블리 설정
<a name="ca-cdn-setup-basic"></a>

AWS Elemental MediaTailor 채널 어셈블리를 사용하면 콘텐츠 전송 네트워크(CDN)와의 기본 통합을 구성하여 최종 사용자에게 선형 스트리밍 채널을 효율적으로 제공할 수 있습니다. 다음 단계에 따라 채널 어셈블리와 CDN 간의 통합을 설정합니다.

1. 최종 사용자의 매니페스트를 수락하고 MediaTailor 채널 어셈블리로 전달하도록 CDN을 구성합니다.

1. 채널 일정에 액세스하고 현재 프로그래밍을 결정하도록 MediaTailor 채널 어셈블리를 설정합니다.

1. 일정에 따라 오리진 서버에서 콘텐츠 세그먼트를 요청하도록 MediaTailor 채널 어셈블리를 구성합니다.

1. 콘텐츠 오리진이 요청된 세그먼트를 MediaTailor 채널 어셈블리로 전송할 수 있는지 확인합니다.

1. 현재 일정에 따라 동적 매니페스트를 생성하도록 MediaTailor 채널 어셈블리를 설정합니다.

1. 어셈블된 다변량 재생 목록, 미디어 재생 목록 및 MPDs를 최종 사용자에게 전달하도록 CDN을 구성합니다.

1. 적절한 캐시 설정을 사용하여 최종 사용자의 세그먼트 요청을 처리하도록 CDN을 설정합니다.

1. 캐시 누락을 MediaTailor 채널 어셈블리로 전달하도록 CDN을 구성합니다.

1. 콘텐츠 오리진에서 요청된 세그먼트를 검색하도록 MediaTailor 채널 어셈블리를 설정합니다.

1. 재생을 위해 최종 사용자에게 콘텐츠 세그먼트를 전송하도록 CDN을 구성합니다.

# MediaTailor 채널 어셈블리 CDNURLs 구성
<a name="channel-assembly-cdn-baseurl"></a>

AWS Elemental MediaTailor 채널 어셈블리를 사용하려면 콘텐츠 전송 네트워크(CDN)를 통한 콘텐츠 라우팅이 올바르게 작동하도록 적절한 기본 URL 구성이 필요합니다. 채널 어셈블리에서 기본 URL 설정을 구성하여 최종 사용자에게 성공적으로 콘텐츠를 전송할 수 있도록 합니다.

## 콘텐츠 세그먼트 URL 구성
<a name="channel-assembly-cdn-content-segment"></a>

채널 어셈블리 채널 구성에서 **기본 URL**을 CDN 도메인으로 설정합니다. 이렇게 하면 조립된 매니페스트의 모든 세그먼트 URLs이 오리진 서버에 직접 연결되지 않고 CDN을 가리킵니다.

예를 들어 오리진 콘텐츠가에 `http://origin.example.com/content/` 있고 CDN 도메인이 인 경우 기본 URL을 로 `https://cdn.example.com/`설정합니다`https://cdn.example.com/content/`.

## 액세스 제한 구성
<a name="channel-assembly-cdn-access-restriction"></a>

보안을 강화하려면 오리진 서버에 대한 직접 액세스를 제한하도록 CDN을 구성합니다.

1. CDN에서 오리진 액세스 제어를 설정합니다.

1. CDN의 요청만 수락하도록 오리진 서버를 구성합니다.

1. 필요한 경우 최종 사용자 인증에 서명된 URLs 또는 쿠키를 사용합니다.

Amazon CloudFront의 경우 오리진 액세스 제어(OAC)를 사용하여 오리진에 대한 액세스를 보호할 수 있습니다. CloudFront 통합 보안에 대한 자세한 내용은 섹션을 참조하세요[CloudFront 통합](cloudfront-specific-recommendations.md).

# 채널 어셈블리를 사용하여 MediaTailor 광고 삽입 구현
<a name="ca-cdn-setup-advanced"></a>

의 채널 어셈블리는 서버 측 광고 삽입(SSAI) 및 콘텐츠 전송 네트워크(CDNs)와 원활하게 AWS Elemental MediaTailor 통합되어 맞춤형 광고를 통해 수익화된 선형 채널을 생성합니다.

채널 어셈블리를 SSAI와 결합하면 방송 품질 경험을 유지하면서 시청자에게 맞춤형 광고를 제공하는 선형 채널을 구축할 수 있습니다. 이 통합 기능을 사용하여 다음을 수행할 수 있습니다.
+ 콘텐츠 수익화 - 선형 채널의 대상 광고를 통해 수익 창출
+ 경험 개인화 - 프로필을 기반으로 동일한 채널을 시청하는 시청자에게 다양한 광고 제공
+ 품질 유지 - 방송 품질 보기를 위해 콘텐츠와 광고 간에 원활한 전환 보장
+ 효율적인 확장 - CDN 전송을 통해 수백만 명의 동시 뷰어 지원

CDNs[CDN을 사용한 광고 삽입](ssai-cdn-workflow.md).

1. 최종 사용자의 매니페스트 요청을 수락하고 MediaTailor 광고 삽입에 전달하도록 엣지 CDN을 구성합니다.

1. MediaTailor 광고 삽입을 설정하여 오리진 CDN에 요청을 전달합니다.

1. MediaTailor 채널 어셈블리에 요청을 전달하도록 오리진 CDN을 구성합니다.

1. 현재 일정에 따라 동적 매니페스트를 생성하도록 MediaTailor 채널 어셈블리를 설정합니다.

1. 구성된 매니페스트를 MediaTailor 광고 삽입에 전달하도록 오리진 CDN을 구성합니다.

1. MediaTailor 광고 삽입을 설정하여 광고 중단 시점에 광고 결정 서버에 광고 결정을 요청합니다.

1. 광고 마커로 매니페스트를 개인화하도록 MediaTailor 광고 삽입을 구성합니다.

1. 최종 사용자에게 개인화된 매니페스트를 제공하도록 엣지 CDN을 설정합니다.

1. 콘텐츠 및 광고 세그먼트 요청을 효율적으로 처리하도록 CDN 아키텍처를 구성합니다.

다음 다이어그램은이 결합된 워크플로를 보여줍니다.

![\[채널 어셈블리 및 광고 삽입과 CDN의 통합을 보여주는 다이어그램\]](http://docs.aws.amazon.com/ko_kr/mediatailor/latest/ug/images/ca-ssai-comb-cdn.png)


채널 어셈블리와 SSAI를 결합할 때 최적의 성능을 얻으려면:
+ 채널 어셈블리와 SSAI 요청을 구별하는 캐시 동작 구성
+ 의 권장 사항에 따라 매니페스트 및 세그먼트에 적절한 TTL 값을 설정합니다. [CDN 및 MediaTailor 통합을 위한 캐싱 최적화](cdn-optimize-caching.md) 
+ 채널 어셈블리, 광고 삽입 및 CDN 오리진 간에 적절한 라우팅 보장
+ 채널 어셈블리 및 광고 삽입 구성 요소 모두에 대한 성능 지표 모니터링

CDNs.
+ [CDN 및 MediaTailor 통합을 위한 광고 삽입 아키텍처 이해](ssai-cdn-architecture-overview.md) - SSAI 아키텍처 및 개념에 대해 알아봅니다.
+ [최적의 광고 전송을 위해 CDN을 사용하여 기본 MediaTailor SSAI 설정](configuring-ssai-cdn.md) - Step-by-step SSAI 구성 지침
+ [중단 없는 광고 전송을 위해 CDNs 사용한 MediaTailor SSAI 문제 해결](troubleshooting-ssai-cdn.md) - 일반적인 SSAI 통합 문제 해결

# MediaTailor 채널 어셈블리에 대한 시간 이동 보기 구성
<a name="channel-assembly-cdn-timeshift"></a>

AWS Elemental MediaTailor 채널 어셈블리는 선형 채널의 일시 중지, 되감기 및 스타트오버와 같은 DVR과 유사한 기능을 활성화하는 시간 이동 보기 기능을 지원합니다. 시청자가 시청 환경을 제어할 수 있도록 시간 이동 시청을 지원하도록 콘텐츠 전송 네트워크(CDN)를 구성하여 이러한 기능을 활성화합니다.

## 시간 이동 보기 이해
<a name="channel-assembly-cdn-timeshift-overview"></a>

시간 이동 보기는 다음을 포함한 선형 채널에 대해 DVR과 유사한 기능을 활성화합니다.
+ **스타트오버**: 시청자는 프로그램을 시작한 후 가입하더라도 처음부터 프로그램 시청을 시작할 수 있습니다.
+ **일시 중지 및 재개**: 최종 사용자는 콘텐츠를 일시 중지하고 나중에 시청을 재개할 수 있습니다.
+ **되감기 및 빨리 감기**: 최종 사용자는 사용 가능한 콘텐츠를 앞뒤로 탐색할 수 있습니다.
+ **보기 지연**: 최종 사용자는 채널 일정의 앞부분에서 방송된 콘텐츠를 볼 수 있습니다.

시간 이동 보기는 채널의 재생 URL에 `start` 파라미터를 추가하여 작동합니다. 파라미터는 현재 시간을 기준으로 오프셋을 초 단위로 지정합니다.
+ 음수 값은 과거의 시간을 나타냅니다(예: `start=-3600`"1시간 전부터 시작").
+ 양수 값은 미래의 시간을 나타냅니다(예: `start=3600`"향후 1시간부터 시작").

time-shift 파라미터가 있는 URL의 예:

```
https://example-cdn.com/out/v1/channel-name/index.m3u8?start=-3600
```

## 시간 지연 해결
<a name="channel-assembly-cdn-timeshift-delay"></a>

CDN을 사용하여 시간 이동 보기를 지원하려면:

1. `start` 쿼리 파라미터를 채널 어셈블리로 전달하도록 CDN을 구성합니다.

1. 캐시 키에 `start` 파라미터를 포함하는 캐시 동작을 설정합니다.

1. 시간 전환 파라미터가 있는 매니페스트의 경우 짧은 TTL을 사용하거나 캐싱을 사용하지 않습니다.

이렇게 하면 각 최종 사용자가 요청된 시간 위치에 대해 올바른 매니페스트를 수신할 수 있습니다.

## 시간 이동을 위한 CDN 요구 사항
<a name="channel-assembly-cdn-timeshift-requirements"></a>

채널 어셈블리로 시간 이동 보기를 지원하려면 CDN이 다음 요구 사항을 충족해야 합니다.
+ 모든 쿼리 파라미터를 채널 어셈블리에 전달합니다.
+ 캐시 키에 `start` 파라미터를 포함합니다.
+ 시간 이동 매니페스트에 대한 적절한 캐시 무효화를 지원합니다.
+ 쿼리 파라미터를 기반으로 다양한 매니페스트 응답을 처리합니다.

# MediaTailor 채널 어셈블리 CDN 작업 모니터링
<a name="ca-cdn-monitor"></a>

AWS Elemental MediaTailor 채널 어셈블리는 안정적인 콘텐츠 전송을 보장하기 위해 콘텐츠 전송 네트워크(CDN)와 통합될 때 효과적인 모니터링이 필요합니다. 채널 어셈블리 및 CDN 통합에 대한 모니터링 전략을 구현하여 안정적인 콘텐츠 전송과 빠른 문제 해결을 보장합니다.

모든 MediaTailor 구현에 적용되는 필수 지표, 모니터링 도구 설정, 알림 구성 및 문제 해결 전략을 포함한 포괄적인 CDN 모니터링 지침은 섹션을 참조하세요[CDN 모니터링](cdn-monitoring.md). 이 섹션에서는 채널 어셈블리별 모니터링 요구 사항에 중점을 둡니다.

채널 어셈블리 및 CDN 통합에 대한 특정 모니터링을 구현합니다.
+ 채널 어셈블리에서 매니페스트 생성 지표를 추적합니다.
+ 시간 이동 보기 요청과 CDN 캐시 적중률에 미치는 영향을 모니터링합니다.
+ 매니페스트 요청에서 비정상적인 패턴에 대한 알림을 구성합니다.
+ 콘텐츠 소스에서 세그먼트 가용성에 대한 추적을 구현합니다.

Amazon CloudFront의 경우 CDN 지표를 MediaTailor 지표와 통합하여 [CloudWatch 대시보드를 사용하여 전체 전송 파이프라인을 시각화하는 대시보드를](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) 생성합니다.

채널 어셈블리와 함께 SSAI도 사용하는 경우 광고 삽입과 관련된 추가 모니터링 권장 사항은 [CDN 작업 모니터링](ssai-cdn-monitor.md) 섹션을 참조하세요.

# 전체 채널 어셈블리 CDN 최적화
<a name="ca-cdn-optimize-reference"></a>

캐싱 전략, 요청 라우팅 구성, 성능 벤치마크 및 고급 최적화 기술을 포함하여 채널 어셈블리 구현과 관련된 자세한 CDN 최적화 지침은 섹션을 참조하세요[CDN 성능 최적화](cdn-optimization.md).

통합 최적화 가이드는 다음을 제공합니다.
+ 권장 TTL 값이 있는 채널 어셈블리별 캐싱 설정
+ 매니페스트 및 세그먼트 전송을 위한 라우팅 최적화 요청
+ 모든 MediaTailor 구현의 성능 벤치마크 및 대상
+ Origin Shield 및 압축을 포함한 고급 최적화 기술
+ SSAI를 사용한 채널 어셈블리에 대한 통합 워크플로 지침

# MediaTailor를 MediaPackage 및 CDN과 통합
<a name="mediapackage-integration"></a>

AWS Elemental MediaTailor 는와 통합되어 콘텐츠 전송 네트워크(CDN)를 통해 개인화된 비디오 광고를 AWS Elemental MediaPackage 제공합니다. MediaPackage는 인터넷을 통한 전송을 위해 비디오 콘텐츠를 준비하고 보호하는 just-in-time 비디오 패키징 및 제작 서비스입니다. 라이브 또는 온디맨드 비디오 콘텐츠를 가져와 HLS 및 DASH와 같은 스트리밍 형식으로 패키징하므로 다양한 디바이스에서 시청자가 사용할 수 있습니다.

MediaPackage를 MediaTailor 및 CDN과 결합하면 맞춤형 광고를 대규모로 제공하는 완전한 스트리밍 워크플로가 생성됩니다. CDN은 콘텐츠를 전 세계에 배포하여 지연 시간을 줄이고 시청자 경험을 개선하는 반면 MediaTailor는 대상 광고를 스트림에 삽입합니다.

이 주제에서는 MediaTailor, MediaPackage 및 CDN이 함께 작동하도록 하기 위한 필수 통합 단계에 중점을 둡니다. 고급 구성 옵션, 문제 해결 및 모니터링 지침은 섹션을 참조하세요[다음 단계](#emp-cdn-next-steps).

## MediaPackage 및 CDN 워크플로 이해
<a name="emp-cdn-overview"></a>

통합을 구성하기 전에 MediaPackage, MediaTailor 및 CDN이 어떻게 함께 작동하는지 이해하는 것이 중요합니다.

1. **콘텐츠 준비**: MediaPackage는 라이브 또는 온디맨드 비디오 콘텐츠를 수신하여 스트리밍 형식(HLS 또는 DASH 매니페스트 및 세그먼트)으로 패키징합니다.

1. **광고 삽입**: MediaTailor는 MediaPackage에서 매니페스트를 요청하고, 개인화된 광고를 삽입하며, 수정된 매니페스트를 최종 사용자에게 제공합니다.

1. **글로벌 배포**: CDN은 콘텐츠 세그먼트(MediaPackage)와 광고 세그먼트(MediaTailor)를 캐싱하고 전 세계 시청자에게 배포합니다.

1. **뷰어 재생**: 비디오 플레이어 요청 매니페스트는 MediaTailor(매니페스트의 경우)와 MediaPackage(콘텐츠 세그먼트의 경우) 간에 요청을 적절하게 라우팅하는 CDN을 통해 매니페스트됩니다.

이 아키텍처는 다음과 같은 몇 가지 이점을 제공합니다.
+ **확장성**: CDN은 오리진 서버에 영향을 주지 않고 높은 최종 사용자 로드를 처리합니다.
+ **성능**: 시청자와 가장 가까운 엣지 로케이션에서 콘텐츠가 전달됩니다.
+ **비용 효율성**: 캐싱을 통한 대역폭 비용 절감
+ **신뢰성**: 여러 엣지 로케이션이 중복성을 제공합니다.

## 사전 조건
<a name="emp-cdn-prerequisites"></a>

시작하기 전에 다음 구성 요소가 구성되어 있는지 확인합니다.

1. **MediaPackage 엔드포인트**: 비디오 콘텐츠를 수신하고 패키징하는 구성된 MediaPackage 엔드포인트입니다. 설정 지침은 [ MediaPackage 사용 설명서의 MediaPackage 시작하기](https://docs.aws.amazon.com/mediapackage/latest/ug/getting-started.html)를 참조하세요. MediaPackage 

1. **MediaTailor 구성**: MediaPackage 엔드포인트를 콘텐츠 오리진으로 사용하는 MediaTailor 구성입니다. 설정 지침은 단원을 참조하십시오[MediaTailor 광고 삽입을 위한 콘텐츠 소스 통합](integrating-origin.md).

1. **CDN 배포**: 스트리밍 미디어와 함께 작동하도록 구성된 CDN 배포(예: CloudFront)입니다. 설정 지침은 CloudFront 개발자 안내서의 [배포 생성을](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-creating-console.html) 참조하세요.

1. **광고 결정 서버**: 광고 삽입을 위해 VAST 또는 VMAP 응답을 반환하는 구성된 광고 결정 서버입니다.

## 1단계: 필수 CDN 설정 구성
<a name="mediapackage-best-practices"></a>

MediaPackage 통합을 성공적으로 수행하려면 적절한 CDN 구성이 중요합니다. 설정이 잘못되면 재생 실패, 캐시 성능 저하 및 비용 증가가 발생할 수 있습니다. 올바른 캐시 정책 및 쿼리 파라미터 전달이 없으면 CDN이 매니페스트를 올바르게 전달하지 못하거나 캐싱을 완전히 우회하여 오리진 서버 로드가 높아지고 최종 사용자 경험이 저하될 수 있습니다.

### 기본 캐시 설정 구성
<a name="mediapackage-cache-control"></a>

MediaPackage는 특정 캐시 제어 헤더를 사용하여 콘텐츠 전송을 최적화하므로 기본 캐싱을 구성하는 것이 중요합니다. 적절한 캐시 설정이 없으면 CDN이 이러한 헤더를 무시하여 불필요한 오리진 요청과 지연 시간 증가로 이어질 수 있습니다. 최적의 캐싱 동작을 보장하려면 다음 단계를 따르세요.

MediaPackage에서 작동하는 기본 캐싱을 구성하려면:

1. CloudFront 콘솔에서 CloudFront 배포 설정을 엽니다.

1. MediaPackage 오리진에 대한 캐시 정책을 선택하거나 생성합니다.

1. "원본 캐시 제어 헤더" 옵션을 활성화합니다.

1. MediaPackage가 캐시 제어 헤더를 통해 캐싱 동작을 제어할 수 있도록 허용합니다.

이 기본 구성을 통해 MediaPackage는 다양한 콘텐츠 유형에 적합한 캐시 기간을 자동으로 설정할 수 있습니다. 특정 TTL 값 및 성능 튜닝으로 고급 캐시 최적화를 구현하려면 먼저이 기본 설정을 완료한 다음 로 계속 진행합니다[MediaTailor 및 MediaPackage 콘텐츠 전송을 위한 CDN 캐싱 최적화](cdn-emp-caching.md).

### 필수 쿼리 파라미터 구성
<a name="mediapackage-query-strings"></a>

쿼리 파라미터 구성은 MediaPackage 기능에 매우 중요합니다. CDN은 특정 쿼리 파라미터를 전달하여 시간 이동 보기 및 짧은 지연 시간 스트리밍과 같은 기능을 활성화해야 합니다. 쿼리 파라미터 설정이 잘못되면 이러한 기능이 작동하지 않을 수 있으며 캐시 효율성이 저하될까 걱정됩니다. 다음 단계에 따라 쿼리 파라미터 전달을 구성합니다.

CDN이 필요한 쿼리 파라미터를 MediaPackage에 전달하도록 하려면:

1. CloudFront 배포 설정에서 매니페스트 요청에 대한 캐시 정책을 선택하거나 생성합니다.

1. "캐시 키 설정"에서 "지정된 쿼리 문자열 포함"을 선택합니다.

1. 다음과 같은 필수 쿼리 파라미터를 추가합니다.
   + `start` 및 `end` - 시간 이동 보기 기능의 경우. 이러한 파라미터는 MediaPackage로 전달되어 스타트오버 및 캐치업 보기를 위한 특정 콘텐츠 기간을 정의합니다.
   + `_HLS_msn` 및 `_HLS_part` - LL-HLS 재생 요청 지원
   + `m` - 엔드포인트의 수정된 ti/compame을 캡처하는 데 사용됩니다. MediaPackage 응답에는 항상 엔드포인트의 수정된 시간을 캡처하는 `?m=###` 태그가 포함됩니다. 콘텐츠가이 태그에 대해 다른 값으로 이미 캐시된 경우 CloudFront는 캐시된 버전을 제공하는 대신 새 매니페스트를 요청합니다.
   + `aws.manifestfilter` - 매니페스트 필터링 기능에 사용됩니다. 매니페스트 필터링을 사용하는 경우 매니페스트 필터링 기능이 작동하는 데 필요한 MediaPackage 오리진으로 `aws.manifestfilter` 쿼리 문자열을 전달하도록 배포를 구성하려면이 파라미터를 포함해야 합니다.

1. MediaPackage에서 사용하는 쿼리 문자열만 포함합니다. 불필요한 쿼리 문자열을 포함하면 동일한 콘텐츠에 대해 여러 캐시 변형을 생성하여 캐시 효율성이 떨어집니다.

이러한 파라미터를 사용하면 CDN에서 기본 MediaPackage 기능을 사용할 수 있습니다. 다양한 구독 계층 또는 디바이스 유형에 콘텐츠 필터링을 구현해야 하는 경우 먼저이 기본 쿼리 파라미터 설정을 완료한 다음 로 진행합니다[MediaTailor, MediaPackage 및 CDN을 사용하여 매니페스트 필터링 설정](cdn-emp-manifest-filtering.md).

MediaTailor가 시간 이동 보기를 위해 `start` 및를 `end` 통해 MediaPackage에 쿼리 파라미터를 전달하는 방법에 대한 자세한 내용은 [오리진에 대한 MediaTailor 쿼리 파라미터 처리](origin-query-parameters.md)의 섹션을 참조하세요[MediaTailor 매니페스트 쿼리 파라미터](manifest-query-parameters.md).

### LL-HLS에 대한 응답 제한 시간 구성
<a name="mediapackage-response-timeout"></a>

LL-HLS는 CDN이 새 콘텐츠 세그먼트를 기다리는 "차단 요청" 메커니즘을 사용하기 때문에 지연 시간이 짧은 HLS의 경우 제한 시간 구성이 중요합니다. 제한 시간이 너무 짧으면 MediaPackage가 새 세그먼트로 응답하기 전에 요청이 실패하여 재생이 중단되고 뷰어 경험이 저하됩니다. 원활한 LL-HLS 재생을 위해 적절한 제한 시간을 구성합니다.

지연 시간이 짧은 HLS를 사용하는 경우 CDN 제한 시간 설정을 구성합니다.

1. CDN 설정에서 오리진 제한 시간 구성을 찾습니다.

1. 응답 제한 시간 값을 파트 지속 시간의 3배 이상으로 설정합니다.

1. 예를 들어 파트 지속 시간이 0.3초인 경우 제한 시간을 0.9초 이상으로 설정합니다.

이렇게 하면 CDN이 요청 차단 메커니즘을 사용할 때 MediaPackage가 응답할 때까지 충분히 오래 기다릴 수 있습니다.

## 2단계: 통합 확인
<a name="manifest-filtering-integration"></a>

통합 테스트는 최종 사용자에게 문제가 발생하기 전에 모든 구성 요소가 올바르게 함께 작동하는지 확인하는 데 필수적입니다. 통합에 실패하면 재생이 끊어지거나 광고가 누락되거나 성능이 저하될 수 있습니다. 이 확인 프로세스는 제어된 환경에서 문제를 식별하고 해결하는 데 도움이 됩니다.

CDN 설정을 구성한 후 콘텐츠 요청부터 광고 삽입까지 전체 워크플로를 테스트하여 통합이 올바르게 작동하는지 확인합니다.

### 2.1단계: 기본 재생 테스트
<a name="manifest-filtering-overview"></a>

기본 재생 테스트는 CDN이 매니페스트 요청을 올바르게 처리하고 MediaTailor에 전달하는지 확인합니다. 이 테스트는 캐시 정책, 쿼리 파라미터 전달 및 매니페스트 처리와 관련된 구성 문제를 식별하는 데 도움이 됩니다. 다음 단계에 따라 기본 매니페스트 전송을 테스트합니다.

CDN을 통해 매니페스트를 요청하여 기본 통합이 작동하는지 테스트합니다.

1. 웹 브라우저 또는 curl을 사용하여 CDN을 통해 매니페스트 URL을 요청합니다.

1. 매니페스트가 성공적으로 로드되고 콘텐츠와 광고 세그먼트가 모두 포함되어 있는지 확인합니다.

1. 매니페스트의 콘텐츠 세그먼트 URLs CDN 도메인을 가리키는지 확인합니다.

1. 광고 세그먼트 URLs CDN 도메인도 가리키는지 확인합니다.

매니페스트가 올바르게 로드되고 예상 URLs이 포함된 경우 기본 통합이 작동하는 것입니다. 포괄적인 테스트 방법 및 고급 검증 절차는 섹션을 참조하세요[CDN 및 MediaTailor 통합 테스트 및 검증](cdn-integration-testing.md). 통합의 성능 및 상태에 대한 포괄적인 모니터링을 설정하려면 섹션을 참조하세요[MediaPackage, CDN 및 MediaTailor 통합의 성능 모니터링](cdn-emp-monitoring.md).

### 2.2단계: 비디오 재생 테스트
<a name="manifest-filtering-cdn-config"></a>

비디오 재생 테스트를 통해 CDN을 통한 광고 삽입 및 콘텐츠 전송을 포함하여 완전한 통합이 end-to-end로 작동하도록 할 수 있습니다. 이 테스트는 콘텐츠 세그먼트와 광고 세그먼트가 모두 올바르게 캐싱 및 전달되고 최종 사용자 경험이 품질 표준을 충족하는지 확인합니다. 다음 단계에 따라 전체 재생 기능을 테스트합니다.

삽입된 광고에서 비디오 재생이 올바르게 작동하는지 테스트합니다.

1. 비디오 플레이어(예: Video.js 또는 HLS.js)를 사용하여 CDN을 통해 콘텐츠를 재생합니다.

1. 버퍼링 문제 없이 비디오가 원활하게 재생되는지 확인합니다.

1. 재생 중에 광고가 예상 시간에 삽입되었는지 확인합니다.

1. 콘텐츠와 광고 세그먼트가 모두 CDN(오리진에서 직접 로드되지 않음)에서 로드되는지 확인합니다.

광고에서 재생이 원활하게 작동하면 통합이 올바르게 작동하는 것입니다. 포괄적인 테스트 방법 및 고급 검증 절차는 섹션을 참조하세요[CDN 및 MediaTailor 통합 테스트 및 검증](cdn-integration-testing.md). 재생 문제, 버퍼링 또는 광고 삽입 문제가 발생하는 경우 섹션을 참조하세요[MediaPackage, CDN 및 MediaTailor 통합 문제 해결](cdn-emp-troubleshooting.md).

## 다음 단계
<a name="emp-cdn-next-steps"></a>

기본 통합을 완료한 후 고급 기능 및 최적화를 구현할 수 있습니다.

**고급 CDN 최적화**  
자세한 캐시 최적화, TTL 구성 및 성능 튜닝은 섹션을 참조하세요[MediaTailor 및 MediaPackage 콘텐츠 전송을 위한 CDN 캐싱 최적화](cdn-emp-caching.md).

**매니페스트 필터링**  
계층화된 서비스, 디바이스 최적화 또는 액세스 제어를 위한 콘텐츠 필터링을 구현하려면 섹션을 참조하세요[MediaTailor, MediaPackage 및 CDN을 사용하여 매니페스트 필터링 설정](cdn-emp-manifest-filtering.md).

**문제 해결**  
통합에 문제가 발생하면 섹션을 참조하세요[MediaPackage, CDN 및 MediaTailor 통합 문제 해결](cdn-emp-troubleshooting.md).

**성능 모니터링**  
포괄적인 모니터링을 설정하고 주요 성능 지표를 이해하려면 섹션을 참조하세요[MediaPackage, CDN 및 MediaTailor 통합의 성능 모니터링](cdn-emp-monitoring.md).

# MediaTailor, MediaPackage 및 CDN을 사용하여 매니페스트 필터링 설정
<a name="cdn-emp-manifest-filtering"></a>

AWS Elemental MediaTailor 는와 함께 매니페스트 필터링 AWS Elemental MediaPackage 을 사용하여 콘텐츠 전송 네트워크(CDN)를 통해 여러 최종 사용자에게 전달되는 매니페스트에 포함되는 오디오 및 비디오 스트림을 사용자 지정합니다. 이는 계층형 서비스 상품, 디바이스별 최적화 또는 콘텐츠 액세스 제어를 구현하는 데 특히 유용합니다.

이 주제에서는 매니페스트 필터링 기능 구현에 특히 중점을 둡니다. 매니페스트 필터링을 구현하기 전에 기본 콘텐츠 전송 네트워크 통합 설정을 완료해야 합니다. 기본 MediaPackage 및 콘텐츠 전송 네트워크 통합을 아직 설정하지 않은 경우 로 시작합니다[MediaTailor를 MediaPackage 및 CDN과 통합](mediapackage-integration.md).

## 매니페스트 필터링 기능
<a name="manifest-filtering-overview"></a>

매니페스트 필터링을 구현하기 전에이 기능으로 수행할 수 있는 작업을 이해합니다.

### 코어 필터링 기능
<a name="filtering-capabilities"></a>

매니페스트 필터링은 콘텐츠 전송을 제어하는 데 도움이 되는 몇 가지 주요 기능을 제공합니다.
+ 프리미엄 콘텐츠(예: 4K HEVC)에 대한 최종 사용자 액세스 제한
+ 적절한 스트림을 사용하여 특정 디바이스 유형을 대상으로 지정
+ 오디오 샘플 속도, 언어 또는 비디오 코덱을 기반으로 콘텐츠 필터링
+ 다양한 구독자에게 다양한 품질 티어 제공

### 일반 사용 사례
<a name="filtering-use-cases"></a>

이러한 사용 사례는 매니페스트 필터링이 특정 비즈니스 요구 사항을 해결하는 방법을 보여줍니다.

**구독 티어**  
기본 구독자에게 해상도가 낮은 스트림을 제공하는 동시에 프리미엄 구독자에게 4K 콘텐츠에 대한 액세스 권한 제공  
예: 기본 티어는 720p로 제한, 프리미엄 티어는 최대 4K까지 획득

**디바이스 최적화**  
디바이스 기능에 따라 적절한 스트림을 자동으로 제공  
예: 모바일 디바이스의 비트 전송률이 낮고 스마트 TVs 품질이 향상됩니다.

**대역폭 관리**  
사용량이 가장 많은 기간 동안 스트림 품질을 제한하여 네트워크 비용 관리  
예: 트래픽이 많은 이벤트 발생 시 최대 비트 전송률 감소

**리전별 콘텐츠**  
최종 사용자 위치에 따라 다양한 오디오 언어 또는 콘텐츠 변형 제공  
예: 로컬 언어 오디오 트랙 자동 필터링

매니페스트 필터링 개념에 대한 자세한 내용은 AWS Elemental MediaPackage 사용 설명서의 [매니페스트 필터링](https://docs.aws.amazon.com/mediapackage/latest/ug/manifest-filtering.html)을 참조하세요.

## 매니페스트 필터링을 위한 CDN 구성
<a name="cdn-filtering-configuration"></a>

CDN이 필터링이 작동하려면 MediaPackage에 `aws.manifestfilter` 쿼리 파라미터를 전달해야 하므로 매니페스트 필터링을 위한 CDN 구성이 필수적입니다. 적절한 쿼리 문자열 전달이 없으면 CDN에서 필터 파라미터를 제거하고 모든 뷰어는 구독 계층 또는 디바이스 기능에 관계없이 필터링되지 않은 매니페스트를 수신합니다. 이 구성을 사용하면 필터링 로직이 의도한 대로 MediaPackage 및 함수에 도달합니다.

CDN을 통해 매니페스트 필터링을 활성화하려면 쿼리 문자열 전달을 구성해야 합니다.

1. CloudFront 배포에서 매니페스트 요청에 대한 캐시 동작을 생성하거나 편집합니다.

1. **캐시 정책의** 경우 새 정책을 생성하거나 기존 정책을 편집합니다.

1. **캐시 키 설정**에서 "지정된 쿼리 문자열 포함"을 선택합니다.

1. `aws.manifestfilter`를 허용된 쿼리 문자열 목록에 추가합니다.

1. 다른 MediaPackage 기능도 사용하는 경우 쿼리 파라미터를 추가합니다.
   + `start` 및 `end` - 시간 이동 보기
   + `time_delay` - 시간 지연 기능의 경우
   + `_HLS_msn` 및 `_HLS_part` - LL-HLS의 경우

배포 생성에 대한 자세한 내용은 Amazon CloudFront 개발자 안내서의 [배포 생성을](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-creating-console.html) 참조하세요.

## 클라이언트 측 필터링 구현
<a name="client-side-filtering-implementation"></a>

클라이언트 측 구현에서는 비디오 플레이어와 애플리케이션이 필터링된 콘텐츠를 요청하는 방법을 정의합니다. 이 구성은 각 최종 사용자가 구독 수준, 디바이스 기능 또는 기타 기준에 따라 수신하는 콘텐츠를 결정합니다. 적절한 구현을 통해 최종 사용자는 최적의 CDN 캐시 효율성을 유지하면서 액세스해야 하는 콘텐츠만 수신할 수 있습니다.

비디오 플레이어 및 애플리케이션에서 매니페스트 필터링을 구현하려면:

### 필터링 작동 방식
<a name="filtering-workflow"></a>

필터링 프로세스는 다음과 같이 작동합니다.

1. 비디오 플레이어 또는 애플리케이션이 필터 파라미터가 포함된 매니페스트 URL을 요청합니다.

1. CDN은 요청(쿼리 파라미터 포함)을 MediaTailor에 전달합니다.

1. MediaTailor는 오리진 매니페스트를 요청할 때 필터 파라미터를 MediaPackage에 전달합니다.

1. MediaPackage는 필터를 적용하고 기준과 일치하는 변형만 포함하는 사용자 지정 매니페스트를 반환합니다.

1. MediaTailor는 광고 삽입을 위해 필터링된 매니페스트를 처리하고 플레이어에게 반환합니다.

### 필터링을 위한 URL 형식
<a name="filtering-url-format"></a>

올바른 URL 형식을 이해하는 것은 성공적인 필터링 구현에 매우 중요합니다. URL 형식이 잘못되면 필터링 파라미터가 무시되거나 HTTP 오류가 발생합니다. URL 구조에는 CDN이 MediaPackage에 전달하는 쿼리 문자열로 필터 파라미터가 포함되어야 합니다. 다음 단계에 따라 적절한 URL 형식을 구현합니다.

비디오 플레이어에서 매니페스트 필터링을 구현하려면:

1. 적절한 필터 파라미터를 포함하도록 플레이어의 매니페스트 요청 URLs을 수정합니다.

1. 쿼리 파라미터와 함께 다음 URL 형식을 사용합니다.

   ```
   https://CloudFront-Domain/v1/master/MediaTailor-Config/index.m3u8?aws.manifestfilter=video_codec:h264;audio_language:en-US
   ```

1. 플레이어가이 URL을 요청하면 MediaTailor는 이러한 파라미터를 MediaPackage에 전달하여 필터링된 매니페스트를 생성합니다.

## 일반적인 필터링 시나리오
<a name="filtering-examples"></a>

다음 예제를 사용하여 일반적인 필터링 시나리오를 구현합니다.

**디바이스별 콘텐츠 전송**  
디바이스 기능을 기준으로 필터링하려면 매니페스트 요청에이 파라미터를 추가합니다.  

```
aws.manifestfilter=video_codec:h264;audio_sample_rate:0-44100
```
이 예제에서는 모바일 디바이스에 적합한 최대 44.1kHz의 샘플 속도로 H.264 비디오 및 오디오로 콘텐츠를 제한합니다.

**프리미엄 콘텐츠 제한**  
비트 전송률이 높은 콘텐츠에 대한 액세스를 제한하려면 매니페스트 요청에이 파라미터를 추가합니다.  

```
aws.manifestfilter=video_bitrate:0-9000000
```
이 예제에서는 기본 구독 계층에 적합한 비디오 비트레이트를 9Mbps 이하로 제한합니다.

**언어 선택**  
특정 오디오 언어를 필터링하려면 매니페스트 요청에이 파라미터를 추가합니다.  

```
aws.manifestfilter=audio_language:fr,en-US,de
```
이 예제에는 프랑스어, 미국 영어 및 독일어 오디오 트랙만 포함됩니다.

**해결 대상 지정**  
특정 비디오 해상도를 필터링하려면 매니페스트 요청에이 파라미터를 추가합니다.  

```
aws.manifestfilter=video_height:240-360,720-1080
```
이 예제에는 중간 해상도를 제외하고 높이가 240\$1360픽셀\$1720-1080픽셀인 비디오 스트림이 포함되어 있습니다.

**코덱 기반 필터링**  
특정 비디오 코덱을 필터링하려면 매니페스트 요청에이 파라미터를 추가합니다.  

```
aws.manifestfilter=video_codec:h264,h265
```
이 예제에는 다른 코덱을 제외한 H.264 및 H.265 비디오 스트림만 포함됩니다.

## 특별 고려 사항 및 제한 사항
<a name="filtering-considerations"></a>

매니페스트 필터링을 구현할 때 발생하는 일반적인 문제를 방지하려면:

### 기술적 제한 사항
<a name="technical-limitations"></a>
+ TS 매니페스트의 경우 오디오 변환 그룹을 사용하여 필터링된 오디오 스트림과 멀티플렉싱된 비디오 스트림을 제거하지 않도록 합니다.
+ TS 및 CMAF 매니페스트에서는 확인을 위해 오디오 샘플 속도와 비디오 비트레이트를 매니페스트에 쉽게 볼 수 없습니다.
+ 미디어 재생 목록 또는 세그먼트에 요청 파라미터를 추가하면 HTTP 400 오류가 발생합니다.

### 오류 조건
<a name="error-conditions"></a>
+ 필터링으로 인해 빈 매니페스트가 발생하는 경우(필터 기준을 충족하는 스트림 없음) MediaPackage는 HTTP 400 오류를 반환합니다.
+ 필터 구성(엔드포인트 필터 \$1 쿼리 파라미터)이 충돌하면 HTTP 404 오류가 발생합니다.
+ 잘못된 필터 구문 또는 지원되지 않는 필터 유형으로 인해 HTTP 400 오류가 발생합니다.

### 성능 고려 사항
<a name="performance-considerations"></a>
+ 각 고유 필터 조합은 별도의 캐시 항목을 생성하여 캐시 효율성을 잠재적으로 줄일 수 있습니다.
+ 기준이 많은 복잡한 필터는 매니페스트 생성 성능에 영향을 미칠 수 있습니다.
+ 정적 필터링 시나리오에 엔드포인트 수준 필터를 사용하여 캐시 성능을 개선하는 것이 좋습니다.

## 필터링 구현 테스트
<a name="filtering-testing"></a>

매니페스트 필터링 구현을 테스트하는 것은 최종 사용자가 액세스 수준 및 디바이스 기능에 따라 올바른 콘텐츠를 수신하도록 하는 데 매우 중요합니다. 필터링이 실패하면 최종 사용자가 잘못된 품질 수준, 지원되지 않는 형식 또는 액세스할 수 없는 콘텐츠를 수신할 수 있습니다. 포괄적인 테스트를 통해 이러한 문제가 최종 사용자에게 영향을 미치기 전에 식별하고 해결할 수 있습니다.

매니페스트 필터링이 올바르게 작동하는지 확인하려면:

1. 필터 파라미터가 다른 매니페스트를 요청하고 결과를 확인합니다.

1. 필터링된 매니페스트에 예상 스트림만 포함되어 있는지 확인

1. 엣지 케이스(빈 결과, 잘못된 필터)를 테스트하여 적절한 오류 처리를 보장합니다.

1. CDN이 필터 파라미터를 올바르게 전달하고 있는지 확인

1. 서로 다른 디바이스 및 플레이어로 테스트하여 호환성 보장

필터링 문제 해결은 * MediaPackage CDN 통합 문제 해결을* 참조하세요.

HTTP 400 오류, 빈 매니페스트 또는 예상대로 작동하지 않는 필터링 파라미터가 발생하는 경우 특정 매니페스트 필터링 문제 해결 지침은 [MediaPackage, CDN 및 MediaTailor 통합 문제 해결](cdn-emp-troubleshooting.md) 섹션을 참조하세요.

# MediaTailor 및 MediaPackage 콘텐츠 전송을 위한 CDN 캐싱 최적화
<a name="cdn-emp-caching"></a>

AWS Elemental MediaTailor 를 콘텐츠 오리진 AWS Elemental MediaPackage 으로 사용할 때 최적의 성능을 얻으려면 적절한 콘텐츠 전송 네트워크(CDN) 캐싱 구성이 필요합니다. MediaPackage는 콘텐츠 전송 네트워크에 다양한 유형의 콘텐츠를 캐싱할 기간을 알려주는 특정 캐시 제어 헤더를 제공합니다. 이러한 권장 사항을 따르면 원활한 재생과 효율적인 콘텐츠 전송이 가능합니다.

이 주제에서는 특히 캐싱 동작을 최적화하여 성능을 극대화하고 비용을 최소화하는 데 중점을 둡니다. 고급 캐싱 최적화를 구현하기 전에 기본 콘텐츠 전송 네트워크 통합 설정을 완료했는지 확인합니다. 아직 기본 통합을 설정하지 않은 경우 로 시작합니다[MediaTailor를 MediaPackage 및 CDN과 통합](mediapackage-integration.md).

## MediaPackage 캐시 제어 헤더
<a name="emp-cache-control-headers"></a>

MediaPackage는 캐싱 동작을 최적화하기 위해 다양한 콘텐츠 유형에 대해 특정 TTL 값을 설정합니다.

**다변량 재생 목록(HLS 및 LL-HLS)**  
TTL: 미디어 세그먼트 지속 시간의 절반  
이유: 이러한 재생 목록은 새 세그먼트를 사용할 수 있게 되면 변경되므로 자주 업데이트해야 합니다.

**미디어 재생 목록(일반 HLS)**  
TTL: 미디어 세그먼트 지속 시간의 절반  
이유: 다변량 재생 목록과 마찬가지로 콘텐츠가 진행됨에 따라 이러한 업데이트

**미디어 재생 목록(LL-HLS)**  
TTL: 1초  
이유: 지연 시간이 짧은 스트리밍에는 매우 빈번한 업데이트가 필요합니다.

**TS 미디어 세그먼트 및 초기화 세그먼트**  
TTL: 1209600초(14일)  
이유: 미디어 세그먼트는 일단 생성되면 변경되지 않으므로 장기간 캐시할 수 있습니다.

**CMAF 미디어 세그먼트 및 초기화 세그먼트**  
TTL: 1209600초(14일)  
이유: TS 세그먼트와 마찬가지로 생성된 후에는 변경할 수 없습니다.

모든 MediaTailor 워크플로에 대한 포괄적인 TTL 권장 사항 및 추가 캐싱 최적화 전략은 섹션을 참조하세요[CDN 및 MediaTailor 통합을 위한 캐싱 최적화](cdn-optimize-caching.md).

## CDN 캐시 정책 구성
<a name="cdn-cache-policy-configuration"></a>

최적의 성능과 비용 효율성을 위해서는 적절한 캐시 정책 구성이 필수적입니다. 콘텐츠 유형(매니페스트, 세그먼트, 초기화 파일)마다 캐싱 요구 사항이 다릅니다. 별도의 캐시 동작을 사용하면 각 콘텐츠 유형에 대한 캐싱을 최적화하여 캐시 적중률을 개선하고 오리진 로드를 줄일 수 있습니다. 적절한 캐시 정책이 없으면 불필요한 오리진 요청, 비용 증가 및 재생 성능 저하가 발생할 수 있습니다.

MediaPackage 캐시 제어 헤더를 올바르게 적용하고 캐싱을 최적화하려면:

1. CloudFront 콘솔에서 CloudFront 배포 설정을 엽니다.

1. 다양한 콘텐츠 유형에 대해 별도의 캐시 동작을 생성합니다.
   + 매니페스트 요청(\$1.m3u8, \$1.mpd)
   + 미디어 세그먼트(\$1.ts, \$1.mp4, \$1.m4s)
   + 초기화 세그먼트

1. 각 캐시 동작에 대해 다음 설정을 사용하여 캐시 정책을 생성하거나 선택합니다.
   + "원본 캐시 제어 헤더" 옵션 활성화
   + "원본 요청 정책"을 설정하여 필요한 헤더 전달
   + 콘텐츠 유형에 따라 쿼리 문자열 전달 구성

### 매니페스트 캐시 동작
<a name="manifest-cache-behavior"></a>

매니페스트 요청(\$1.m3u8, \$1.mpd)의 경우:
+ **경로 패턴**: \$1.m3u8 및 \$1.mpd
+ **캐시 정책**: 오리진 캐시 제어 헤더 명예
+ **쿼리 문자열**: 특정 파라미터 전달( 참조[쿼리 문자열 전달 최적화](#cdn-query-string-optimization))
+ **헤더**: 모든 헤더 전달(최소 요구 사항은 참조[MediaTailor CDN 통합에 필요한 헤더](cdn-configuration.md#cdn-required-headers))

### 미디어 세그먼트 캐시 동작
<a name="segment-cache-behavior"></a>

미디어 세그먼트(\$1.ts, \$1.mp4, \$1.m4s)의 경우:
+ **경로 패턴**: \$1.ts, \$1.mp4, \$1.m4s
+ **캐시 정책**: 오리진 캐시 제어 헤더 명예(14일 TTL)
+ **쿼리 문자열**: 없음(세그먼트는 쿼리 파라미터를 사용하지 않음)
+ **압축**: 전송 성능 향상

## 쿼리 문자열 전달 최적화
<a name="cdn-query-string-optimization"></a>

불필요한 쿼리 파라미터는 동일한 콘텐츠에 대해 여러 캐시 변형을 생성하므로 쿼리 문자열 최적화는 캐시 효율성에 매우 중요합니다. 각 고유 쿼리 파라미터 조합은 별도의 캐시 항목을 생성하여 캐시 적중률을 줄이고 오리진 요청을 증가시킵니다. MediaPackage에서 실제로 사용하는 쿼리 문자열만 전달하면 전체 기능을 유지하면서 캐시 효율성을 극대화할 수 있습니다.

MediaPackage가 사용하는 쿼리 문자열만 전달하도록 CDN을 구성하여 캐시 효율성을 개선합니다.

**필수 쿼리 문자열**  
`start` 및 `end` - 시간 이동 보기 창의 경우  
`time_delay` - 매니페스트 콘텐츠에 시간 지연 적용  
`_HLS_msn`, `_HLS_m`및 `_HLS_part` - LL-HLS 재생 요청의 경우

**기능별 쿼리 문자열**  
`aws.manifestfilter` - [매니페스트 필터링](cdn-emp-manifest-filtering.md)용

**중요**  
캐시 키에 다른 쿼리 문자열을 포함하지 마십시오. MediaPackage는 인식할 수 없는 파라미터를 무시하며, 이를 포함하면 불필요한 캐시 변형을 생성하여 캐시 효율성이 줄어듭니다.

## 성능 최적화 기법
<a name="cache-performance-optimization"></a>

이러한 최적화는 MediaPackage 또는 MediaTailor가 아닌 CDN(예: CloudFront)에 구성됩니다. 캐시 성능을 극대화하기 위해 다음과 같은 추가 최적화를 구현합니다.

### 오리진 실드
<a name="origin-shield-configuration"></a>

오리진 실드는 CDN 엣지 로케이션과 MediaPackage 엔드포인트 간에 추가 캐싱 계층을 제공합니다. 이렇게 하면 MediaPackage 엔드포인트에 도달하는 요청 수가 줄어들어 특히 트래픽이 급증하거나 캐시 적중률이 최적보다 낮을 때 성능을 개선하고 비용을 절감할 수 있습니다. 오리진 실드는 여러 엣지 로케이션이 동일한 콘텐츠를 동시에 요청할 수 있는 라이브 스트리밍에 특히 유용합니다.

오리진 실드를 활성화하여 MediaPackage 엔드포인트의 부하를 줄입니다.

1. CloudFront 배포에서 MediaPackage 오리진에 대해 Origin Shield를 활성화합니다.

1. MediaPackage 엔드포인트와 가까운 오리진 실드 리전을 선택합니다.

1. 이렇게 하면 MediaPackage에 대한 요청을 줄이는 추가 캐싱 계층이 생성됩니다.

### 압축 구성
<a name="compression-settings"></a>

텍스트 기반 응답에 대해 압축을 활성화합니다.
+ 매니페스트 파일에 대한 압축 활성화(\$1.m3u8, \$1.mpd)
+ 미디어 세그먼트를 압축하지 마십시오(이미 압축됨).
+ 모든 헤더가 MediaPackage로 전달되는지 확인합니다(최소 요구 사항은 참조[MediaTailor CDN 통합에 필요한 헤더](cdn-configuration.md#cdn-required-headers)).

## 캐시 성능 모니터링
<a name="cache-monitoring-metrics"></a>

이러한 주요 지표를 추적하여 캐시 성능을 최적화합니다.

**캐시 적중률**  
대상: 미디어 세그먼트의 경우 90%, 매니페스트의 경우 70% 이상  
비율이 낮으면 잘못된 TTL 설정 또는 불필요한 쿼리 파라미터를 나타낼 수 있습니다.

**오리진 요청 볼륨**  
MediaPackage 엔드포인트에 대한 요청 모니터링  
대용량은 캐싱 문제를 나타낼 수 있습니다.

**캐시 키 변형**  
캐시 키 패턴을 검토하여 불필요한 변형 식별  
변형이 너무 많으면 캐시 효율성이 저하됩니다.

이러한 캐시 최적화를 구현한 후 효율성을 추적하도록 모니터링을 설정합니다. 캐시 적중률, 오리진 요청 패턴 및 기타 주요 성능 지표 모니터링에 대한 지침은 섹션을 참조하세요[MediaPackage, CDN 및 MediaTailor 통합의 성능 모니터링](cdn-emp-monitoring.md). 캐시 성능이 좋지 않거나 예기치 않은 오리진 요청이 관찰되는 경우 문제 해결 단계는 섹션을 참조[MediaPackage, CDN 및 MediaTailor 통합 문제 해결](cdn-emp-troubleshooting.md)하세요.

# MediaPackage, CDN 및 MediaTailor 통합의 성능 모니터링
<a name="cdn-emp-monitoring"></a>

AWS Elemental MediaTailor 에서는 및 콘텐츠 전송 네트워크(CDN) 통합의 최적의 성능을 유지하기 위해 효과적인 모니터링이 AWS Elemental MediaPackage 필요합니다. 이 주제에서는 추적할 주요 지표, 사용할 모니터링 도구, 사전 문제 감지에 대한 알림을 설정하는 방법에 대한 지침을 제공합니다.

모니터링을 설정하기 전에 기본 통합이 올바르게 작동하는지 확인합니다. 기본 콘텐츠 전송 네트워크 통합 설정을 완료하지 않은 경우 로 시작합니다[MediaTailor를 MediaPackage 및 CDN과 통합](mediapackage-integration.md). 모니터링을 통해 식별된 문제를 해결해야 하는 경우 섹션을 참조하세요[CDN 통합 문제 해결](cdn-emp-troubleshooting.md).

## 주요 성능 지표
<a name="key-performance-metrics"></a>

이러한 필수 지표를 모니터링하여 MediaPackage 및 CDN 통합의 최적의 성능을 보장합니다.

### CDN 성능 지표
<a name="cdn-metrics"></a>

캐시 적중률 대상, 오리진 요청 볼륨 모니터링 및 응답 시간 벤치마크를 포함한 포괄적인 CDN 성능 지표는 CDN 최적화 가이드[CDN 및 MediaTailor 통합의 성능 벤치마크](cdn-performance-benchmarks.md)의 섹션을 참조하세요.

CDN 지표에 대한 주요 EMP별 고려 사항:

**EMP 캐시 제어 헤더**  
**확인 사항**: CDN이 최적의 TTL 동작을 위해 EMP의 캐시 제어 헤더를 준수하는지 확인  
**예상 동작**: EMP의 헤더에 따라 콘텐츠 유형에 따라 캐시 기간이 달라야 합니다.  
EMP 캐시 최적화에 대한 자세한 지침은 섹션을 참조하세요[MediaTailor 및 MediaPackage 콘텐츠 전송을 위한 CDN 캐싱 최적화](cdn-emp-caching.md).

**쿼리 파라미터 영향**  
**모니터링 대상**: EMP별 쿼리 파라미터가 캐시 효율성에 미치는 영향 추적  
**최적화 대상**: 필요한 EMP 쿼리 파라미터만 캐시 키에 포함되는지 확인

**CDN 응답 시간**  
**모니터링 대상**: 다양한 콘텐츠 유형(매니페스트 대 세그먼트)에 대한 응답 시간을 추적합니다.  
**대상 값**:  
+ 캐시된 콘텐츠: 100ms 미만
+ 오리진 요청: 500ms 미만

### MediaPackage 성능 지표
<a name="emp-metrics"></a>

**오류 발생률**  
**모니터링 대상**: CDN 및 MediaPackage 엔드포인트 모두에서 HTTP 오류율을 모니터링합니다. 구성 문제를 나타낼 수 있는 4xx 오류에 특히 주의하십시오.  
**키 오류 코드**:  
+ 400 오류: 매니페스트 필터링 문제와 관련된 경우가 많음
+ 404 오류: 라우팅 또는 구성 문제를 나타낼 수 있음
+ 504 오류: 제한 시간 문제, 특히 LL-HLS 관련 문제

**요청 볼륨 및 패턴**  
**모니터링 대상**: MediaPackage 엔드포인트에 대한 요청 패턴을 추적하여 사용 추세 및 용량 요구 사항을 식별합니다.  
**관찰할 패턴**:  
+ 피크 사용 시간
+ 요청의 지리적 분포
+ 콘텐츠 유형 배포(라이브 vs. 온디맨드)

### 지연 시간 지표
<a name="latency-metrics"></a>

**End-to-end 지연 시간**  
**모니터링할 사항**: LL-HLS 구현의 경우 콘텐츠 수집부터 최종 사용자 재생까지의 end-to-end 지연 시간을 모니터링합니다. 지연 시간이 길면 CDN 구성 문제가 발생할 수 있습니다.  
**대상 값**:  
+ LL-HLS: 3초 미만의 glass-to-glass 지연 시간
+ 일반 HLS: 30초 미만

**매니페스트 생성 시간**  
**모니터링할 사항**: 특히 필터링이 적용된 경우 MediaPackage에서 매니페스트를 생성하는 데 걸리는 시간입니다.  
**대상 값**: 매니페스트 생성의 경우 200ms 미만

## 모니터링 도구 및 설정
<a name="monitoring-tools"></a>

포괄적인 모니터링 도구를 설정하는 것은 최적의 성능을 유지하고 최종 사용자에게 영향을 미치기 전에 문제를 신속하게 식별하는 데 필수적입니다. 적절한 모니터링이 없으면 최종 사용자가 재생 품질이 저하될 때까지 성능 저하, 캐시 비효율성 또는 통합 문제가 눈에 띄지 않을 수 있습니다. 올바른 모니터링 설정은 MediaPackage 및 CDN 통합의 모든 측면에 대한 가시성을 제공합니다.

다음 AWS 서비스 및 도구를 사용하여 MediaPackage 및 CDN 통합을 모니터링합니다.

### Amazon CloudWatch
<a name="cloudwatch-monitoring"></a>

Amazon CloudWatch는 두 서비스에서 지표를 수집하고 저장하여 MediaPackage 및 CDN 통합을 모니터링하는 기반을 제공합니다. 적절한 CloudWatch 구성을 사용하면 성능 추세를 식별하고, 문제를 해결하고, 통합을 최적화하는 데 필요한 데이터를 확보할 수 있습니다. CloudWatch 지표가 없으면 시스템 성능에 대한 가시성이 부족해지고 문제가 심각해질 때까지 감지되지 않을 수 있습니다.

포괄적인 지표 수집을 위한 CloudWatch 모니터링을 설정합니다.

1. **MediaPackage 지표**: MediaPackage 엔드포인트에 대한 CloudWatch 지표를 활성화하여 요청 볼륨, 오류율 및 응답 시간을 추적합니다.

1. **CDN 지표**: 캐시 적중률, 오리진 요청 수 및 오류율을 포함한 CloudFront 지표를 수집하도록 CloudWatch를 구성합니다.

1. **사용자 지정 지표**: 최종 사용자 참여 또는 콘텐츠 인기도와 같은 비즈니스별 KPIs에 대한 사용자 지정 지표를 생성합니다.

### CloudWatch 대시보드
<a name="dashboard-setup"></a>

포괄적인 대시보드를 생성하여 지표를 시각화합니다.

1. **개요 대시보드**: 전체 시스템 상태를 보여주는 상위 수준 지표

1. **CDN 성능 대시보드**: 캐시 성능 및 지리적 배포를 포함한 세부 CDN 지표

1. **MediaPackage 성능 대시보드**: 요청 패턴 및 오류율을 포함한 MediaPackage별 지표

1. **지연 시간 대시보드**: 다양한 콘텐츠 유형 및 리전에 대한 End-to-end 지연 시간 지표

### 로그 분석
<a name="log-analysis"></a>

자세한 문제 해결을 위해 로그 분석을 설정합니다.

1. **CDN 액세스 로그**: CDN 액세스 로그를 활성화 및 분석하여 요청 패턴을 이해하고 문제를 식별합니다.

1. **MediaPackage CloudWatch 로그**: 오류 및 성능 문제에 대한 MediaPackage 로그 모니터링

1. **로그 집계**: Amazon CloudWatch Logs Insights 또는 타사 도구를 사용하여 로그 패턴 분석

## 알림 및 알림 설정
<a name="alerting-setup"></a>

알림 구성은 사전 문제 감지 및 해결에 매우 중요합니다. 적절한 알림이 없으면 최종 사용자 경험에 상당한 영향을 미치거나 서비스 중단을 일으킬 때까지 문제가 눈에 띄지 않을 수 있습니다. 잘 구성된 알림은 최종 사용자에게 영향을 미치기 전에 문제를 식별하고 해결하고 팀에 즉각적인 조치가 필요한 중요한 문제를 알리는 데 도움이 됩니다.

최종 사용자에게 영향을 미치기 전에 문제를 식별하도록 사전 예방 알림을 구성합니다.

### 중요 알림
<a name="critical-alerts"></a>

중요한 문제에 대한 즉각적인 알림을 설정합니다.
+ **높은 오류율**: 5분 동안 4xx 또는 5xx 오류율이 5%를 초과하면 알림
+ **캐시 적중률 저하**: 캐시 적중률이 매니페스트의 경우 70%, 세그먼트의 경우 85% 미만으로 떨어질 때 알림
+ **높은 지연 시간**: end-to-end 지연 시간이 목표 임계값을 초과할 때 알림
+ **오리진 요청 급증**: 오리진 요청이 기준과 비교하여 50% 이상 증가할 때 알림

### 경고 알림
<a name="warning-alerts"></a>

문제 발생을 나타낼 수 있는 추세에 대한 경고 알림을 설정합니다.
+ **점진적 성능 저하**: 30분 동안 응답 시간이 20% 증가할 때 알림
+ **캐시 효율성 추세**: 캐시 적중률이 시간 경과에 따른 감소 추세를 표시할 때 알림
+ **비정상적인 트래픽 패턴**: 요청 볼륨 또는 지리적 배포의 예기치 않은 변경에 대한 알림

## 최적화를 위해 모니터링 데이터 사용
<a name="performance-optimization"></a>

모니터링 데이터를 활용하여 성능을 지속적으로 개선합니다.

### 정기적인 성능 검토
<a name="regular-reviews"></a>

1. **주간 검토**: 주간 성능 추세 분석 및 최적화 기회 식별

1. **월별 용량 계획**: 트래픽 패턴을 사용하여 용량 요구 사항 및 CDN 최적화 계획

1. **분기별 아키텍처 검토**: 전반적인 아키텍처 효율성을 평가하고 개선이 필요한 영역을 식별합니다.

### 일반적인 최적화 작업
<a name="optimization-actions"></a>

데이터 모니터링을 기반으로 다음 최적화 작업을 고려합니다.
+ **캐시 정책 조정**: 실제 콘텐츠 업데이트 패턴을 기반으로 TTL 값을 수정합니다. 자세한 TTL 최적화 지침은 섹션을 참조하세요[CDN 및 MediaTailor 통합을 위한 캐싱 최적화](cdn-optimize-caching.md).
+ **지리적 최적화**: 트래픽이 많은 리전에 CDN 엣지 로케이션 추가
+ **쿼리 파라미터 최적화**: 캐시를 조각화하는 불필요한 쿼리 파라미터 제거
+ **오리진 실드 구성**: 오리진 요청 볼륨이 많은 리전에서 오리진 실드 구현

MediaPackage와 관련된 자세한 모니터링 지침은 [ MediaPackage 사용 설명서의 MediaPackage 모니터링을](https://docs.aws.amazon.com/mediapackage/latest/ug/monitoring.html) 참조하세요. MediaPackage 

# MediaPackage, CDN 및 MediaTailor 통합 문제 해결
<a name="cdn-emp-troubleshooting"></a>

AWS Elemental MediaTailor AWS Elemental MediaPackage 및 콘텐츠 전송 네트워크(CDN)와 통합하면 재생, 캐싱 또는 기타 통합 기능에 영향을 미치는 일반적인 문제가 발생할 수 있습니다. 재생 문제, 캐싱 문제 또는 기타 통합 관련 오류가 발생할 때이 가이드를 사용합니다.

모든 MediaTailor 구현에 적용되는 범용 캐시 성능 문제, HTTP 오류 해결, 테스트 절차 및 진단 기술을 포함한 포괄적인 CDN 문제 해결 지침은 섹션을 참조하세요[CDN 통합 문제 해결](cdn-troubleshooting.md). 이 섹션에서는 MediaPackage 관련 문제 해결 요구 사항에 중점을 둡니다.

문제를 해결하기 전에 기본 통합 설정을 올바르게 완료했는지 확인합니다. 아직 통합을 설정하지 않았거나 설정 단계를 검토해야 하는 경우 섹션을 참조하세요[MediaTailor를 MediaPackage 및 CDN과 통합](mediapackage-integration.md). 문제 해결 후 캐시 성능 최적화에 대한 지침은 섹션을 참조하세요[CDN 캐싱](cdn-emp-caching.md).

## 매니페스트 필터링 오류
<a name="manifest-filtering-errors"></a>

문서화된 오류 조건에 따른 MediaPackage 매니페스트 필터링 기능 관련 문제:

**매니페스트 필터링과 관련된 HTTP 400 오류**  
**증상**: `aws.manifestfilter` 파라미터가 있는 요청은 HTTP 400 잘못된 요청을 반환합니다.  
**검증된 원인(설명서에서 AWS ):**  
+ 필터 기준은 빈 매니페스트를 생성합니다(필터 조건과 일치하는 스트림 없음).
+ 잘못된 필터 파라미터 이름 또는 값
+ 형식이 잘못된 쿼리 문자열 구문
+ 중복 또는 반복 필터 파라미터
+ 필터 파라미터 문자열이 1,024자를 초과함
+ 미디어 재생 목록 또는 세그먼트에 적용된 쿼리 파라미터(지원되지 않음)
**솔루션:**  

1. 필터 파라미터를 검토하여 사용 가능한 콘텐츠 스트림과 일치하는지 확인합니다. 필터링으로 일치하는 스트림이 없는 경우 MediaPackage는 HTTP 400을 반환합니다.

1. 지원되는 파라미터 이름 및 값 형식과 비교하여 필터 구문을 검증합니다.

1. 쿼리 문자열에 중복 파라미터가 있는지 확인합니다.

1. 필터 파라미터가 미디어 재생 목록 또는 세그먼트가 아닌 다변량 재생 목록에만 적용되는지 확인합니다.

1. 총 파라미터 문자열이 1024자 미만인지 확인합니다.
**참조**: [AWS Elemental MediaPackage 매니페스트 필터링 오류 조건](https://docs.aws.amazon.com/mediapackage/latest/userguide/error-conditions-and-handling.html)

**매니페스트 필터링이 작동하지 않음(HTTP 200이지만 필터링이 적용되지 않음)**  
**증상**: 요청은 HTTP 200을 반환하지만 매니페스트에는 필터링된 하위 집합 대신 모든 스트림이 포함됩니다.  
**가능한 원인:**  
+ MediaPackage에 `aws.manifestfilter` 쿼리 파라미터를 전달하지 않는 CDN
+ 사용 가능한 스트림에서 필터 파라미터를 찾을 수 없음(HTTP 200으로 필터링되지 않은 매니페스트 반환)
**솔루션:**  

1. CDN 캐시 정책이 전달된 쿼리 문자열 목록에 `aws.manifestfilter`를 포함하는지 확인합니다.

1. MediaPackage 엔드포인트(CDN 우회)에 대해 직접 필터 파라미터를 테스트하여 예상대로 작동하는지 확인합니다.

1. 필터 값이 콘텐츠 스트림의 실제 특성과 일치하는지 확인합니다.
**참조**: [AWS Elemental MediaPackage 매니페스트 필터링 오류 조건](https://docs.aws.amazon.com/mediapackage/latest/userguide/error-conditions-and-handling.html)

## 진단 절차
<a name="validated-diagnostic-steps"></a>

체계적인 진단 절차를 통해 통합 문제의 근본 원인을 빠르고 효율적으로 식별할 수 있습니다. 구조화된 접근 방식을 따르면 잘못된 가정으로 인한 시간 낭비를 방지하고 증상보다는 실제 문제를 해결할 수 있습니다. 이러한 증거 기반 진단 단계는 문제를 격리하고 적절한 솔루션으로 안내하도록 설계되었습니다.

다음 증거 기반 진단 단계에 따라 문제를 식별합니다.

### 캐시 성능 분석
<a name="cache-performance-analysis"></a>

캐시 성능 분석은 EMP 통합에 매우 중요합니다. 캐시 효율성이 좋지 않으면 오리진 로드가 증가하고 비용이 증가하며 재생 문제가 발생할 수 있기 때문입니다.

캐시 적중률 분석, 캐시 키 최적화 및 체계적인 진단 단계를 포함한 포괄적인 캐시 성능 문제 해결은 기본 CDN 문제 해결 안내서[CDN 캐시 성능 문제](diagnose-performance-issues.md#cache-performance-troubleshooting)의 섹션을 참조하세요.

EMP별 캐시 고려 사항:
+ **EMP 캐시 제어 헤더**: CDN이 EMP의 캐시 제어 헤더를 재정의하지 않고 준수하는지 확인합니다.
+ **EMP 쿼리 파라미터**: 필요한 EMP 쿼리 파라미터만 캐시 키에 포함되는지 확인합니다.
+ **EMP TTL 동작**: 다양한 EMP 콘텐츠 유형에 적절한 캐시 기간이 있는지 확인

EMP 캐시 정책 및 TTL 설정 최적화에 대한 자세한 지침은 섹션을 참조하세요[MediaTailor 및 MediaPackage 콘텐츠 전송을 위한 CDN 캐싱 최적화](cdn-emp-caching.md).

### 매니페스트 필터링 구성 검증
<a name="manifest-filtering-validation"></a>

매니페스트 필터링 검증은 필터링 문제로 인해 최종 사용자가 잘못된 콘텐츠, 지원되지 않는 형식 또는 액세스해서는 안 되는 콘텐츠를 수신할 수 있기 때문에 필수적입니다. 체계적 테스트는 문제가 CDN 구성, 필터 파라미터 구문 또는 콘텐츠 가용성과 관련이 있는지 식별하는 데 도움이 됩니다.

매니페스트 필터링 기능을 체계적으로 테스트합니다.

1. MediaPackage 엔드포인트(CDN 우회)에 대해 직접 필터 파라미터를 테스트하여 올바르게 작동하는지 확인합니다.

1. 필터링된 매니페스트와 필터링되지 않은 매니페스트를 비교하여 예상 스트림이 포함/제외되었는지 확인합니다.

1. CDN 캐시 정책이 `aws.manifestfilter` 쿼리 파라미터를 전달하는지 확인합니다.

1. HTTP 400 오류를 확인하고 문서화된 오류 조건과 일치시킵니다.

문제 해결 후 매니페스트 필터링을 구현하거나 수정해야 하는 경우 전체 설정 지침은 섹션을 참조[MediaTailor, MediaPackage 및 CDN을 사용하여 매니페스트 필터링 설정](cdn-emp-manifest-filtering.md)하세요.

### 쿼리 파라미터 구성 검증
<a name="query-parameter-validation"></a>

CDN이 필요한 쿼리 파라미터만 전달하는지 확인합니다.

1. CDN 캐시 정책을 검토하여 AWS 권장 파라미터만 포함하는지 확인합니다.
   + `aws.manifestfilter` - 매니페스트 필터링용
   + `aws.manifestsettings` - 시간 이동 보기
   + `_HLS_msn` 및 `_HLS_part` - LL-HLS 지원용

1. MediaPackage는 쿼리 파라미터를 무시하고 캐시 효율성을 줄이므로 캐시 키에서 다른 쿼리 파라미터를 제거합니다.

**참조**: [AWS Elemental MediaPackage 및 CDNs 작업](https://docs.aws.amazon.com/mediapackage/latest/userguide/cdns.html)

## 오류 코드 참조
<a name="documented-error-reference"></a>

문서화된 오류 조건 및 원인에 대한 참조:

**HTTP 400 잘못된 요청(매니페스트 필터링)**  
**문서화된 원인**:  
+ 필터를 적용하면 빈 매니페스트가 생성됩니다.
+ 잘못된 파라미터 이름 또는 값
+ 형식이 잘못된 쿼리 문자열 구문
+ 중복 필터 파라미터
+ 파라미터 문자열이 1024자를 초과함
+ 미디어 재생 목록 또는 세그먼트의 쿼리 파라미터
**참조**: [MediaPackage 매니페스트 필터링 오류 조건](https://docs.aws.amazon.com/mediapackage/latest/userguide/error-conditions-and-handling.html)

**HTTP 200 OK(필터링이 적용되지 않음)**  
**문서화된 원인**:  
+ 사용 가능한 스트림에서 필터 파라미터를 찾을 수 없음(필터링되지 않은 매니페스트 반환)
+ 필터링 후 존재하는 자막 스트림만(필터링되지 않은 매니페스트 반환)
**참조**: [MediaPackage 매니페스트 필터링 오류 조건](https://docs.aws.amazon.com/mediapackage/latest/userguide/error-conditions-and-handling.html)

## 추가 문제 해결 리소스
<a name="additional-resources"></a>

이 주제에서 다루지 않은 문제는 다음 공식 AWS 리소스를 참조하세요.
+ [에서 매니페스트 미리 보기 AWS Elemental MediaPackage](https://docs.aws.amazon.com/mediapackage/latest/userguide/endpoints-preview.html) - 매니페스트 미리 보기를 사용하여 콘텐츠 패키징 문제 해결
+ [CloudFront 캐시 적중률 증가](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cache-hit-ratio.html) - CDN 캐시 최적화에 대한 포괄적인 가이드
+ [매니페스트 필터링](https://docs.aws.amazon.com/mediapackage/latest/userguide/manifest-filtering.html) - MediaPackage 필터링 기능에 대한 전체 가이드

# Amazon CloudFront AWS Elemental MediaTailor 와 통합
<a name="cloudfront-specific-recommendations"></a>

AWS Elemental MediaTailor 는 Amazon CloudFront와 통합되어 콘텐츠 전송 성능과 신뢰성을 개선합니다. CloudFront는 엣지 로케이션이라는 전 세계 데이터 센터 네트워크를 통해 콘텐츠를 배포하는 콘텐츠 전송 네트워크(CDN)입니다. 최종 사용자가 MediaTailor에서 콘텐츠를 요청하면 CloudFront는 가장 가까운 엣지 로케이션으로 요청을 라우팅합니다. 이 접근 방식은 지연 시간을 줄이고 최종 사용자의 성능을 개선합니다.

MediaTailor를 CloudFront와 통합하면 다음과 같은 몇 가지 주요 이점이 있습니다.
+ 개인화된 콘텐츠에 액세스하는 시청자의 지연 시간 단축
+ 대규모 대상 크기 처리를 위한 확장성 향상
+ 중복 전송 경로를 통한 안정성 향상
+ 효율적인 캐싱 전략을 통한 비용 최적화
+ Media Quality-Aware Resiliency(MQAR)를 사용한 다중 리전 장애 조치와 같은 고급 기능

CloudFront 기능에 대한 자세한 내용은 [CloudFront 개발자 안내서](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html)를 참조하세요. CloudFront 요금에 대한 자세한 내용은 [CloudFront 요금을](https://aws.amazon.com/cloudfront/pricing/) 참조하세요.

간결하게 하기 위해 "매니페스트"를 사용하여 다변량 재생 목록, 미디어 재생 목록 및 MPDs를 총체적으로 참조하는 경우가 있습니다.

**Topics**
+ [기본 CloudFront 설정](cloudfront-basic-setup.md)
+ [성능 최적화](cloudfront-performance-optimization.md)
+ [다중 리전 복원력](media-quality-resiliency.md)
+ [모니터링 및 문제 해결](monitoring-and-troubleshooting.md)

# MediaTailor와의 기본 CloudFront 통합 설정
<a name="cloudfront-basic-setup"></a>

AWS Elemental MediaTailor Amazon CloudFront와 통합하면 최종 사용자의 콘텐츠 전송 성능이 향상됩니다. 이 주제에서는 MediaTailor에 대한 기본 CloudFront 배포를 설정하는 방법을 안내합니다. 이 통합을 통해 최종 사용자는 CloudFront 네트워크를 통해 개인화된 콘텐츠에 액세스할 수 있습니다. 또한 다양한 콘텐츠 유형에 적합한 캐싱을 구성하는 방법도 알아봅니다.

권한 부여 및 라우팅을 위해 CloudFront를 통해 쿼리 파라미터를 전달하는 방법에 대한 자세한 내용은 섹션을 참조하세요[MediaTailor 매니페스트 쿼리 파라미터](manifest-query-parameters.md). 동적 변수를 사용한 고급 라우팅은 섹션을 참조하세요[여러 콘텐츠 소스에 대한 MediaTailor 도메인 변수](variables-domains.md).

## 사전 조건
<a name="cf-basic-prerequisites"></a>

MediaTailor로 CloudFront를 구성하기 전에 다음이 있는지 확인합니다.
+ CloudFront 배포를 생성하고 관리할 수 있는 권한이 있는 활성 AWS 계정
+ 구성된 MediaTailor 재생 구성( 참조[AWS Elemental MediaTailor 를 사용하여 광고 삽입](configurations.md))
+ 콘텐츠 오리진 서버를 올바르게 설정하고 액세스할 수 있습니다.
+ 비디오 스트리밍 개념에 대한 기본 이해(HLS/DASH)

## CloudFront 배포 구성
<a name="cf-basic-configuration"></a>

다음 단계에 따라 MediaTailor용 CloudFront 배포를 생성하고 구성합니다.

**MediaTailor용 CloudFront 배포를 생성하려면**

1.  AWS Management Console에 로그인하고 [https://console.aws.amazon.com/cloudfront/v3/home](https://console.aws.amazon.com/cloudfront/v3/home) CloudFront 콘솔을 엽니다.

1. **배포 생성**(Create Distribution)을 선택합니다.

1. **오리진 도메인**에 MediaTailor 엔드포인트 URL(예: `a1b2c3d4.mediatailor.us-west-2.amazonaws.com`)을 입력합니다.

1. **프로토콜**에서 **HTTPS만** 선택합니다.

1. **이름**에이 오리진을 식별하는 데 도움이 되는 이름(예: `mediatailor-origin`)을 입력합니다.

1. 기본 캐시 동작 설정을 구성합니다.

   1. **경로 패턴**에는 기본값()을 사용합니다`*`.

   1. **객체 자동 압축**에서 **예를** 선택합니다.

   1. **뷰어 프로토콜 정책**에서 **HTTP를 HTTPS로 리디렉션**을 선택합니다.

   1. **허용된 HTTP 메서드**에서 **GET, HEAD**를 선택합니다.

   1. **캐시 정책**에서 **CachingDisabled** 선택합니다.

   1. **오리진 요청 정책**에서 **AllViewer**를 선택하여 기본 동작에 대한 모든 헤더를 전달합니다.
**참고**  
기본 동작은 AllViewer를 사용하여 특정 경로 패턴과 일치하지 않는 모든 콘텐츠를 안전하게 처리합니다. 매니페스트 및 세그먼트에 대한 특정 캐시 동작은 적절한 정책을 사용하여 별도로 구성됩니다.

1. 배포 설정을 구성합니다.

   1. **가격 클래스**에서 대상 위치와 가장 일치하는 옵션을 선택합니다.

   1. **AWS WAF 웹 ACL**의 경우 기존 웹 ACL을 선택하거나 **보안 보호 활성화 안 함**으로 둡니다.

   1. **기본 루트 객체**의 경우 비워 둡니다.

   1. **표준 로깅**에서 **켜기**를 선택하여 로깅을 활성화합니다.

1. **배포 생성**(Create Distribution)을 선택합니다.

## 캐시 동작 구성
<a name="cf-cache-behaviors"></a>

배포를 생성한 후에는 다양한 유형의 콘텐츠를 적절하게 처리하도록 추가 캐시 동작을 구성해야 합니다. 이 섹션에서는 CloudFront의 기본 캐시 동작 설정을 다룹니다.

고급 TTL 설정, 캐시 키 구성 및 성능 튜닝을 포함한 포괄적인 캐싱 최적화는 CDN 최적화 가이드[CDN 및 MediaTailor 통합을 위한 캐싱 최적화](cdn-optimize-caching.md)의 섹션을 참조하세요.

### 매니페스트 캐시 동작 구성
<a name="cf-manifest-behavior"></a>

매니페스트에는 개인 맞춤형 콘텐츠가 포함되어 있으므로 캐시하지 마세요. 다음 단계에 따라 캐시 동작을 구성합니다.

**매니페스트 캐시 동작을 구성하려면**

1. CloudFront 콘솔에서 배포를 선택합니다.

1. **동작** 탭을 선택합니다.

1. **동작 만들기(Create behavior)**를 선택합니다.

1. **경로 패턴**에 `*.m3u8`를 입력하여 HLS 다변량 및 미디어 재생 목록과 일치시킵니다.

1. **오**리진에서 MediaTailor 오리진을 선택합니다.

1. **캐시 정책**에서 **CachingDisabled** 선택합니다.

1. **오리진 요청 정책**에서 **AllViewer**를 선택하여 동적 콘텐츠에 필요한 모든 헤더를 전달합니다.

1. **생성(Create)**을 선택합니다.

1. 경로 패턴을 사용하여 MPDs`*.mpd`와 일치하는 DASH 매니페스트에 대해이 단계를 반복합니다.

이 구성을 사용하면 각 최종 사용자가 특정 광고 콘텐츠가 포함된 개인화된 매니페스트를 수신할 수 있습니다. CDN은 이러한 매니페스트를 캐싱하지 않으므로 각 요청은 MediaTailor로 직접 전달됩니다.

### 세그먼트 캐시 동작 구성
<a name="cf-segment-behavior"></a>

성능을 최적화하고 적절한 CORS 처리를 보장하기 위해 광고 세그먼트 및 콘텐츠 세그먼트에 대해 별도의 캐시 동작을 구성합니다.

#### 광고 세그먼트 캐시 동작 구성
<a name="cf-ad-segment-behavior"></a>

`/tm/*` 경로 패턴을 통해 제공되는 광고 세그먼트는 CORS를 올바르게 처리하려면 특정 구성이 필요합니다. 다음 단계를 따릅니다.

**광고 세그먼트 캐시 동작을 구성하려면**

1. CloudFront 콘솔에서 배포를 선택합니다.

1. **동작** 탭을 선택합니다.

1. **동작 만들기(Create behavior)**를 선택합니다.

1. **경로 패턴**`/tm/*`에 MediaTailor에서 제공하는 광고 세그먼트와 일치하도록를 입력합니다.

1. **오**리진에서 MediaTailor 세그먼트 오리진(`segments.mediatailor.region.amazonaws.com`호스트 이름 사용)을 선택합니다.

1. **캐시 정책**에서 **CachingOptimized** 선택합니다.

1. **오리진 요청 정책**에서 **없음을** 선택합니다.

1. **응답 헤더 정책**에서 **CORS-with-preflight-and-SecurityHeadersPolicy**를 선택하여 응답에 적절한 CORS 헤더가 포함되도록 합니다.

1. **생성(Create)**을 선택합니다.

#### 콘텐츠 세그먼트 캐시 동작 구성
<a name="cf-content-segment-behavior"></a>

콘텐츠 세그먼트는 최적의 성능을 위해 표준 캐싱 정책을 사용할 수 있습니다. 다양한 세그먼트 형식에 대해 별도의 동작을 구성합니다.

**콘텐츠 세그먼트 캐시 동작을 구성하려면**

1. CloudFront 콘솔에서 배포를 선택합니다.

1. **동작** 탭을 선택합니다.

1. **동작 만들기(Create behavior)**를 선택합니다.

1. **경로 패턴**에 `*.ts`를 입력하여 HLS 콘텐츠 세그먼트와 일치시킵니다.

1. **오**리진에서 콘텐츠 오리진을 선택합니다.

1. **캐시 정책**에서 **CachingOptimized** 선택합니다.

1. **오리진 요청 정책**에서 **없음을** 선택합니다.

1. **응답 헤더 정책**에서 **CORS-with-preflight-and-SecurityHeadersPolicy**를 선택하여 모든 콘텐츠 유형에서 일관된 CORS 처리를 보장합니다.

1. **생성(Create)**을 선택합니다.

1. 적절한 경로 패턴을 사용하여 다른 콘텐츠 세그먼트 형식에 대해 다음 단계를 반복합니다.
   + `*.mp4` MP4 세그먼트용
   + `*.m4s` DASH 세그먼트용
   + `*.cmfv` CMAF 세그먼트`*.cmfa`의 경우 및

이 구성을 통해 광고 세그먼트와 콘텐츠 세그먼트가 적절한 CORS 처리로 적절하게 캐싱됩니다. 광고 세그먼트는 CORS 보호와 함께 MediaTailor 세그먼트 오리진을 사용하는 반면, 콘텐츠 세그먼트는 최적화된 캐싱 정책과 함께 콘텐츠 오리진을 사용합니다.

## MediaTailor 구성 업데이트
<a name="cf-mediatailor-config"></a>

CloudFront 배포를 설정한 후 CloudFront 도메인을 사용하도록 MediaTailor 구성을 업데이트합니다.

**MediaTailor 구성을 업데이트하려면**

1. [MediaTailor 콘솔](https://console.aws.amazon.com/mediatailor/home)을 엽니다.

1. 업데이트할 구성을 선택합니다.

1. **CDN 구성** 섹션의 **CDN 콘텐츠 세그먼트 접두사** 필드에 CloudFront 배포 도메인 이름(예: `d1234abcdef.cloudfront.net`)을 입력합니다.

1. 변경 내용을 저장합니다.

이 구성을 사용하면 MediaTailor는 오리진을 직접 가리키는 대신 CloudFront 배포를 가리키는 URLs을 사용하여 매니페스트를 생성합니다.

## 통합 테스트
<a name="cf-basic-testing"></a>

CloudFront 배포를 구성하고 MediaTailor 구성을 업데이트한 후 통합을 테스트합니다.

**CloudFront 및 MediaTailor 통합을 테스트하려면**

1. CloudFront 배포를 통해 매니페스트를 요청합니다(예: `https://d1234abcdef.cloudfront.net/v1/master/12345/my-config/index.m3u8`).

1. 매니페스트에 CloudFront 도메인을 가리키URLs이 포함되어 있는지 확인합니다.

1. 비디오 플레이어를 통해 콘텐츠를 재생하고 콘텐츠와 광고가 모두 올바르게 재생되는지 확인합니다.

1. CloudFront 로그를 확인하여 요청이 올바르게 라우팅되고 있는지 확인합니다.

## 구성의 예
<a name="cf-basic-example"></a>

다음은 적절한 캐시 동작이 있는 MediaTailor에 대한 CloudFront 배포 구성의 예입니다.

**Example CloudFront 배포 구성 예제**  

```
{
  "DefaultCacheBehavior": {
    "TargetOriginId": "mediatailor-origin",
    "ViewerProtocolPolicy": "redirect-to-https",
    "AllowedMethods": {
      "Quantity": 2,
      "Items": ["GET", "HEAD"]
    },
    "CachePolicyId": "4135ea2d-6df8-44a3-9df3-4b5a84be39ad",
    "OriginRequestPolicyId": "59781a5b-3903-41f3-afcb-af62929ccde1",
    "Comment": "Default behavior with CachingDisabled and AllViewer"
  },
  "CacheBehaviors": [
    {
      "PathPattern": "*.m3u8",
      "TargetOriginId": "mediatailor-origin",
      "ViewerProtocolPolicy": "redirect-to-https",
      "CachePolicyId": "4135ea2d-6df8-44a3-9df3-4b5a84be39ad",
      "OriginRequestPolicyId": "59781a5b-3903-41f3-afcb-af62929ccde1",
      "Comment": "Manifest behavior with CachingDisabled and AllViewer"
    },
    {
      "PathPattern": "*.ts",
      "TargetOriginId": "mediatailor-origin", 
      "ViewerProtocolPolicy": "redirect-to-https",
      "CachePolicyId": "658327ea-f89d-4fab-a63d-7e88639e58f6",
      "OriginRequestPolicyId": "88a5eaf4-2fd4-4709-b370-b4c650ea3fcf",
      "Comment": "Segment behavior with CachingOptimized and HostHeaderOnly"
    }
  ]
}
```

이 예제는 다음을 보여줍니다.
+ **기본 동작**: `CachingDisabled` 및를 사용하여 특정 경로 패턴과 일치하지 않는 콘텐츠를 `AllViewer` 안전하게 처리합니다.
+ **매니페스트 동작(\$1.m3u8)**: 동적 콘텐츠`AllViewer`에 `CachingDisabled` 및를 사용합니다.
+ **세그먼트 동작(\$1.ts)**: `CachingOptimized` 및를 사용합니다. `CORS-with-preflight-and-SecurityHeadersPolicy` 

## 다음 단계
<a name="cf-basic-next-steps"></a>

MediaTailor와의 기본 CloudFront 통합을 설정한 후 다음 단계를 고려하세요.
+ 추가 CloudFront 기능으로 성능 최적화( 참조[CloudFront 기능으로 MediaTailor 성능 최적화](cloudfront-performance-optimization.md))
+ MQAR을 사용하여 다중 리전 복원력 구현( 참조[MQAR을 사용하여 MediaTailor에 대한 다중 리전 복원력 구현](media-quality-resiliency.md))
+ 모니터링 및 문제 해결 설정( 참조[CloudFront 및 MediaTailor 통합 모니터링 및 문제 해결](monitoring-and-troubleshooting.md))

# CloudFront 기능으로 MediaTailor 성능 최적화
<a name="cloudfront-performance-optimization"></a>

AWS Elemental MediaTailor 기본 구성 이외의 추가 기능을 통해 Amazon CloudFront의 성능을 향상시킬 수 있습니다. MediaTailor를 사용하여 기본 CloudFront 구성을 설정한 후 추가 기능을 구현하여 성능, 안정성 및 사용자 지정 옵션을 개선할 수 있습니다. 이러한 최적화는 더 나은 시청 환경을 제공하는 데 도움이 됩니다. 또한 비용과 오리진 부하를 줄입니다.

동적 라우팅 및 파라미터 처리를 사용한 성능 최적화는 섹션을 참조하세요[ADS 요청에 대한 MediaTailor 동적 광고 변수](variables.md). 쿼리 파라미터 최적화 전략은 섹션을 참조하세요[MediaTailor 매니페스트 쿼리 파라미터](manifest-query-parameters.md).

## Origin Shield를 사용하여 오리진 로드 줄이기
<a name="origin-shield-integration"></a>

Origin Shield는 CloudFront 엣지 로케이션과 오리진 서버 사이에 캐싱 계층을 추가합니다. 이 기능은 라이브 스트리밍 및 인기 VOD 콘텐츠에 유용합니다. 많은 시청자가 동시에 동일한 콘텐츠를 요청할 때 도움이 됩니다.

Origin Shield는 여러 엣지 로케이션의 요청을 통합하여 MediaTailor 및 콘텐츠 오리진에 대한 부하를 줄입니다.

**MediaTailor 오리진에 대해 Origin Shield를 활성화하려면**

1. CloudFront 콘솔을 열고 배포로 이동합니다.

1. MediaTailor 재생 구성을 가리키는 오리진을 선택합니다.

1. **Origin Shield**에서 **예를** 선택합니다.

1. 드롭다운 메뉴에서 MediaTailor 엔드포인트에 가장 가까운 AWS 리전을 선택합니다.

1. 변경 내용을 저장합니다.

트래픽이 많은 이벤트의 경우 Origin Shield는 오리진에 대한 요청 부하를 크게 줄이고 신뢰성을 개선합니다. 자세한 지침은 CloudFront 개발자 안내서의 [Origin Shield 활성화](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html#enable-origin-shield)를 참조하세요.

## CloudFront 함수를 사용하여 콘텐츠 전송 사용자 지정
<a name="cloudfront-functions-integration"></a>

CloudFront 함수를 사용하면 엣지에서 경량 JavaScript 코드를 실행하여 최종 사용자 요청 및 응답을 수정할 수 있습니다. URL 수정, 헤더 조작 또는 기본 인증과 같은 간단한 사용자 지정에 이러한 함수를 사용할 수 있습니다. MediaTailor 워크플로의 경우 함수는 복잡한 처리가 필요하지 않은 작업을 지원합니다.

CloudFront 함수는 엣지에서 콘텐츠 전송을 사용자 지정하는 간단한 방법을 제공합니다. MediaTailor 통합을 위해 이를 구현하는 방법은 다음과 같습니다.

**MediaTailor용 CloudFront 함수를 구현하려면**

1. CloudFront 콘솔에서 **함수**로 이동합니다.

1. 새 함수를 생성하고 적절한 용도를 선택합니다.
   + **URL 조작** - MediaTailor에 도달하기 전에 다변량 재생 목록, 미디어 재생 목록 및 MPD 요청 URLs 수정하려면
   + **헤더 조작** - 요청 헤더를 추가하거나 수정하려면
   + **단순 인증** - 토큰 또는 쿼리 파라미터를 검증하려면

1. JavaScript 함수 코드를 작성합니다.

1. 샘플 MediaTailor 요청으로 함수를 테스트합니다.

1. 함수를 게시하고 배포의 캐시 동작과 연결합니다.

**Example URL 정규화를 위한 샘플 CloudFront 함수**  

```
function handler(event) {
    var request = event.request;
    var uri = request.uri;
    
    // Normalize URLs to lowercase to improve cache hit ratio
    if (uri.includes('.m3u8') || uri.includes('.mpd')) {
        request.uri = uri.toLowerCase();
    }
    
    return request;
}
```

자세한 내용과 코드 예제는 [ CloudFront 개발자 안내서의 CloudFront 함수를 사용하여 엣지에서 사용자 지정을 참조하세요](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-functions.html). CloudFront 

## Lambda@Edge를 사용하여 고급 사용자 지정 구현
<a name="lambda-edge-integration"></a>

CloudFront Functions가 제공할 수 있는 것보다 더 복잡한 처리 기능이 필요한 경우 Lambda@Edge를 사용합니다. 이 서비스를 사용하면 CloudFront 엣지 로케이션에서 Node.js 또는 Python 함수를 실행할 수 있습니다.

Lambda@Edge 함수는 복잡한 인증, 대규모 응답 수정 또는 타사 API 통합과 같은 정교한 작업을 수행할 수 있습니다.

보다 복잡한 사용자 지정을 위해 MediaTailor 및 CloudFront 통합과 함께 Lambda@Edge 함수를 사용합니다.

**MediaTailor를 사용하여 Lambda@Edge를 구현하려면**

1. 미국 동부(버지니아 북부) 리전에 Lambda 함수를 생성합니다.

1. 다음 사용 사례 중 하나에 대한 함수 코드를 작성합니다.
   + **URL 조작** - MediaTailor에 도달하기 전에 다변량 재생 목록, 미디어 재생 목록 및 MPD 요청 URLs 수정하려면
   + **A/B 테스트** - 사용자를 다른 광고 결정 서버로 라우팅하려면
   + **인증 요청** - 인증 헤더를 추가하려면
   + **응답 헤더 수정** - CORS 헤더를 추가하려면

1. 함수 버전을 게시하고 함수 별칭을 생성합니다.

1. 함수를 적절한 트리거 지점(최종 사용자 요청 또는 최종 사용자 응답)에서 CloudFront 배포와 연결합니다.

**참고**  
MediaTailor와 함께 Lambda@Edge를 사용하는 경우 현재 호환되지 않으므로 Media Quality-Aware Resiliency(MQAR) 기능을 사용할 계획이라면 오리진 대상 트리거(오리진 요청 및 오리진 응답)를 사용하지 마세요.

자세한 내용과 코드 예제는 CloudFront 개발자 안내서[의 Lambda@Edge를 사용하여 엣지에서 사용자 지정](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-at-the-edge.html)을 참조하세요.

## 추가 성능 최적화 팁
<a name="performance-optimization-tips"></a>

성능을 더욱 개선하려면 다음과 같은 추가 최적화를 고려하세요.

캐시 적중률 최적화  
CloudFront 지표에서 캐시 적중률을 모니터링하고 개선할 기회를 찾습니다.  
+ URL 패턴을 표준화하여 캐시 키 일관성 향상
+ 쿼리 문자열 화이트리스트를 사용하여 캐시 키에 필요한 파라미터만 포함
+ CloudFront 함수를 사용하여 URL 정규화 구현 고려

지연 시간 단축  
다음 기술을 구현하여 지연 시간을 최소화합니다.  
+ 텍스트 기반 응답에 대해 Brotli 압축 활성화
+ 연결 효율성 향상을 위해 HTTP/2 또는 HTTP/3 사용
+ 최신 네트워크에 대한 IPv6 지원 활성화 고려

비용 최적화  
성능과 비용 효율성의 균형을 맞춥니다.  
+ Origin Shield를 사용하여 중복 오리진 요청 감소
+ 대상 지역에 따라 가격 등급 선택 고려
+ 세그먼트에 대해 공격적인 캐싱을 구현하여 오리진 트래픽 감소

## 다음 단계
<a name="performance-next-steps"></a>

CloudFront 기능으로 성능을 최적화한 후 다음 단계를 고려하세요.
+ MQAR을 사용하여 다중 리전 복원력 구현( 참조[MQAR을 사용하여 MediaTailor에 대한 다중 리전 복원력 구현](media-quality-resiliency.md))
+ 모니터링 및 문제 해결 설정( 참조[CloudFront 및 MediaTailor 통합 모니터링 및 문제 해결](monitoring-and-troubleshooting.md))

# MQAR을 사용하여 MediaTailor에 대한 다중 리전 복원력 구현
<a name="media-quality-resiliency"></a>

AWS Elemental MediaTailor MediaTailor 제공하는 데 도움이 되는 고급 Amazon CloudFront 기능인 Media Quality-Aware Resiliency(MQAR)를 통해 다중 리전 복원력이 향상되었습니다. 서로 다른 AWS 리전에 오리진이 여러 개 있는 경우 품질 점수가 가장 높은 오리진을 자동으로 선택합니다. 이 기능은 중단 없는 서비스가 필요한 라이브 스트리밍에 특히 유용합니다.

## MQAR 작동 방식
<a name="mqar-overview"></a>

MQAR을 사용하면 CloudFront에서 품질 점수가 가장 높은 오리진을 자동으로 선택할 수 있습니다. 이렇게 하면 최종 사용자가 최상의 스트리밍 경험을 누릴 수 있습니다. 올바르게 구성되면 MQAR은 다음과 같은 이점을 제공합니다.
+ 최고 품질의 오리진 자동 선택
+ 중단 중 AWS 리전 간 원활한 장애 조치
+ 중단을 최소화하면서 시청자 경험 개선
+ 실시간 품질 모니터링 및 적응

## 1단계: MQAR 요구 사항 확인
<a name="mqar-requirements"></a>

MQAR을 구현하기 전에 인프라가 이러한 요구 사항을 충족하는지 확인합니다. MQAR은 여러 오리진의 품질 점수를 비교하여 작동하므로 여러 AWS 리전에서 동일한 콘텐츠를 사용할 수 있어야 합니다.
+ 에포크 잠금 CMAF 수집 스트림 세트를 사용하여 정렬된 수집 스트림을 모든 MediaPackage 채널로 전송하는 인코더
+ 서로 다른 AWS 리전에 동일한 오리진 엔드포인트가 있는 두 개의 동일한 MediaPackage 채널
+ MediaPackage 채널에 대한 CMAF 수집(기본적으로 활성화됨)
+ MQAR을 지원하도록 구성된 CloudFront 배포
+ 각 MediaPackage 엔드포인트에 대한 MediaTailor 구성 MediaPackage 

## 2단계: MQAR용 인코더 구성
<a name="mqar-encoder-config"></a>

MQAR이 효과적으로 작동하려면 인코더가 모든 리전에서 일관되고 동기화된 출력을 생성해야 합니다. 이러한 일관성을 통해 CloudFront는 오리진 간에 정확한 품질을 비교할 수 있습니다.

다음 설정을 사용하여 MediaLive 출력을 구성합니다.
+ CMAF 출력 그룹의 모든 비디오 프레임 속도가 일치하는지 확인합니다(모든 소수 또는 모든 정수 프레임 속도).
+ 인코딩 세션 간에 소수 프레임 속도와 정수 프레임 속도 간의 전환을 방지합니다.
+ 인코딩 세션 간에 역방향으로 이동하지 않도록 출력 세그먼트 시퀀스 번호를 구성합니다.
+ 모든 리전에서 동일한 인코더 출력 이름을 사용합니다.

MQAR용 MediaLive 구성에 대한 자세한 내용은 MediaLive 사용 설명서의 [MQCS 작업을](https://docs.aws.amazon.com//medialive/latest/ug/mqcs.html) 참조하세요.

## 3단계: MQAR용 MediaPackage 구성
<a name="mqar-mediapackage-config"></a>

다음 구성을 사용하여 MediaPackage 채널 및 엔드포인트를 설정합니다.

**MQAR용 MediaPackage를 구성하려면**

1. 각 AWS 리전에서 동일한 채널 및 엔드포인트 구성을 생성합니다.

1. CMAF를 채널 입력 유형으로 사용합니다.

1. 기본 MediaPackage 오리진의 경우 다음 설정을 사용하여 **엔드포인트 강제 적용 오류** 구성을 활성화합니다.
   + 오래된 다변량 재생 목록, 미디어 재생 목록 또는 MPDs
   + 불완전한 다변량 재생 목록, 미디어 재생 목록 또는 MPD
   + 슬레이트 입력

1. 백업 MediaPackage 오리진의 경우 장애 조치 성공 가능성을 극대화하기 위해 이러한 오류 구성을 활성화하지 마십시오.

MQAR용 MediaPackage 구성에 대한 자세한 내용은 MediaPackage 사용 설명서의 [를 사용하여 미디어 품질 점수 활용 AWS Elemental MediaPackage](https://docs.aws.amazon.com//mediapackage/latest/userguide/mqcs.html)을 참조하세요.

## 4단계: MQAR용 CloudFront 구성
<a name="mqar-cloudfront-config"></a>

CloudFront 구성에서 MQAR을 활성화하고 오리진 중에서 선택하는 방법을 정의합니다. 미디어 품질 점수 옵션이 활성화된 오리진 그룹을 생성합니다.

**MQAR용 CloudFront를 구성하려면**

1. 오리진이 MediaTailor 엔드포인트를 가리키는 CloudFront 배포를 생성합니다.

1. 이러한 오리진을 포함하는 오리진 그룹을 생성합니다.

1. 오리진 그룹 설정에서 **미디어 품질 점수** 옵션을 활성화합니다.

1. 404 찾을 수 없음 응답 코드를 포함하도록 장애 조치 기준을 구성합니다. 선택적으로 다른 4xx/5xx 코드를 포함할 수 있습니다.

1. 각 채널의 경로 패턴에 대해 별도의 캐시 동작을 생성합니다. 이렇게 하면 동일한 오리진 그룹이 여러 채널을 제공할 때 점수가 섞이지 않습니다.

**참고**  
배포의 캐시 동작과 연결된 오리진 방향 트리거(오리진 요청 및 오리진 응답)에서 Lambda@Edge 함수를 사용하는 경우 MQAR을 사용할 수 없습니다.

MQAR용 CloudFront 구성에 대한 자세한 내용은 CloudFront 개발자 안내서의 [미디어 품질 인식 복원력을](https://docs.aws.amazon.com//AmazonCloudFront/latest/DeveloperGuide/media-quality-score.html) 참조하세요.

## 5단계: MQAR용 MediaTailor 구성
<a name="mqar-mediatailor-config"></a>

MQAR 설정을 완료하려면 다중 리전 아키텍처와 함께 작동하도록 각 리전에서 MediaTailor를 구성합니다. 이렇게 하면 CloudFront에서 어떤 오리진을 선택하든 일관된 광고 삽입이 보장됩니다.

**MQAR용 MediaTailor를 구성하려면**

1. 각 리전에서 해당 MediaPackage 엔드포인트를 가리키는 동일한 MediaTailor 구성을 생성합니다. MediaPackage 

1. CloudFront 배포 도메인을 사용하도록 CDN 콘텐츠 세그먼트 접두사를 구성합니다.

1. 광고 결정 서버 구성이 리전 간에 동일한지 확인합니다.

이 설정은 CloudFront가 품질 점수를 기반으로 선택하는 오리진에 관계없이 MediaTailor가 지속적으로 광고를 개인화할 수 있도록 합니다.

## 6단계: MQAR 구성 테스트
<a name="mqar-testing"></a>

MQAR을 설정한 후 구성을 테스트하여 예상대로 작동하는지 확인합니다.

**MQAR 구성을 테스트하려면**

1. CloudFront 배포를 통해 콘텐츠를 요청합니다.

1. 실시간 로그를 모니터링하여 CloudFront가 품질 점수를 기반으로 오리진을 선택하고 있는지 확인합니다.

1. 기본 AWS 리전의 장애를 시뮬레이션하여 장애 조치 동작을 테스트합니다.

1. 장애 조치 중에 광고 삽입이 계속 올바르게 작동하는지 확인합니다.

## 다음 단계
<a name="mqar-next-steps"></a>

MQAR을 구현한 후 다음 단계를 고려하세요.
+ MQAR 구성에 대한 모니터링 및 문제 해결 설정( 참조[CloudFront 및 MediaTailor 통합 모니터링 및 문제 해결](monitoring-and-troubleshooting.md))
+ 를 사용하여 자동 배포 구현 AWS CloudFormation ( 참조[를 사용하여 MediaTailor 및 CDN 자동화 CloudFormation](automating-cdn-integration.md))

# CloudFront 및 MediaTailor 통합 모니터링 및 문제 해결
<a name="monitoring-and-troubleshooting"></a>

AWS Elemental MediaTailor Amazon CloudFront와 통합하려면 최적의 성능을 유지하기 위한 지속적인 모니터링 및 문제 해결이 필요합니다. CloudFront 및 MediaTailor 통합을 구현한 후 성능을 모니터링하고 문제를 해결할 준비를 합니다. 콘텐츠 전송 네트워크(CDN)는 배포의 성능을 이해하고 잠재적 문제를 식별하는 데 도움이 되는 도구를 제공합니다.

## 통합에 대한 모니터링 설정
<a name="cf-monitoring-setup"></a>

이러한 모니터링 전략을 구현하여 CloudFront 및 MediaTailor 통합의 성능을 추적합니다.

**CloudFront 및 MediaTailor 통합에 대한 모니터링을 설정하려면**

1. CloudFront 표준 로깅 활성화:

   1. CloudFront 콘솔에서 배포를 선택합니다.

   1. **로그** 탭을 선택합니다.

   1. **표준 로그**에서 **편집**을 선택합니다.

   1. **켜기**를 선택하고 로그 스토리지용 Amazon S3 버킷을 구성합니다.

   1. **변경 사항 저장**을 선택합니다.

1. CloudFront 실시간 로그 설정:

   1. CloudFront 콘솔에서 배포를 선택합니다.

   1. **로그** 탭을 선택합니다.

   1. **실시간 로그**에서 **편집**을 선택합니다.

   1. **켜기**를 선택하고 Amazon Kinesis Data Streams 또는 Amazon Data Firehose 전송 스트림을 구성합니다.

   1. 로그 구성에 다음 필드를 포함합니다.
      + `time-to-first-byte` - 응답 시간
      + `sc-status` - HTTP 상태 코드
      + `c-ip` - 최종 사용자 IP 주소
      + `cs-uri-stem` - 요청 URI 경로
      + `cs-user-agent` - 사용자 에이전트
      + `x-edge-result-type` - 결과 유형(Hit, Miss, Error)

   1. **변경 사항 저장**을 선택합니다.

1. CloudWatch 대시보드 생성:

   1. CloudWatch 콘솔에서 **대시보드를** 선택합니다.

   1. **대시보드 생성**을 선택합니다.

   1. 이러한 CloudFront 지표에 대한 위젯을 추가합니다.
      + Requests
      + BytesDownloaded
      + 4xxErrorRate
      + 5xxErrorRate
      + TotalErrorRate
      + CacheHitRate

1. CloudWatch 경보 설정:

   1. CloudWatch 콘솔에서 **경보를** 선택합니다.

   1. **경보 생성**을 선택하세요.

   1. 다음 조건에 대한 경보를 생성합니다.
      + 5xxErrorRate > 5분 동안 1%
      + 5분 동안 4xxErrorRate가 5%보다 큼
      + CacheHitRate 30분 동안 80% 미만

## MQAR 성능 모니터링
<a name="mqar-monitoring"></a>

MQAR을 사용할 때 모니터링을 통해 CloudFront가 오리진을 선택하는 방법과 품질 점수가 기대치를 충족하는지 여부를 이해할 수 있습니다. 실시간 로그에는 이러한 결정이 발생하는 즉시 표시됩니다.

**MQAR 성능을 모니터링하려면**

1. CloudFront 배포에 대한 실시간 로그를 활성화합니다.

1. 로그 구성에 다음 필드를 포함합니다.
   + `r-host` - 선택한 오리진의 호스트 이름
   + `sr-reason` - 오리진 선택 이유
   + `x-edge-mqcs` - 미디어 품질 신뢰도 점수

1. Amazon Kinesis Data Streams 또는 Amazon Data Firehose에서 로그 대상을 설정합니다.

1. 이러한 지표를 기반으로 대시보드 또는 알림을 생성하여 품질 점수 및 오리진 선택 결정을 모니터링합니다.

**Example MQAR 모니터링을 위한 샘플 CloudWatch 대시보드**  
다음 지표를 사용하여 CloudWatch 대시보드를 생성합니다.  
+ 리전별 오리진 선택 수
+ 시간 경과에 따른 평균 품질 점수
+ 장애 조치 이벤트
+ 오리진별 4xx 및 5xx 오류 발생률

실시간 로그 설정에 대한 자세한 내용은 CloudFront 개발자 안내서의 [실시간 로그](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html)를 참조하세요.

## 일반적인 문제 해결
<a name="troubleshooting-common-issues"></a>

신중하게 계획하더라도 CloudFront 및 MediaTailor 통합에 문제가 발생할 수 있습니다. 일반적인 문제와 솔루션을 이해하면 문제를 신속하게 해결하고 최종 사용자에게 미치는 영향을 최소화할 수 있습니다.

CloudFront 및 MediaTailor 통합에 문제가 발생하면 다음과 같은 일반적인 문제와 해결 방법을 확인하세요.

매니페스트 캐싱 문제  
**증상:** 오래된 매니페스트 또는 광고가 업데이트되지 않음  
**해결 방법:** 다변량 재생 목록, 미디어 재생 목록 및 MPD 경로에 캐시 `CachingDisabled` 정책을 사용하고 있는지 확인합니다. 구성이 쿼리 파라미터를 올바르게 전달하는지 확인합니다.

CORS 오류  
**증상:** 콘텐츠에 액세스할 때 브라우저 콘솔에 CORS 오류가 표시됨  
**해결 방법:** 적절한 CORS 헤더로 응답 헤더 정책을 구성하고 캐시 동작과 연결합니다.

MQAR이 작동하지 않음  
**증상:** 오리진 선택 시 품질 점수 무시  
**해결 방법:** 오리진 그룹 설정에서 미디어 품질 점수 옵션을 활성화했는지 확인합니다. Lambda@Edge 오리진 방향 트리거를 사용하지 않는지 확인합니다.

광고 삽입 실패  
**증상:** 광고가 제대로 삽입되지 않음  
**해결 방법:** MediaTailor 구성이 콘텐츠 세그먼트 접두사에 대한 CloudFront 배포를 가리키는지 확인합니다. 설정이 필요한 모든 헤더를 전달하는지 확인합니다.

보다 복잡한 문제의 경우 다음과 같은 문제 해결 접근 방식을 사용할 수 있습니다.

1. CloudFront 배포 로그에서 오류 패턴 확인

1. 브라우저 개발자 도구를 사용하여 네트워크 요청 검사

1. MediaTailor의 매니페스트 콘텐츠를 CloudFront를 통해 제공되는 콘텐츠와 직접 비교

1. 세부 로깅을 지원하는 간단한 플레이어로 테스트

문제 해결에 대한 자세한 내용은 MediaTailor 사용 설명서의 [문제 해결](https://docs.aws.amazon.com//mediatailor/latest/ug/troubleshooting.html) 섹션을 참조하세요.

## 워크플로 문제 해결
<a name="troubleshooting-workflow"></a>

이 체계적인 접근 방식을 따라 CloudFront 및 MediaTailor 통합 관련 문제를 해결합니다.

**CloudFront 및 MediaTailor 통합 문제를 해결하려면**

1. 특정 문제를 식별합니다.

   1. 문제가 모든 최종 사용자에게 영향을 미치는지 아니면 일부 사용자에게만 영향을 미치는지 확인

   1. 영향을 받는 콘텐츠 유형 식별(매니페스트, 세그먼트 또는 둘 다)

   1. 오류 메시지 또는 증상 기록

1. CloudFront 로그 확인:

   1. 오류 상태 코드(4xx 또는 5xx) 찾기

   1. 캐시 적중/누락 패턴 확인

   1. 요청이 올바른 오리진으로 라우팅되고 있는지 확인

1. 구성 확인:

   1. 캐시 동작에서 올바른 경로 패턴 확인

   1. 캐시 정책이 올바르게 적용되었는지 확인

   1. 오리진 요청 정책이 필요한 헤더를 전달하는지 확인

1. 직접 액세스 테스트:

   1. MediaTailor에서 직접 콘텐츠에 액세스해 보세요(CloudFront 우회).

   1. 직접 액세스와 CloudFront 액세스 간의 응답 비교

1. 솔루션 구현:

   1. 조사 결과에 따라 적절한 수정 사항 적용

   1. 테스트하여 문제가 해결되었는지 확인

   1. 향후 참조를 위해 문제 및 솔루션 문서화

## 다음 단계
<a name="monitoring-next-steps"></a>

CloudFront 및 MediaTailor 통합에 대한 모니터링 및 문제 해결을 설정한 후 다음 단계를 고려하세요.
+ 를 사용하여 자동 배포 구현 AWS CloudFormation ( 참조[를 사용하여 MediaTailor 및 CDN 자동화 CloudFormation](automating-cdn-integration.md))
+ 일반적인 운영 시나리오 및 문제 해결 절차를 위한 실행서 생성
+ 일반적인 문제에 대한 자동 문제 해결 설정

# MediaTailor 광고 전송을 위한 타사 CDNs 설정
<a name="cdn-provider-specific"></a>

Akamai 및 Fastly와 같은 타사 CDNs 대역폭 비용을 줄이면서 AWS Elemental MediaTailor 광고 전송의 성능과 확장성을 크게 개선할 수 있습니다. 그러나 개인 맞춤형 광고를 위한 CDN 구성에는 표준 비디오 전송과 다른 특정 설정이 필요합니다.

타사 CDNs[MediaTailor 매니페스트 쿼리 파라미터](manifest-query-parameters.md). 동적 변수를 사용하는 고급 라우팅 구성은 섹션을 참조하세요[ADS 요청에 대한 MediaTailor 동적 광고 변수](variables.md).

이 가이드에서는 MediaTailor와 최적으로 작동하도록 타사 CDN을 설정하는 전체 프로세스를 안내합니다. 다음 두 가지 필수 동작을 구성하는 방법을 알아봅니다.
+ **매니페스트 우회:** 매니페스트 캐싱을 방지하여 각 최종 사용자가 개인화된 광고 삽입을 수신하도록 보장합니다.
+ **세그먼트 캐싱:** 비디오 콘텐츠를 효율적으로 캐싱하여 성능을 극대화하고 비용을 절감합니다.

구성 프로세스에는 일반적으로 30\$160분이 소요되며 공급자 선택, 설정, 확인 및 최적화가 포함됩니다. 완료되면 최적의 시청자 경험을 유지하면서 맞춤형 광고를 효율적으로 제공하는 CDN 구성이 제공됩니다.

**참고**  
이 가이드는 Akamai 및 Fastly 구성에 중점을 둡니다. CloudFront 설정 지침은 섹션을 참조하세요[CloudFront 통합](cloudfront-specific-recommendations.md).

## 사전 조건
<a name="cdn-3p-prerequisites"></a>

MediaTailor를 사용하여 타사 CDN을 설정하기 전에 다음이 있는지 확인합니다.
+ 콘텐츠 오리진 및 광고 결정 서버를 포함하는 활성 MediaTailor 구성
+ CDN의 구성 인터페이스에 대한 액세스
+ 콘텐츠에 사용되는 파일 확장명 목록(.m3u8, .mpd, .ts 등)
+ 참조용 CDN 공급자 설명서

타사 CDN 대신 CloudFront 설정 지침은 섹션을 참조하세요[CloudFront 통합](cloudfront-specific-recommendations.md). CDNs

**용어**  
CDN 구성 요구 사항을 이해하려면 다음 매니페스트 유형을 알아야 합니다.
+ **HLS 매니페스트**:
  + *다변량 재생 목록*: 미디어 재생 목록 링크가 포함된 최상위 매니페스트
  + *미디어 재생 목록*: 콘텐츠 세그먼트 링크가 있는 2단계 매니페스트
+ **DASH 매니페스트**:
  + *MPD(미디어 프레젠테이션 설명)*: DASH 매니페스트의 표준 용어

이 가이드는 공통 구성 요구 사항을 논의할 때 모든 매니페스트 파일(다변량 재생 목록, 미디어 재생 목록 및 MPDs)을 총칭하여 *매니페스트*라고 합니다.

모든 공급자에 적용되는 일반적인 CDN 구성 원칙은 섹션을 참조하세요[MediaTailor와 CDN 통합 설정](cdn-configuration.md).

CDN 최적화 지침은 섹션을 참조하세요[CDN 및 MediaTailor 통합을 위한 성능 최적화 가이드](cdn-optimization.md).

## CDN 캐싱 규칙 구성
<a name="3p-cdn-config"></a>

CDN 캐싱 구성은 콘텐츠가 최종 사용자에게 도달하는 방식을 결정하기 때문에 MediaTailor 광고 전송에 매우 중요합니다. 적절한 구성을 통해 매니페스트가 각 최종 사용자에 맞게 개인화된 상태로 유지되는 동시에 세그먼트를 효율적으로 캐싱하여 오리진 로드를 줄이고 성능을 개선할 수 있습니다.

이 구성은 일반적으로 CDN 공급자당 15\$130분이 소요되며 두 가지 고유한 동작이 필요합니다.
+ **매니페스트 처리:** 캐싱을 방지하여 각 시청자가 개인화된 광고 삽입을 받을 수 있도록 합니다.
+ **세그먼트 캐싱:** 비디오 콘텐츠의 캐시 효율성을 극대화하여 전송 성능을 개선합니다.

다음 단계에 따라 최적의 광고 전송을 위해 CDN의 캐싱 규칙을 구성합니다.

특정 지침을 보려면 다음 탭에서 CDN 공급자를 선택합니다.

------
#### [ Akamai ]

Akamai 속성에서 다음 두 가지 동작을 구성합니다.
+ 캐싱 방지를 위한 매니페스트 처리
+ 최적의 성능을 위한 세그먼트 캐싱

**매니페스트 전송 구성**  
각 최종 사용자가 개인화된 광고를 수신하도록 캐싱 매니페스트를 방지하도록 Akamai CDN을 구성합니다.

매니페스트 파일에는 MediaTailor가 각 뷰어에 대해 생성하는 개인화된 광고 삽입 지점이 포함됩니다. 이러한 파일을 캐싱하면 모든 시청자가 동일한 광고를 보게 되어 맞춤형 광고의 목적을 무너뜨릴 수 있습니다.

매니페스트 요청(.m3u8, .mpd 또는 .smil로 끝나는 파일)에 대해 다음 단계를 따릅니다.

1. 매니페스트 파일 확장명(.m3u8, .mpd, .smil)과 일치하는 동작 생성

1. **캐싱 옵션을** **스토어 없음**으로 설정

1. 모든 쿼리 파라미터를 포함하도록 캐시 키 구성

1. 적절한 오리진 라우팅을 위해 **전달 호스트 헤더** 활성화

1. 모든 헤더에 대한 헤더 전달을 구성합니다. 최소 요구 사항은 섹션을 참조하세요[MediaTailor CDN 통합에 필요한 헤더](cdn-configuration.md#cdn-required-headers).

**세그먼트 전송 구성**  
비디오 세그먼트를 캐싱하도록 Akamai CDN을 구성하여 CDN 효율성을 극대화하고 오리진 로드를 줄입니다.

비디오 세그먼트는 개인화된 정보가 포함되어 있지 않기 때문에 안전하게 캐싱할 수 있는 실제 콘텐츠 파일입니다. 적절한 세그먼트 캐싱은 대역폭 비용을 줄이고 최종 사용자의 재생 성능을 개선합니다.

세그먼트 요청(.ts, .mp4, .m4s 등으로 끝나는 파일)에 대해 다음 단계를 따릅니다.

1. 세그먼트 파일 확장명(.ts, .mp4, .m4s)과 일치하는 동작 생성

1. **오리진 캐시 제어를** **예로** 설정

1. 오리진 헤더가 누락된 경우에 대한 기본 TTL(time-to-live) 설정을 구성합니다.
   + 기본 TTL: 86400초(24시간)
   + 최대 TTL: 604800초(7일)

**참고**  
이러한 동작을 구성한 후 Akamai Control Center에서 속성 변경 사항을 활성화합니다.  
변경 사항은 활성화 후 적용됩니다.

------
#### [ Fastly ]

Fastly 서비스에서 다음 두 가지 구성을 생성합니다.
+ 캐싱 방지를 위한 매니페스트 처리
+ 최적의 성능을 위한 세그먼트 캐싱

**매니페스트 전송 구성**  
매니페스트 파일의 캐싱을 우회하도록 Fastly CDN을 구성하여 각 시청자가 개인화된 광고 콘텐츠를 수신하도록 합니다.

적절한 광고 개인화를 보장하려면 매니페스트 파일이 각 요청에 대해 MediaTailor에 도달해야 합니다. 이러한 파일의 캐시를 우회하면 각 최종 사용자의 고유한 대상 지정 파라미터가 올바르게 처리됩니다.

매니페스트 요청에 대해 다음 단계를 따릅니다.

1. 매니페스트 경로를 식별하기 위한 요청 조건 생성

1. 캐시 조건을 이러한 요청에 대해 **캐시하지 않음**으로 설정

1. 모든 쿼리 파라미터를 포함하도록 **전달** 설정 구성

1. 헤더 전달 구성`User-Agent`에 추가

**세그먼트 전송 구성**  
전송 성능을 개선하고 오리진 트래픽을 줄이기 위해 비디오 세그먼트를 캐싱하도록 Fastly CDN을 구성합니다.

세그먼트 캐싱은 비용 효율적인 전송과 최적의 최종 사용자 경험에 필수적입니다. 이러한 파일은 모든 최종 사용자에게 동일하며 CDN 캐싱의 이점을 크게 누릴 수 있습니다.

세그먼트 요청에 대해 다음 단계를 따릅니다.

1. 세그먼트 경로를 식별하기 위한 요청 조건 생성

1. **캐시 설정을** **오리진 캐시 헤더 명예**로 설정

1. 오리진 헤더가 누락된 경우 기본 TTL(time-to-live)을 86,400초(24시간)로 구성

**참고**  
이러한 변경을 수행한 후 Fastly 서비스의 새 버전을 활성화합니다.  
구성은 활성화 후 적용됩니다.

------

## CDN 구성 확인
<a name="cdn-3p-verify"></a>

CDN 구성을 통해 프로덕션 트래픽을 전달하기 전에 CDN 구성이 올바르게 작동하는지 확인합니다. 이러한 테스트는 광고 개인 맞춤이 제대로 작동하고 캐싱이 예상 성능 이점을 제공하는지 확인합니다.

전체 확인은 일반적으로 10\$115분이 소요되며 가능하면 여러 지리적 위치에서 수행해야 합니다.

CDN을 설정한 후 다음 검사를 수행하여 올바르게 작동하는지 확인합니다.

1. 매니페스트 개인 맞춤 테스트:

   1. 다른 광고 파라미터를 사용하여 동일한 콘텐츠 URL 요청

   1. 각 요청이 서로 다른 광고 삽입을 반환하는지 확인

1. 세그먼트 캐싱 테스트:

   1. CDN 지표에서 세그먼트 캐시 적중률 확인(90%보다 커야 함)

   1. 오리진 트래픽을 모니터링하여 직접 전송보다 낮은지 확인

1. 재생 성능 테스트:

   1. 다양한 위치에서 CDN을 통해 콘텐츠 재생

   1. 버퍼링 문제 없이 원활한 재생 확인

포괄적인 테스트 방법 및 고급 검증 절차는 섹션을 참조하세요[CDN 및 MediaTailor 통합 테스트 및 검증](cdn-integration-testing.md).

## CDN 성능 최적화
<a name="cdn-3p-optimize"></a>

기본 구성을 확인한 후 이러한 최적화를 구현하여 성능을 극대화하고 비용을 최소화합니다.

### 주요 성능 지표 모니터링
<a name="cdn-3p-optimize-monitoring"></a>

이러한 지표를 추적하여 최적의 성능을 보장합니다.

캐시 적중률  
**대상:** 비디오 세그먼트의 경우 90% 초과  
**영향:** 비율이 높을수록 오리진 로드가 줄어들고 최종 사용자 경험이 개선됩니다.  
**모니터링:** CDN 공급자의 분석 대시보드를 매일 확인

오리진 응답 시간  
**대상:** 매니페스트 요청의 경우 200ms 미만  
**영향:** 더 빠른 매니페스트 전송으로 최종 사용자의 시작 시간 단축  
**모니터링:** 500ms를 초과하는 응답 시간에 대한 알림 설정

오류 발생률  
**대상:** 모든 요청에 대해 0.1% 미만  
**영향:** 높은 오류율은 구성 문제 또는 오리진 문제를 나타냅니다.  
**모니터링:** 1%를 초과하는 오류 발생률에 대한 알림 설정

### 캐싱 동작 미세 조정
<a name="cdn-3p-optimize-tuning"></a>

콘텐츠 특성 및 뷰어 패턴에 따라 이러한 설정을 조정합니다.

세그먼트 TTL 최적화  
**라이브 콘텐츠:** 더 짧은 TTL(1\$14시간)을 사용하여 시기 적절한 업데이트 보장  
**VOD 콘텐츠:** 더 긴 TTL(24\$148시간)을 사용하여 캐시 효율성 극대화  
**광고 세그먼트:** 자주 업데이트되는 광고 콘텐츠의 경우 더 짧은 TTL(30분\$12시간) 고려  
모든 MediaTailor 워크플로에 대한 포괄적인 TTL 권장 사항 및 캐싱 전략은 섹션을 참조하세요[CDN 및 MediaTailor 통합을 위한 캐싱 최적화](cdn-optimize-caching.md).

지리적 최적화  
**다중 리전 오리진:** 최종 사용자 위치를 기반으로 오리진 선택 구성  
**엣지 로케이션:** 시청자 집중도가 높은 리전에서 추가 엣지 로케이션 활성화  
**장애 조치:** 고가용성을 위해 백업 오리진 구성

### 비용 최적화
<a name="cdn-3p-optimize-cost"></a>

성능을 유지하면서 CDN 비용을 줄이려면 다음 전략을 구현합니다.
+ **압축:** 매니페스트 파일에 대해 gzip 압축을 활성화하여 대역폭 사용량을 줄입니다.
+ **제거 전략:** 전체 캐시 지우기 대신 선택적 캐시 제거 구현
+ **트래픽 분석:** 매월 트래픽 패턴을 검토하여 최적화 기회를 식별합니다.
+ **티어 선택:** 성능 요구 사항에 따라 적절한 CDN 서비스 티어 사용

## 타사 CDN 문제 해결
<a name="cdn-3p-troubleshooting"></a>

CDN 구성 문제는 일반적으로 광고 개인화 문제 또는 성능 저하로 나타납니다. 이 체계적인 접근 방식을 사용하여 MediaTailor 광고 전송에 영향을 미치는 가장 일반적인 문제를 식별하고 해결합니다.

대부분의 문제 해결은 특정 증상을 확인하고 해당 솔루션을 적용하여 15\$130분 이내에 완료할 수 있습니다.

최종 사용자에게 광고 전송 또는 재생 품질 문제가 발생하는 경우이 가이드를 사용하여 일반적인 CDN 구성 문제를 식별하고 해결합니다.

Akamai: 캐시 매니페스트  
**증상:** 다양한 대상 지정 파라미터를 구성하더라도 최종 사용자는 동일한 광고를 볼 수 있습니다.  
**해결 방법:** 매니페스트 경로에 **No Store** 캐싱 옵션을 적용했는지 확인합니다.  
또한 캐시 키에 쿼리 파라미터를 포함했는지 확인합니다.

Fastly: 잘못된 캐시 키  
**증상:** 최종 사용자는 일관성 없는 광고 개인 맞춤을 경험합니다.  
최종 사용자는 다른 최종 사용자를 위한 광고를 볼 수도 있습니다.  
**해결 방법:** 캐시 키에 모든 쿼리 파라미터를 포함하도록 **전달** 설정을 구성했는지 확인합니다.

일반: 높은 오리진 트래픽  
**증상:** 오리진 서버의 트래픽이 예기치 않게 높음  
**해결 방법:** 세그먼트 캐싱 설정 및 TTL(time-to-live) 값을 확인합니다.  
CDN 지표에서 캐시 적중률을 확인합니다.

일반: 재생 오류  
**증상:** 최종 사용자에게 버퍼링 또는 재생 실패 발생  
**해결 방법:** CDN 라우팅 규칙 및 오리진 상태를 확인합니다.  
필요한 모든 헤더가 올바르게 전달되고 있는지 확인합니다.

**참고**  
이러한 해결 방법으로 문제가 해결되지 않는 경우 CDN 공급자의 설명서를 확인하세요. 추가 문제 해결 단계는 지원 팀에 문의할 수도 있습니다.

일반적인 CDN 문제 해결 지침은 섹션을 참조하세요[MediaTailor 및 CDN 통합 관련 문제 해결](cdn-troubleshooting.md).

# CDN 및 MediaTailor 통합을 위한 성능 최적화 가이드
<a name="cdn-optimization"></a>

AWS Elemental MediaTailor 체계적인 콘텐츠 전송 네트워크(CDN) 최적화를 통해 성능을 극대화할 수 있습니다. 서버 측 광고 삽입(SSAI), 채널 어셈블리 또는 결합된 워크플로를 구현하든 관계없이 최적화 원칙과 성능 목표는 일관되게 유지됩니다. 이 가이드는 모든 MediaTailor 구현에 적용되는 포괄적인 최적화 기법과 벤치마크를 제공합니다.

동적 변수 및 구성 별칭을 사용한 고급 라우팅 최적화는 섹션을 참조하세요[ADS 요청에 대한 MediaTailor 동적 광고 변수](variables.md). 쿼리 파라미터 최적화 전략은 섹션을 참조하세요[MediaTailor 매니페스트 쿼리 파라미터](manifest-query-parameters.md).

**최적화 워크플로 개요:**

1. **캐싱 구성** - 적절한 TTL 값 및 캐시 동작 설정

1. **라우팅 최적화** - 요청 라우팅 및 오리진 정책 구성

1. **성능 측정** - 설정된 벤치마크를 기준으로 추적

1. **고급 기법 적용** - 추가 최적화 기능 구현

**Topics**
+ [캐싱 최적화](cdn-optimize-caching.md)
+ [라우팅 최적화 요청](cdn-optimize-routing.md)
+ [성능 벤치마크](cdn-performance-benchmarks.md)
+ [고급 최적화](cdn-advanced-optimization.md)

# CDN 및 MediaTailor 통합을 위한 캐싱 최적화
<a name="cdn-optimize-caching"></a>

AWS Elemental MediaTailor 캐싱 요구 사항은 워크플로 유형 및 콘텐츠 형식에 따라 다릅니다. 최적의 성능, 비용 효율성 및 최종 사용자 경험을 위해서는 적절한 캐싱 구성이 중요합니다. 다음 섹션에서는 다양한 MediaTailor 구현에 대한 자세한 캐싱 지침을 제공합니다.

## 서버 측 광고 삽입(SSAI) 캐싱
<a name="ssai-caching-optimization"></a>

서버 측 광고 삽입 워크플로의 경우 개인화된 매니페스트는 캐싱할 수 없지만 콘텐츠 및 광고 세그먼트는 적극적으로 캐싱해야 합니다.


**SSAI CDN 캐싱 설정**  

| 콘텐츠 유형 | TTL | 경로 패턴 | 캐시 키 요소 | 
| --- | --- | --- | --- | 
| 다변량 재생 목록 | 0초 | /v1/마스터/\$1 | URL 경로 \$1 모든 쿼리 파라미터 | 
| 미디어 재생 목록 | 0초 | /v1/매니페스트/\$1 | URL 경로 \$1 모든 쿼리 파라미터 | 
| 대시 MPDs | 0초 | /v1/dash/\$1 | URL 경로 \$1 모든 쿼리 파라미터 | 
| 콘텐츠 세그먼트 | 24시간 이상 | 콘텐츠별 경로 | URL 경로만 | 
| 광고 세그먼트 | 24시간 이상 | /v1/segment/\$1 | URL 경로만 | 
+ 최종 사용자가 최신 광고 콘텐츠를 수신up-to-date 0초로 설정합니다.
+ 콘텐츠 및 광고 세그먼트에 대해 더 긴 TTL 값을 구성하여 캐시 효율성 극대화
+ 대상 광고를 지원하는 경우 캐시 키에 개인화 파라미터를 포함하는 캐시 동작을 설정합니다.
+ CDN 수준에서 요청 축소를 구현하여 동시 요청을 효율적으로 처리

### 권장 TTL 구성 설정
<a name="ssai-ttl-configuration"></a>

최적의 SSAI 성능을 위해 다음과 같은 특정 TTL 설정으로 CDN 캐시 정책을 구성합니다.


**SSAI TTL 구성 설정**  

| 콘텐츠 유형 | TTL 설정 | 권장 값 | 
| --- | --- | --- | 
| 광고 세그먼트 | 최소 TTL | 1초 | 
| 광고 세그먼트 | 최대 TTL | 86400초(24시간) | 
| 광고 세그먼트 | 기본 TTL | 86400초(24시간) | 
| 콘텐츠 세그먼트 | 최소 TTL | 1초 | 
| 콘텐츠 세그먼트 | 최대 TTL | 86400초(24시간) | 
| 콘텐츠 세그먼트 | 기본 TTL | 86400초(24시간) | 

이러한 설정은 다음을 보장합니다.
+ **최소 TTL 1초**: 과도한 오리진 요청을 방지하면서 필요한 경우 빠른 캐시 무효화 허용
+ **최대 TTL 24시간**: 캐시 효율성과 콘텐츠 최신성 요구 사항의 균형을 맞춥니다.
+ **기본 TTL 24시간**: 명시적 캐시 제어 헤더가 없는 세그먼트에 대해 최적의 캐싱 제공

## 서버 가이드 광고 삽입(SGAI) 캐싱
<a name="sgai-caching-optimization"></a>

서버 가이드 광고 삽입(SGAI)을 사용하면 예측 가능한 URL 패턴을 사용하는 캐시 가능한 미디어 매니페스트를 통해 효율적인 CDN 캐싱이 가능합니다. 이 섹션에서는 최적의 SGAI 성능을 위한 CDN별 구성 요구 사항에 중점을 둡니다.

### SGAI에 대한 CDN 캐싱 구성
<a name="sgai-caching-configuration"></a>

다음과 같은 SGAI별 캐싱 동작으로 CDN을 구성합니다.


**SGAI CDN 캐싱 설정**  

| 콘텐츠 유형 | TTL | 경로 패턴 | 캐시 키 요소 | 
| --- | --- | --- | --- | 
| SGAI 다변량 재생 목록(캐싱 금지) | 0초(캐싱 금지) | /v1/마스터/\$1 | URL 경로 \$1 선택한 쿼리 파라미터 | 
| SGAI 미디어 재생 목록 | 1\$14초(세그먼트 길이의 절반) | /v1/i-media/\$1 | URL 경로 \$1 선택한 쿼리 파라미터 | 
| 자산 목록 응답(캐싱 금지) | 0초(캐싱 금지) | /v1/간질/\$1 | URL 경로 \$1 모든 쿼리 파라미터 | 
| 광고 세그먼트 | 24시간 이상 | 광고별 경로 | URL 경로만 | 

### 캐시 동작 구성
<a name="sgai-cache-behavior-setup"></a>

SGAI 콘텐츠에 대한 전용 캐시 동작을 설정합니다.
+ **SGAI 매니페스트 동작** - 1\$14초 TTL을 사용하여 `/v1/i-media/*` 경로에 대한 캐시 동작 생성
+ **자산 목록 동작** - 0초 TTL이 있는 `/v1/interstitials/*` 경로에 대한 캐시 동작 생성
+ **쿼리 파라미터 처리** - 캐시 효율성을 극대화하기 위해 캐시 키에 필수 대상 지정 파라미터만 포함
+ **오리진 요청 헤더** - 캐시 가능성을 유지하면서 광고 타겟팅에 필요한 헤더 전달

## 채널 어셈블리 캐싱
<a name="channel-assembly-caching-optimization"></a>

채널 어셈블리 워크플로의 경우 매니페스트를 단기간 캐싱할 수 있지만 세그먼트는 적극적으로 캐싱해야 합니다.


**채널 어셈블리 CDN 캐싱 설정**  

| 콘텐츠 유형 | VOD TTL | 라이브 TTL | 경로 패턴 | 캐시 키 요소 | 
| --- | --- | --- | --- | --- | 
| 다변량 재생 목록 | 5\$130분 | 5\$110초 | 채널별 경로 | URL 경로 \$1 모든 쿼리 파라미터 | 
| 미디어 재생 목록 | 5\$130분 | 2\$15초 | 채널별 경로 | URL 경로 \$1 모든 쿼리 파라미터 | 
| 대시 MPDs | 5\$130분 | 5\$110초 | 채널별 경로 | URL 경로 \$1 모든 쿼리 파라미터 | 
| 콘텐츠 세그먼트 | 24시간 이상 | 5\$115분 | 콘텐츠별 경로 | URL 경로만 | 
| 광고 세그먼트 | 24시간 이상 | 24시간 이상 | 광고별 경로 | URL 경로만 | 
+ 최종 사용자가 up-to-date 프로그래밍을 받을 수 있도록 매니페스트에 대한 짧은 TTL 값을 설정합니다.
+ 콘텐츠 세그먼트에 대해 더 긴 TTL 값을 구성하여 캐시 효율성 극대화
+ 시간 이동 보기를 지원하는 경우 캐시 키에 시간 이동 파라미터를 포함하는 캐시 동작 설정
+ 캐시 키에 쿼리 파라미터를 포함하여 시간 이동 보기 요청을 올바르게 처리

자세한 TTL 구성 설정 및 모범 사례는 섹션을 참조하세요[CDN 및 MediaTailor 통합을 위한 캐싱 최적화](#cdn-optimize-caching).

## SSAI 및 채널 어셈블리 캐싱 결합
<a name="combined-workflow-caching"></a>

채널 어셈블리와 SSAI를 모두 구현할 때는 충돌을 방지하고 성능을 최적화하기 위해 캐싱 전략이 두 서비스 모두에 일관되게 적용되어야 합니다.


**결합된 워크플로 캐싱 설정 비교**  

| 콘텐츠 유형 | 채널 어셈블리 | SSAI | 통합 권장 사항 | 
| --- | --- | --- | --- | 
| VOD 매니페스트 | 5\$130분 | 0초 | (별도 구성 사용) | 
| 라이브 매니페스트 | 2\$110초 | 0초 | (별도 구성 사용) | 
| SGAI VOD 매니페스트 | 5\$130분 | 5\$130분 | 5\$130분(캐싱 가능한 매니페스트) | 
| SGAI Live 매니페스트 | 2\$14초 | 2\$14초 | 2\$14초(캐싱 가능한 매니페스트) | 
| 콘텐츠 세그먼트 | 24시간 이상 | 24시간 이상 | 24시간 이상(일관성) | 
| 광고 세그먼트 | 24시간 이상 | 24시간 이상 | 24시간 이상(일관성) | 

이 구성은 캐시 효율성을 극대화하는 동시에 최종 사용자가 맞춤형 광고 삽입을 위해 up-to-date 매니페스트를 수신하도록 합니다.

# CDN 및 MediaTailor 통합을 위한 라우팅 최적화 요청
<a name="cdn-optimize-routing"></a>

모든 AWS Elemental MediaTailor CDN 통합에 대해 다음과 같은 라우팅 최적화를 구현합니다.
+ 매니페스트 및 세그먼트 요청에 대해 별도의 캐시 동작 생성
+ 헤더 전달을 제어하도록 오리진 요청 정책 구성
+ 적절한 오류 처리 및 장애 조치 메커니즘 설정
+ CDN에서 사용 가능한 경우 오리진 실드를 구현하여 오리진 로드를 줄입니다.
+ CDN 수준에서 요청 축소를 구현하여 동시 요청을 효율적으로 처리

# CDN 및 MediaTailor 통합의 성능 벤치마크
<a name="cdn-performance-benchmarks"></a>

 AWS Elemental MediaTailor CDN 통합을 최적화할 때는 이러한 성능 벤치마크를 목표로 하세요. 이러한 대상은 SSAI, 채널 어셈블리 및 결합된 워크플로를 포함한 모든 MediaTailor 구현에 적용됩니다.

캐시 적중률 대상  
콘텐츠 세그먼트: 캐시 적중률 95% 초과  
광고 세그먼트: 캐시 적중률 90% 초과  
매니페스트: SSAI에는 적용되지 않음(개인화된 광고 삽입을 위해 캐시해서는 안 됨), 채널 어셈블리의 경우 85% 이상

지연 시간 벤치마크  
매니페스트 요청 지연 시간: 100ms 미만(P95)  
콘텐츠 세그먼트 전송: 50ms 미만(P95)  
광고 세그먼트 전송: 75ms 미만(P95)  
End-to-end 시작 시간: 2초 미만

오리진 로드 지표  
최종 사용자당 오리진 요청: 최종 사용자당 분당 요청 0.1개 미만  
뷰어당 오리진 대역폭: 총 뷰어 대역폭의 5% 미만

오류율 대상  
매니페스트 오류: 0.1% 미만  
세그먼트 오류: 0.01% 미만  
플레이어 보고 재버퍼링: 1% 미만

확장성 벤치마크  
성능 저하 없이 피크 이벤트 중 정상 트래픽의 10배 지원  
채널당 초당 1,000개 이상의 요청을 처리할 수 있는 기능

Amazon CloudWatch 지표를 사용하여 이러한 성능 지표를 추적합니다. 자세한 모니터링 지침은 섹션을 참조하세요[모니터링 도구 설정](cdn-monitoring.md#cdn-monitor-tools-setup).

# CDN 및 MediaTailor 통합을 위한 고급 최적화 기술
<a name="cdn-advanced-optimization"></a>

기본 캐싱 및 라우팅 최적화를 구현한 후 다음과 같은 고급 기술을 고려하여 성능을 더욱 개선하세요.

## Origin Shield 구현
<a name="origin-shield-optimization"></a>

Origin Shield는 CDN 엣지 로케이션과 오리진 서버 사이에 캐싱 계층을 추가하여 오리진 로드를 줄이고 성능을 개선합니다.
+ 트래픽이 많은 콘텐츠 및 라이브 스트리밍을 위해 Origin Shield 활성화
+ MediaTailor 리전과 가까운 Origin Shield 위치를 선택합니다.
+ Origin Shield 캐시 적중률 모니터링 및 필요에 따라 조정
+ 글로벌 배포를 위해 여러 Origin Shield 위치 고려

## 콘텐츠 압축 최적화
<a name="compression-optimization"></a>

콘텐츠 압축을 최적화하여 대역폭을 줄이고 전송 속도를 개선합니다.
+ 매니페스트 파일에 대해 gzip 압축 활성화
+ MediaTailor 매니페스트 압축에 대한 수락 인코딩 헤더 전달 구성
+ 추가 대역폭 절감을 위해 지원되는 경우 Brotli 압축 사용
+ 이미 압축된 비디오 세그먼트 압축 방지

## 리전 최적화 전략
<a name="regional-optimization"></a>

리전별 전략을 통해 글로벌 대상의 성능을 최적화합니다.
+ 글로벌 대상을 위해 여러 리전에 MediaTailor 구성 배포
+ 지오 라우팅을 사용하여 최종 사용자를 가장 가까운 MediaTailor 리전으로 안내
+ 고가용성을 위해 리전 장애 조치 구성
+ 리전별 성능 지표를 별도로 모니터링

# CDN 및 MediaTailor 통합을 위한 아키텍처 고려 사항
<a name="cdn-architecture-considerations"></a>

최적의 성능과 신뢰성을 보장하기 위해 아키텍처에 콘텐츠 전송 네트워크(CDN)를 올바르게 배치합니다 AWS Elemental MediaTailor. 권장 아키텍처는 MediaTailor와 오리진이 아닌 최종 사용자와 MediaTailor 사이에 CDN을 배치합니다.

자세한 아키텍처 다이어그램 및 워크플로 설명은 다음 주제를 참조하세요.
+ [CDN을 사용한 광고 삽입](ssai-cdn-workflow.md) 광고 삽입 아키텍처 다이어그램 및 세부 워크플로용
+ [CDN 아키텍처 이해](channel-assembly-cdn-architecture.md) 채널 어셈블리 아키텍처 다이어그램 및 워크플로용

아키텍처에 CDN을 올바르게 배치합니다.

1. 플레이어와 MediaTailor 사이에 CDN을 배치합니다(MediaTailor와 오리진 사이에는 CDN을 배치하지 않음).

   이 아키텍처를 사용하면 CDN이 광고 세그먼트와 콘텐츠 세그먼트를 캐싱할 수 있습니다. 동시에 MediaTailor는 각 뷰어에 대해 개인화된 매니페스트를 생성할 수 있습니다.

1. 다양한 요청 유형에 대해 별도의 캐시 동작을 생성합니다.
   + 매니페스트 요청(캐싱 없음)
   + 콘텐츠 세그먼트(긴 TTL)
   + 광고 세그먼트(긴 TTL)

1. 적절한 오류 처리를 구성합니다.
   + 서비스 중단 중에 반복되는 요청으로 오리진에 부담을 주지 않도록 음의 캐싱(오류 응답 임시 저장)을 설정합니다. 음수 캐싱은 CDN이 일시적으로 오류 응답(예: 404 또는 500 오류)을 저장하여 존재하지 않거나 일시적으로 사용할 수 없는 콘텐츠에 대한 반복 요청을 방지함을 의미합니다.
   + 적절한 오류 응답 코드 및 재시도 동작 구성

1. 중간 캐싱(오리진 실드)을 구현합니다.

   오리진 실드는 CDN 엣지 로케이션과 오리진 서버 간에 추가 캐싱 계층을 생성하는 기능입니다. 이렇게 하면 오리진 서버에 도달하는 중복 요청 수가 줄어듭니다.
   + 엣지 로케이션과 오리진 간에 중간 캐싱 계층 구성
   + 캐시 누락 시 오리진에 대한 중복 요청 수 감소
   + CDN 인프라 전반의 캐시 적중률 개선

# MediaTailor의 고급 CDN 기능
<a name="advanced-cdn-features"></a>

기본 콘텐츠 전송 네트워크(CDN) 구성을 구현한 후 이러한 고급 기능을 탐색하여 AWS Elemental MediaTailor 스트리밍 플랫폼의 성능과 신뢰성을 더욱 개선합니다.

미디어 품질 인식 라우팅(MQAR)  
MQAR은 실시간 네트워크 성능 지표를 기반으로 최고 품질의 콘텐츠 소스를 자동으로 선택하는 Amazon CloudFront 기능입니다. MQAR은 고정 오리진 서버를 사용하는 대신 지연 시간 및 처리량과 같은 요인을 기반으로 요청을 최적의 오리진으로 동적으로 라우팅합니다. 이를 통해 최종 사용자는 네트워크 변동 중에도 가능한 최고 품질의 스트림을 수신할 수 있습니다.  
Amazon CloudFront를 사용하는 경우 MQAR을 구현하여 실시간 지표를 기반으로 최고 품질의 콘텐츠 소스를 자동으로 선택합니다. 자세한 내용은 CloudFront 통합 섹션[CloudFront 통합](cloudfront-specific-recommendations.md)의 섹션을 참조하세요.

매니페스트 필터링  
매니페스트 필터링을 사용하면 MediaTailor가 최종 사용자에게 제공하는 매니페스트에 포함되는 변환(동일한 콘텐츠의 다양한 품질 버전)을 사용자 지정할 수 있습니다. 필터링은 특정 디바이스 또는 네트워크 조건에 적합하지 않은 변환을 제거하여 대역폭 사용을 최적화하는 데 도움이 됩니다. 예를 들어 모바일 디바이스 또는 저대역폭 연결에 대한 4K 변환을 제거할 수 있습니다.  
를 사용한 매니페스트 필터링 구현에 대한 자세한 내용은 섹션을 AWS Elemental MediaPackage참조하세요[MediaPackage CDN 통합](mediapackage-integration.md).

다중 CDN 전략  
다중 CDN 전략은 여러 CDN 공급자를 동시에 사용하여 안정성과 성능을 개선합니다. 한 CDN에 문제가 발생하면 트래픽이 자동으로 다른 공급자로 이동할 수 있습니다. 이 접근 방식은 신뢰성이 중요한 중요한 중요한 라이브 이벤트에 특히 유용합니다.  
MediaTailor를 사용하여 다중 CDN 전략을 구현하는 방법에 대한 자세한 내용은 섹션을 참조하세요[CDN 통합 계획](planning-cdn-integration.md).

# MediaTailor CDN 작업 및 성능 모니터링
<a name="cdn-monitoring"></a>

 AWS Elemental MediaTailor 및 콘텐츠 전송 네트워크(CDN) 통합을 효과적으로 모니터링하면 안정적인 콘텐츠 전송, 최적의 성능 및 빠른 문제 감지가 보장됩니다. 이 모니터링 접근 방식은 서버 측 광고 삽입(SSAI), 채널 어셈블리 및 결합된 워크플로를 포함한 모든 MediaTailor 구현에 적용됩니다.

CDN 통합을 모니터링하면 다음을 수행할 수 있습니다.
+ 최종 사용자에게 영향을 미치기 전에 문제 감지 및 해결
+ 주요 성능 지표 추적 및 서비스 품질 유지
+ 최적의 캐시 성능 유지 및 오리진 로드 감소
+ 광고 삽입 성공률이 비즈니스 요구 사항을 충족하는지 확인

모니터링 데이터에 나타날 수 있는 파라미터 관련 문제를 해결하려면 섹션을 참조하세요[MediaTailor 파라미터 문제 해결 가이드](parameter-troubleshooting.md). 쿼리 파라미터 사용량 모니터링에 대한 자세한 내용은 섹션을 참조하세요[MediaTailor 매니페스트 쿼리 파라미터](manifest-query-parameters.md).

## 필수 CDN 성능 지표
<a name="cdn-monitor-essential-metrics"></a>

MediaTailor 구현을 통해 이러한 핵심 지표를 추적하여 CDN의 효과를 평가합니다.

캐시 적중률  
**측정 대상**: CDN 캐시와 오리진에서 제공된 요청의 백분율입니다.  
**대상 값**:  
+ 콘텐츠 세그먼트: 캐시 적중률 95% 이상
+ 광고 세그먼트: 캐시 적중률 90% 이상
+ 매니페스트: 구현에 따라 다름(개인화된 매니페스트는 캐시해서는 안 됨)
**중요한 이유**: 캐시 적중률이 높을수록 오리진 로드가 줄어들고 응답 시간이 개선되며 대역폭 비용이 절감됩니다.

오리진 요청 볼륨  
**측정 대상**: MediaTailor 오리진 서버에 대한 요청 수입니다.  
**대상 패턴**: 캐시 누락 또는 새 콘텐츠가 간헐적으로 급증하면서 낮고 안정적으로 유지되어야 합니다.  
**중요한 이유**: 높은 오리진 요청 볼륨은 캐싱 비효율성을 나타내며 MediaTailor 성능에 영향을 미칠 수 있습니다.

응답 지연 시간  
**측정 대상**: CDN이 최종 사용자 요청에 응답하는 속도입니다.  
**대상 값**:  
+ 캐시된 콘텐츠: 100ms 미만(P95)
+ 오리진 요청: 500ms 미만(P95)
+ 매니페스트 요청: 100ms 미만(P95)
+ 세그먼트 요청: 50ms 미만(P95)
**중요한 이유**: 짧은 지연 시간으로 원활한 재생과 우수한 시청자 경험을 보장합니다.

오류 발생률  
**측정 대상**: HTTP 오류가 발생하는 요청의 백분율입니다.  
**대상 값**:  
+ 4xx 오류: 총 요청의 0.1% 미만
+ 5xx 오류: 총 요청의 0.01% 미만
+ 오리진 오류: 오리진 요청의 0.05% 미만
**중요한 이유**: 오류율이 높으면 최종 사용자 경험에 영향을 미치는 구성 문제 또는 서비스 문제를 나타냅니다.

### MediaTailor 특정 지표
<a name="emt-specific-metrics"></a>

이러한 MediaTailor 지표를 CDN 지표와 함께 모니터링하여 완전한 가시성을 확보하세요.

광고 채우기 속도  
**주요 지표**: `Avail.FillRate` 및 `AdDecisionServer.FillRate`  
**목표 값**: 두 지표 모두 90% 초과  
**중요한 이유**: 광고 수익 및 시청자 경험에 직접 영향을 미칩니다.

매니페스트 생성 성능  
**주요 지표**: `GetManifest.Latency` 및 `GetManifest.Errors`  
**목표 값**: 200ms 미만의 지연 시간, 1% 미만의 오류율  
**중요한 이유**: 재생 시작 시간과 신뢰성에 영향을 미칩니다.

광고 결정 서버 상태  
**주요 지표**: `AdDecisionServer.Latency`, `AdDecisionServer.Errors`및 `AdDecisionServer.Timeouts`  
**목표 값**: 1000ms 미만의 지연 시간, 5% 미만의 오류율, 최소 제한 시간  
**중요한 이유**: ADS 성능은 광고 삽입 성공에 직접적인 영향을 미칩니다.

## 모니터링 도구 설정
<a name="cdn-monitor-tools-setup"></a>

MediaTailor 및 CDN 통합을 효과적으로 모니터링하도록 다음 도구를 구성합니다.

### Amazon CloudWatch 통합
<a name="cloudwatch-integration"></a>

Amazon CloudWatch는 MediaTailor 및 CDN 통합을 모니터링하기 위한 기반을 제공합니다.

MediaTailor 지표  
MediaTailor는 요청, 응답 및 오류를 추적하는 지표를 CloudWatch에 자동으로 게시합니다. 주요 지표는 다음과 같습니다.  
+ `RequestCount`: MediaTailor에 대한 총 요청 수
+ `ResponseTime`: MediaTailor 응답 지연 시간
+ `4xxErrorCount` 및 `5xxErrorCount`: 오류 추적
MediaTailor 지표의 전체 목록은 섹션을 참조하세요[Amazon CloudWatch 지표 AWS Elemental MediaTailor 를 사용한 모니터링](monitoring-cloudwatch-metrics.md).

CDN 지표  
다음을 포함하여 CloudWatch에서 CDN 지표 수집을 활성화합니다.  
+ 다양한 콘텐츠 유형에 대한 캐시 적중률
+ 오리진 요청 수 및 응답 시간
+ 상태 코드별 오류 발생률
CloudFront 특정 지표의 경우 배포 설정에서 세부 모니터링을 활성화합니다.

### 대시보드 구성
<a name="dashboard-configuration"></a>

MediaTailor 및 CDN 성능에 대한 가시성을 제공하는 대시보드를 생성합니다.

1. **통합 대시보드 생성**: MediaTailor와 CDN 지표를 단일 CloudWatch 대시보드에서 결합하여 완벽한 가시성을 확보합니다.

1. **워크플로별 구성**: 구현 유형(SSAI, 채널 어셈블리 또는 결합된 워크플로)별로 지표를 그룹화합니다.

1. **주요 성과 지표 포함**:
   + 시간 경과에 따른 캐시 적중률 추세
   + 응답 지연 시간 백분위수(P50, P95, P99)
   + 오류율 추세 및 급증

자세한 대시보드 생성 지침은 [CloudWatch 대시보드를 참조하세요](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html).

### 알림 구성
<a name="alert-configuration"></a>

최종 사용자에게 영향을 미치기 전에 문제를 감지하도록 알림을 구성합니다.

중요 알림  
심각한 문제에 대한 즉각적인 알림을 구성합니다.  
+ **높은 오류율**: 5xx 오류가 5분 동안 요청의 0.1%를 초과하면 알림
+ **오리진 서버 문제**: 오리진 응답 시간이 2초를 초과하면 알림
+ **캐시 적중률 저하**: 캐시 적중률이 매니페스트의 경우 70%, 세그먼트의 경우 85% 미만으로 떨어질 때 알림

경고 알림  
성능 저하에 대한 조기 경고를 구성합니다.  
+ **지연 시간 증가**: P95 응답 시간이 200ms를 초과하면 알림
+ **캐시 효율성 저하**: 세그먼트의 캐시 적중률이 90% 미만으로 떨어질 때 알림

## 구현 체크리스트
<a name="cdn-monitor-implementation-checklist"></a>

이 체크리스트를 사용하여 포괄적인 모니터링 범위를 보장합니다.

1. **지표 컬렉션**:
   + ✓ CloudWatch에서 MediaTailor 지표 활성화
   + ✓ CDN 세부 모니터링 활성화

1. **대시보드 설정**:
   + ✓ 통합 CloudWatch 대시보드 생성
   + ✓ 적절한 시간 범위로 시각화된 주요 지표
   + ✓ 대시보드를 관련 팀과 공유

1. **알림 구성**:
   + ✓ 즉시 알림으로 구성된 중요 알림
   + ✓ 조기 탐지를 위한 경고 설정
   + ✓ 알림 에스컬레이션 절차 문서화

1. **운영 절차**:
   + ✓ 인시던트 대응 절차 문서화
   + ✓ 정기 검토 일정 설정
   + ✓ 팀 교육 완료

## 관련 주제
<a name="cdn-monitor-related-topics"></a>

특정 모니터링 시나리오에 대한 추가 지침은 다음과 같습니다.
+ **성능 최적화**: 모니터링 데이터를 기반으로 하는 자세한 최적화 기법은 섹션을 참조하세요[CDN 성능 최적화](cdn-optimization.md).
+ **문제 해결**: 모니터링 데이터를 사용하는 자세한 문제 해결 절차는 워크플로별 문제 해결 설명서를 참조하세요.
+ **로그 분석**: 포괄적인 로그 분석 및 모니터링은 섹션을 참조하세요[MediaTailor에 대한 CDN 통합 로그 분석 및 오류 코드 참조](cdn-log-error-reference.md).

# CDN 및 MediaTailor 통합 테스트 및 검증
<a name="cdn-integration-testing"></a>

AWS Elemental MediaTailor 콘텐츠 전송 네트워크(CDN) 통합에는 안정적인 광고 전송과 최적의 성능을 보장하기 위한 철저한 테스트가 필요합니다. 체계적인 테스트를 통해 통합 문제가 최종 사용자에게 영향을 미치기 전에 식별할 수 있습니다. 이 포괄적인 접근 방식을 사용하여 다양한 시나리오, 구성 및 로드 조건에서 콘텐츠 전송 네트워크 및 MediaTailor 통합을 검증합니다.

**관련 주제:**
+ 모니터링 및 로깅을 포함한 운영 설정은 섹션을 참조하세요. [CDN 모니터링](cdn-monitoring.md) 
+ 문제가 발생할 때 문제를 해결하려면 섹션을 참조하세요. [CDN 통합 문제 해결](cdn-troubleshooting.md) 
+ 성능 최적화 지침은 섹션을 참조하세요. [CDN 및 MediaTailor 통합을 위한 성능 최적화 가이드](cdn-optimization.md) 

**Topics**
+ [사전 조건 테스트](testing-prerequisites.md)
+ [체계적 테스트 방법론](systematic-testing-approach.md)
+ [배포 전 체크리스트](testing-checklist.md)
+ [테스트 도구 참조](testing-tools-reference.md)

# CDN 및 MediaTailor 통합을 위한 사전 조건 및 설정 테스트
<a name="testing-prerequisites"></a>

AWS Elemental MediaTailor 콘텐츠 전송 네트워크(CDN) 통합 테스트에는 적절한 준비 및 리소스 할당이 필요합니다. 체계적인 테스트를 시작하기 전에 필요한 리소스와 도구가 있는지 확인합니다.

**필요한 리소스:**
+ 프로덕션 설정을 미러링하도록 구성된 CDN 배포 테스트
+ 알려진 콘텐츠 및 광고 소스를 사용하여 MediaTailor 구성 테스트
+ 예측 가능한 특성(기간, 형식, 광고 중단 마커)이 있는 콘텐츠 테스트
+ 광고 결정 서버 또는 모의 ADS 응답 테스트
+ 여러 테스트 디바이스 및 플레이어 유형

**테스트 도구:**
+ `curl` HTTP 요청 테스트용
+ `ffprobe` HLS 매니페스트 검증용
+ `mp4box` DASH 매니페스트 검증용
+ 네트워크 분석을 위한 브라우저 개발자 도구
+ end-to-end 테스트를 위한 비디오 플레이어

# CDN 및 MediaTailor 통합을 위한 체계적인 테스트 방법론
<a name="systematic-testing-approach"></a>

AWS Elemental MediaTailor 콘텐츠 전송 네트워크(CDN) 통합 테스트는 포괄적인 적용 범위를 보장하기 위해 체계적인 단계별 접근 방식을 따라야 합니다. 이 구조화된 접근 방식을 따라 콘텐츠 전송 네트워크 및 MediaTailor 통합을 포괄적으로 테스트합니다. 각 단계는 이전 단계를 기반으로 구축되어 잠재적 문제를 격리합니다.

체계적인 테스트 접근 방식에 대한 추가 지침은 AWS Well-Architected Framework의 [신뢰성 테스트를](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/test-reliability.html) 참조하세요.

## 1단계: 직접 MediaTailor 연결 테스트
<a name="phase1-direct-emt-testing"></a>

먼저 CDN 개입 없이 MediaTailor 기능을 테스트하여 기준을 설정합니다.

1. MediaTailor 엔드포인트로 직접 매니페스트 요청을 테스트합니다.
   + HLS 다변량 재생 목록 요청을 테스트합니다. `curl -v "https://your-emt-endpoint.mediatailor.region.amazonaws.com/v1/master/hls/config-name/master.m3u8"` 
   + DASH MPD 요청 테스트: `curl -v "https://your-emt-endpoint.mediatailor.region.amazonaws.com/v1/dash/config-name/manifest.mpd"`
   + 매니페스트 응답에 예상 광고 중단 마커가 포함되어 있는지 확인
   + 세그먼트 URLs 오리진을 가리키는지 확인

1. 광고 삽입이 올바르게 작동하는지 확인합니다.
   + 다양한 광고 대상 지정 파라미터로 테스트
   + 광고 세그먼트가 올바르게 트랜스코딩되고 사용 가능한지 확인
   + 광고 중단 시간 및 기간 확인
   + 광고를 사용할 수 없는 경우 폴백 동작 테스트

1. 기준 성능 측정:
   + 매니페스트 요청 응답 시간 기록
   + 광고 결정 서버 응답 시간 측정
   + 세션 생성 및 관리 테스트

**성공 기준:** 모든 직접 MediaTailor 요청은 예상 광고 콘텐츠를 포함하는 올바른 형식의 매니페스트와 함께 HTTP 200 응답을 반환합니다.

## 2단계: 기본 CDN 통합 테스트
<a name="phase2-basic-cdn-integration"></a>

요청 경로에 CDN을 추가하고 기본 기능을 테스트합니다.

1. CDN을 통해 매니페스트 요청을 테스트합니다.
   + 간단한 라우팅 규칙을 사용하여 CDN 구성
   + CDN 엔드포인트를 통해 매니페스트 요청 테스트
   + CDN이 MediaTailor에 요청을 올바르게 전달하는지 확인
   + 매니페스트 응답이 캐시되지 않았는지 확인(TTL = 0)

1. 세그먼트 라우팅 테스트:
   + 콘텐츠 세그먼트가 오리진 서버로 라우팅되는지 확인
   + 광고 세그먼트가 MediaTailor 광고 스토리지로 라우팅되는지 확인
   + 세그먼트 캐싱 동작 테스트

1. CDN과 직접 성능 비교:
   + 응답 시간 차이 측정
   + 응답의 콘텐츠 차이 확인
   + 오류 처리가 올바르게 작동하는지 확인

**성공 기준:** CDN은 성능 영향을 최소화하면서 MediaTailor 및 오리진 서버에 요청을 성공적으로 프록시 처리해야 합니다.

## 3단계: 쿼리 파라미터 전달 테스트
<a name="phase3-parameter-forwarding"></a>

쿼리 파라미터 전달을 추가하고 광고 개인화를 테스트합니다.

1. CDN에서 쿼리 파라미터 전달을 구성합니다.
   + MediaTailor로 모든 쿼리 파라미터 전달 활성화
   + 테스트 세션 초기화(세션 ID는 첫 요청 시 MediaTailor에서 자동으로 생성됨)
   + 사용자 지정 대상 지정 파라미터로 테스트

1. 광고 개인화 테스트:
   + 다른 파라미터가 다른 광고 응답을 생성하는지 확인
   + 파라미터 인코딩 및 특수 문자 테스트
   + 파라미터가 ADS에 올바르게 전달되었는지 확인

1. 세션 관리 검증:
   + 세션 생성 및 지속성 테스트
   + 요청 간 세션 ID 일관성 확인
   + 세션 만료 처리 테스트

**성공 기준:** 광고 콘텐츠는 쿼리 파라미터에 따라 다르며 세션이 올바르게 관리됩니다.

## 4단계: 헤더 전달 테스트
<a name="phase4-header-forwarding"></a>

CDN에 헤더 전달을 추가하고 디바이스별 대상을 테스트합니다.

1. 모든 헤더에 대한 헤더 전달을 구성합니다. 최소 요구 사항은 섹션을 참조하세요[MediaTailor CDN 통합에 필요한 헤더](cdn-configuration.md#cdn-required-headers).

1. 테스트 디바이스 대상:
   + 다양한 사용자 에이전트 문자열(모바일, 데스크톱, TV)로 테스트
   + 디바이스별 광고 응답 확인
   + IP 주소가 다른 지리적 대상 테스트

1. CORS 처리 검증:
   + CORS 헤더의 웹 플레이어 호환성 테스트
   + 사전 OPTIONS 요청이 올바르게 작동하는지 확인
   + 다른 도메인에서 테스트

**성공 기준:** 디바이스 및 지리적 타겟팅이 올바르게 작동해야 하며 웹 플레이어에게 CORS 오류가 발생하지 않아야 합니다.

## 5단계: 포괄적인 시나리오 테스트
<a name="phase5-comprehensive-testing"></a>

여러 시나리오에서 테스트하여 강력한 작동을 보장합니다.

1. 다양한 플레이어 유형으로 테스트합니다.
   + 웹 브라우저의 HLS.js 플레이어
   + HLS 및 DASH를 지원하는 Video.js 플레이어
   + 모바일 디바이스의 네이티브 플레이어
   + 스마트 TV 및 셋톱 박스 플레이어

1. 다양한 디바이스 및 플랫폼에서 테스트:
   + 모바일 디바이스(iOS, Android)
   + 데스크톱 브라우저(Chrome, Firefox, Safari, Edge)
   + 스마트 TVs 및 스트리밍 디바이스
   + 다양한 운영 체제 버전

1. 다양한 콘텐츠 유형을 테스트합니다.
   + 라이브 스트리밍 콘텐츠
   + 온디맨드 비디오(VOD) 콘텐츠
   + 다양한 비디오 형식 및 비트 전송률
   + 광고 중단 패턴이 다른 콘텐츠

1. 광고 타겟팅 시나리오 테스트:
   + 다양한 인구 통계 대상 지정 파라미터
   + 여러 리전의 지리적 대상 지정
   + 시간 기반 대상 지정(하루 중 서로 다른 시간)
   + 사용자 지정 비즈니스 로직 파라미터

**성공 기준:** 모든 플레이어 및 디바이스 조합이 적절한 광고 타겟팅과 함께 올바르게 작동해야 합니다.

## 6단계: 로드 및 성능 테스트
<a name="phase6-load-performance-testing"></a>

실제 로드 조건에서 성능을 검증합니다.

**중요**  
**로드 테스트 전에 [AWS Support](https://aws.amazon.com/premiumsupport/)에 문의하세요.** 로드 및 성능 테스트를 수행하기 전에 AWS 지원 티켓을 생성하여 MediaTailor 서비스 팀에 계획된 테스트를 알립니다. 이렇게 하면 다음이 보장됩니다.  
서비스가 예상 로드 수준에 맞게 준비됨
테스트 기간 동안 적절한 용량을 사용할 수 있습니다.
테스트가 프로덕션 인시던트로 오해되지 않습니다.
테스트 모범 사례 및 제한 사항에 대한 지침을 받습니다.
지원 티켓에 예상 동시 사용자, 테스트 기간, 지리적 리전 및 테스트하려는 특정 시나리오를 포함합니다.

1. 동시 사용자 시나리오 테스트:
   + 여러 동시 뷰어 시뮬레이션
   + CDN 조정 및 캐시 성능 테스트
   + 로드 시 오리진 서버 성능 모니터링
   + MediaTailor가 동시 세션을 처리할 수 있는지 확인

1. 성능 지표 측정:
   + 로드 시 응답 시간 모니터링
   + 캐시 적중률이 기대치를 충족하는지 확인(대중 콘텐츠의 경우 >80%)
   + 다양한 시나리오의 첫 번째 프레임까지의 시간 측정
   + 피크 로드 중 오류율 추적

1. 장애 조치 시나리오를 테스트합니다.
   + ADS를 사용할 수 없는 경우 동작 테스트
   + 오리진 서버 장애 조치 테스트
   + 오류 처리 및 복구 확인
   + CDN 엣지 로케이션 장애 조치 테스트

**성공 기준:** 시스템은 장애 발생 시 정상적인 성능 저하와 함께 예상 부하에서 허용 가능한 성능을 유지해야 합니다. 실행 전에 [AWS Support](https://aws.amazon.com/premiumsupport/)에 문의하여 로드 테스트 계획을 승인해야 합니다.

# CDN 및 MediaTailor 통합을 위한 배포 전 테스트 체크리스트
<a name="testing-checklist"></a>

AWS Elemental MediaTailor 콘텐츠 전송 네트워크(CDN) 통합은 프로덕션 배포 전에 포괄적인 테스트를 통과해야 합니다. 구성 변경 사항을 프로덕션에 배포하기 전에이 체크리스트를 사용합니다.

**기본 기능:**
+ " 매니페스트 요청은 HTTP 200 응답을 반환합니다.
+ " 콘텐츠 세그먼트가 올바르게 로드됨
+ " 광고 세그먼트가 올바르게 로드됨
+ " 광고 시간이 예상 시간에 표시됨
+ " 재생은 콘텐츠와 광고 간에 원활하게 전환됩니다.

**구성 검증:**
+ " 쿼리 파라미터가 올바르게 전달됨
+ " 필수 헤더가 올바르게 전달됨
+ " 매니페스트 캐싱이 비활성화됨(TTL = 0)
+ " 세그먼트 캐싱이 적절하게 구성됨
+ " CORS 헤더가 웹 플레이어용으로 구성됨

**교차 플랫폼 테스트:**
+ " 모바일 디바이스에서 테스트됨
+ " 데스크톱 브라우저에서 테스트됨
+ " 다양한 플레이어 유형으로 테스트됨
+ " HLS 및 DASH 형식 모두 테스트됨

**성능 검증:**
+ 로드 테스트 승인을 위해 생성된 AWS 지원 티켓
+ " 응답 시간이 성능 목표 충족
+ " 캐시 적중률 허용
+ " 오류 발생률이 허용 한도 내에 있음
+ " 모니터링 및 알림이 구성됨

# CDN 및 MediaTailor 통합을 위한 도구 및 유틸리티 참조 테스트
<a name="testing-tools-reference"></a>

AWS Elemental MediaTailor 콘텐츠 전송 네트워크(CDN) 통합 테스트에는 포괄적인 검증 및 디버깅을 위한 다양한 도구가 필요합니다. 콘텐츠 전송 네트워크 및 MediaTailor 통합 테스트에 일반적으로 사용되는 도구에 대한 참조 가이드입니다.

`curl` - HTTP 요청 테스트  
매니페스트 요청 테스트: `curl -v "https://your-cdn-domain.com/v1/master/hls/config/master.m3u8"`  
헤더로 테스트: `curl -H "User-Agent: TestAgent/1.0" "https://your-cdn-domain.com/..."`  
파라미터로 테스트: `curl "https://your-cdn-domain.com/...?aws.sessionId=test123"`

`ffprobe` - HLS 매니페스트 검증  
HLS 구문 검증: `ffprobe -v quiet -print_format json -show_format "https://your-cdn-domain.com/master.m3u8"`  
세그먼트 정보 확인: `ffprobe -v quiet -show_entries packet=pts_time "segment.ts"`

`mp4box` - DASH 매니페스트 검증  
DASH MPD 검증: `mp4box -info "https://your-cdn-domain.com/manifest.mpd"`  
세그먼트 타이밍 확인: `mp4box -info segment.m4s`

브라우저 개발자 도구  
네트워크 탭에서 네트워크 요청 모니터링  
콘솔 탭에서 CORS 오류 확인  
요청/응답 헤더 검사  
타이밍 및 성능 지표 분석

**추가 리소스:**
+ [CloudFront 문제 해결](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Troubleshooting.html) - 포괄적인 CDN 문제 해결 가이드
+ [CloudFront 캐시 적중률 증가](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cache-hit-ratio.html) - 성능 최적화 지침
+ [AWS 리소스 모니터링](https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/monitor-aws-resources.html) - 성능 모니터링 모범 사례

# MediaTailor 및 CDN 통합 관련 문제 해결
<a name="cdn-troubleshooting"></a>

이 포괄적인 문제 해결 가이드에서는 서버 측 광고 삽입(SSAI), 채널 어셈블리 및 통합을 포함한 모든 AWS Elemental MediaTailor 구현에서 일반적인 콘텐츠 전송 네트워크(CDN) AWS Elemental MediaPackage 통합 문제를 다룹니다. CDN 및 MediaTailor 통합에 문제가 발생하면이 체계적인 진단 접근 방식을 사용하여 근본 원인을 신속하게 식별하고 검증된 솔루션을 구현합니다.

이 가이드는 특정 워크플로에 관계없이 모든 MediaTailor CDN 통합에 적용됩니다. 특정 서비스 또는 워크플로와 관련된 문제는이 가이드의 끝에 참조된 관련 문제 해결 섹션을 참조하세요.

**시작하기 전에:** 효율적인 문제 해결을 위해 다음 항목을 준비합니다.
+ 문제를 보여주는 샘플 재생 URLs 
+ 문제가 발생한 기간의 CDN 액세스 로그
+ MediaTailor 구성 이름 및 AWS 리전
+ 플레이어 유형 및 버전(예: HLS.js 1.4.0, Video.js 8.0)
+ 문제가 발생하는 디바이스 및 브라우저 정보

**관련 주제:**
+ 운영 설정 및 문제 해결 준비는 섹션을 참조하세요. [CDN 통합 문제 해결](#cdn-troubleshooting) 
+ 로그 분석 및 오류 코드 참조는 섹션을 참조하세요. [CDN 통합 로그 분석 참조](cdn-log-error-reference.md) 
+ 에스컬레이션 및 추가 도움말은 섹션을 참조하세요. [CDN 통합 지원 받기](cdn-get-help.md) 

# MediaTailor 및 CDN 통합을 위한 진단 체크리스트
<a name="quick-diagnostic-checklist"></a>

AWS Elemental MediaTailor 콘텐츠 전송 네트워크(CDN) 통합 문제는 다양한 방식으로 나타날 수 있습니다. 이 체크리스트를 사용하여 발생하는 문제 유형을 빠르게 식별할 수 있습니다.

1. **문제가 모든 최종 사용자 또는 특정 최종 사용자에게 영향을 미치나요?**
   + 모든 뷰어 → 가능한 CDN 또는 MediaTailor 구성 문제
   + 특정 뷰어 → 개인화 또는 타겟팅 문제일 가능성이 높음

1. **매니페스트가 올바르게 로드되고 있습니까?**
   + 아니요 → CDN 라우팅 또는 MediaTailor 연결 문제
   + 예, 하지만 잘못된 콘텐츠 → 캐싱 또는 개인화 문제

1. **세그먼트가 올바르게 로드되고 있습니까?**
   + 콘텐츠 세그먼트 실패 → 오리진 연결 문제
   + 광고 세그먼트 실패 → 광고 전송 또는 트랜스코딩 문제

1. **광고가 올바르게 삽입되고 있습니까?**
   + 광고가 표시되지 않음 → ADS 연결 및 구성 확인
   + 잘못된 광고 표시 → 광고 대상 지정 파라미터 및 개인화 확인
   + 광고 재생 실패 → 광고 트랜스코딩 및 세그먼트 가용성 확인

1. **재생이 원활하고 중단되지 않나요?**
   + 버퍼링 문제 → CDN 캐시 성능 및 오리진 응답 시간 확인
   + 재생 오류 → 매니페스트 구문 및 세그먼트 가용성 확인
   + 광고 전환 문제 → 광고 중단 타이밍 및 세그먼트 정렬 확인

1. **특정 오류 코드 또는 메시지가 있습니까?**
   + HTTP 4xx 오류 → CDN 라우팅 및 구성 확인
   + HTTP 5xx 오류 → 오리진 서버 및 MediaTailor 서비스 상태 확인
   + 플레이어별 오류 → 매니페스트 형식 및 플레이어 호환성 확인

**진단에 따른 다음 단계:**

CDN 구성 문제  
CDN 라우팅 및 캐싱 문제 해결에 대한 자세한 내용은 섹션을 참조하세요[MediaTailor 및 CDN 통합 관련 문제 해결](cdn-troubleshooting.md).

매니페스트 및 재생 문제  
매니페스트 검증 및 재생 문제 해결은 섹션을 참조하세요[CDN 통합 테스트 절차](cdn-testing-procedures.md).

광고 삽입 및 타겟팅 문제  
ADS 연결 및 광고 전송을 포함한 광고별 문제 해결은 워크플로별 문제 해결 설명서를 참조하세요.

성능 및 모니터링 문제  
성능 분석 및 모니터링 설정은 섹션을 참조하세요[MediaTailor CDN 작업 및 성능 모니터링](cdn-monitoring.md).

로그 분석 및 오류 코드  
자세한 로그 분석 및 오류 코드 참조는 섹션을 참조하세요[MediaTailor에 대한 CDN 통합 로그 분석 및 오류 코드 참조](cdn-log-error-reference.md).

테스트 및 검증  
포괄적인 테스트 절차는 섹션을 참조하세요[CDN 및 MediaTailor 통합 테스트 및 검증](cdn-integration-testing.md).

즉각적인 지원이 필요하거나 연결된 리소스를 사용하여 문제를 해결할 수 없는 경우 에스컬레이션 절차는 섹션을 참조[CDN 및 MediaTailor 통합에 대한 지원 및 문제 해결 도움말 받기](cdn-get-help.md)하세요.

# CDN 통합 테스트 절차
<a name="cdn-testing-procedures"></a>

MediaTailor CDN 통합을 프로덕션에 배포하기 전에 적절한 테스트가 필수적입니다. 이러한 테스트 절차는 다양한 디바이스 및 플랫폼에서 구성 문제, 성능 문제 및 호환성 문제를 식별하는 데 도움이 됩니다.

## 기본 통합 검증
<a name="basic-integration-testing"></a>

다음 기본 테스트를 수행하여 CDN 통합이 올바르게 작동하는지 확인합니다.

1. 매**니페스트 전송 테스트**:
   + CDN을 통해 매니페스트를 요청하고 유효한 응답을 반환하는지 확인합니다.
   + 매니페스트에 예상 콘텐츠와 광고 삽입 지점이 포함되어 있는지 확인합니다.
   + 매니페스트 URLs이 아닌 CDN 도메인을 사용하는지 확인
   + HLS 또는 DASH 검증 도구를 사용하여 매니페스트 구문 검증

1. **URL 재작성 확인**:
   + 매니페스트의 콘텐츠 세그먼트 URLs이 CDN 도메인을 가리키는지 확인
   + 광고 세그먼트 URLs CDN 도메인을 가리키는지 확인
   + 모든 관련 URLs 제대로 확인되었는지 확인

1. **콘텐츠 재생 테스트**:
   + 비디오 플레이어를 통해 콘텐츠 재생 및 원활한 재생 확인
   + 콘텐츠와 광고가 중단 없이 재생되는지 확인
   + 콘텐츠와 광고 간의 적절한 전환 확인
   + 탐색 및 스크러빙 기능 테스트

1. **CDN 라우팅 검증**:
   + CDN 액세스 로그를 모니터링하여 요청이 올바르게 라우팅되었는지 확인합니다.
   + 캐시 적중/누락 패턴이 예상대로인지 확인
   + 오리진 요청이 캐시 누락에 대해서만 발생하는지 확인

## 고급 테스트 절차
<a name="advanced-integration-testing"></a>

포괄적인 검증을 위해 다음 추가 테스트를 수행합니다.

1. **교차 플랫폼 호환성 테스트**:
   + 여러 디바이스(데스크톱, 모바일, 태블릿, 스마트 TV)에서 테스트
   + 여러 브라우저 간의 호환성 확인
   + 다양한 비디오 플레이어(HLS.js, Video.js, 네이티브 플레이어)로 테스트
   + 다양한 운영 체제에서 검증

1. **성능 테스트**:
   + 매니페스트 요청 응답 시간 측정(대상: 캐시된 경우 <100ms)
   + 다양한 비트 전송률에서 세그먼트 로드 성능 테스트
   + 시작 시간이 성능 목표를 충족하는지 확인
   + 다양한 네트워크 조건에서 테스트

1. **광고 추적 검증**:
   + 광고 추적 비컨이 올바르게 실행되는지 확인
   + 광고 분석 데이터의 정확성 확인
   + 노출 및 완료 추적 테스트
   + 클릭 기능 검증

1. **오류 조건 테스트**:
   + 오리진을 일시적으로 사용할 수 없는 경우 동작 테스트
   + 잘못된 형식의 요청에 대한 정상적인 처리 확인
   + CDN 장애 조치 시나리오 테스트
   + 오류 메시지의 명확성과 유용성 검증

## 테스트 환경 생성
<a name="test-environment-setup"></a>

포괄적인 검증을 위해 프로덕션 구성을 미러링하는 테스트 환경을 설정합니다.

1. 테스트를 위해 별도의 CDN 배포를 설정합니다.
   + 프로덕션과 동일한 캐시 동작으로 테스트 CDN 배포 생성
   + 프로덕션 설정을 미러링하는 테스트 오리진 구성
   + 별도의 도메인 이름을 사용하여 프로덕션 트래픽과의 충돌 방지

1. 테스트 MediaTailor 구성을 생성합니다.
   + 프로덕션과 동일한 설정으로 테스트 재생 구성 설정
   + 테스트 광고 결정 서버 엔드포인트 구성
   + 프로덕션 광고 형식과 일치하는 테스트 광고 콘텐츠 사용

1. 체계적인 테스트 프로세스를 구현합니다.
   + 구성 변경에 대한 테스트 체크리스트 생성
   + 팀의 테스트 절차 문서화
   + 가능한 경우 자동 테스트 설정

## 여러 시나리오에서 테스트
<a name="multi-scenario-testing"></a>

다양한 시나리오 및 조건에서 통합을 검증하여 포괄적인 적용 범위를 보장합니다.

1. 여러 플레이어 유형 및 디바이스로 테스트:
   + 다양한 비디오 플레이어(웹, 모바일, 연결된 TV)로 테스트
   + 다양한 운영 체제 및 브라우저에서 검증
   + 다양한 네트워크 조건 및 연결 속도에 대한 테스트

1. 자동 테스트 스크립트 생성:
   + 매니페스트 요청 검증 자동화
   + 스크립트를 생성하여 광고 삽입 시나리오 테스트
   + 트래픽이 많은 시나리오에 대한 성능 테스트 구현

1. 광고 타겟팅 및 개인화 검증:
   + 다양한 사용자 프로필 및 대상 지정 파라미터로 테스트
   + 광고 결정 서버 통합 검증
   + 광고를 사용할 수 없을 때 대체 시나리오 테스트

## 도구 및 기법 테스트
<a name="testing-tools-techniques"></a>

효과적인 테스트를 위해 다음 도구와 기법을 사용합니다.

브라우저 개발자 도구  
네트워크 탭을 사용하여 HTTP 요청 및 응답 검사  
콘솔에서 JavaScript 오류 및 경고 모니터링  
응답 헤더 및 캐싱 동작 확인  
성능 분석을 위한 타이밍 정보 확인

명령줄 테스트  
curl을 사용하여 특정 URLs 테스트하고 헤더를 검사합니다.  

```
curl -I "https://your-cdn-domain.com/path/to/manifest.m3u8"
```
테스트 및 타이밍 분석 다운로드에 wget 사용  
보다 읽기 쉬운 HTTP 테스트를 위해 httpie와 같은 도구 사용

비디오 플레이어 테스트  
여러 플레이어 구현으로 테스트  
플레이어 디버그 모드를 사용하여 내부 동작 검사  
플레이어 이벤트 및 오류 콜백 모니터링  
적응형 비트 전송률 전환 동작 검증

CDN 분석 및 모니터링  
테스트 중 실시간 CDN 지표 모니터링  
요청 패턴에 대한 액세스 로그 검토  
사용 가능한 경우 CDN별 테스트 도구 사용  
테스트 검증을 위한 임시 알림 설정

추가적인 포괄적인 테스트 방법론 및 체계적인 검증 접근 방식은 섹션을 참조하세요[CDN 및 MediaTailor 통합 테스트 및 검증](cdn-integration-testing.md).

# MediaTailor의 CDN 매니페스트 404 오류 문제 해결
<a name="common-integration-issues"></a>

AWS Elemental MediaTailor 콘텐츠 전송 네트워크(CDN) 매니페스트 404 오류는 재생을 시작하지 못하게 하는 일반적인 통합 문제입니다. 이 섹션에서는 매니페스트 전송 실패에 대한 step-by-step 문제 해결을 제공합니다.

다변량 재생 목록, 미디어 재생 목록 또는 MPD 요청은 404 오류를 반환합니다.  
**빠른 수정(먼저 시도):**  

1. URL의 MediaTailor 구성 이름이 정확히 일치하는지 확인(대/소문자 구분)

1. CDN이 없는 MediaTailor에 대해 매니페스트 URL을 직접 테스트합니다. `curl -v "https://your-emt-endpoint.mediatailor.region.amazonaws.com/v1/master/hls/config-name/master.m3u8"` 

1. 직접 테스트가 작동하는 경우 매니페스트 요청에 대한 CDN 라우팅 규칙 확인
**빠른 수정이 작동하지 않는 경우:**  
**증상:** 플레이어가 재생을 시작하지 못하고 매니페스트 요청이 CDN 로그에 HTTP 404 오류를 반환합니다.  
**오류 메시지의 예:**  
+ 브라우저 콘솔: `"Failed to load resource: the server responded with a status of 404 (Not Found)"`
+ 플레이어 오류: `"MANIFEST_LOAD_ERROR"` 또는 `"NETWORK_ERROR"`
+ CDN 로그: `GET /v1/master/hls/example-config/master.m3u8 404`
**​해결 방법:**  
CDN 라우팅 규칙이 다변량 재생 목록, 미디어 재생 목록 및 MPD 요청을 MediaTailor로 전달하도록 올바르게 구성되어 있는지 확인합니다.  
MediaTailor 구성이 존재하고 올바르게 설정되었는지 확인합니다.  
CDN 동작 패턴이 예상 매니페스트 요청 경로(예: , `*.m3u8``*.mpd`)와 일치하는지 확인합니다.

# MediaTailor에 대한 CDN 매니페스트 전송 문제 및 오류 진단
<a name="diagnose-manifest-issues"></a>

AWS Elemental MediaTailor 콘텐츠 전송 네트워크(CDN) 매니페스트 전송 문제는 적절한 광고 삽입 및 재생을 방해할 수 있습니다. 최종 사용자가 다변량 재생 목록, 미디어 재생 목록 또는 MPDs에서 잘못되거나 일관되지 않은 광고를 수신하는 경우:

1. 캐시된 매니페스트 확인:
   + 모든 다변량 재생 목록, 미디어 재생 목록 및 MPD 경로에 대해 TTL 설정이 0으로 설정되어 있는지 확인
   + TTL 설정에도 불구하고 CDN이 다변량 재생 목록, 미디어 재생 목록 또는 MPDs를 캐싱하지 않는지 확인
   + CDN 로그에서 캐시 상태 확인 - 매니페스트 요청은 `Miss` 또는를 표시해야 하며 `RefreshHit` `Hit`

1. CDN 라우팅 구성을 확인합니다.
   + 매니페스트 요청이 오리진에서 캐싱되거나 제공되지 않고 MediaTailor 엔드포인트로 라우팅되고 있는지 확인
   + CDN 동작 패턴이 매니페스트 경로(\$1.m3u8, \$1.mpd)와 올바르게 일치하는지 확인합니다.
   + 쿼리 파라미터가 개인화를 위해 MediaTailor로 전달되고 있는지 확인
   + MediaTailor에 대해 매니페스트 URLs 직접 테스트하여 CDN과 서비스 문제를 격리합니다.

1. 헤더 전달 구성을 확인합니다.
   + 필요한 헤더가 전달되고 있는지 확인( 참조[MediaTailor CDN 통합에 필요한 헤더](cdn-configuration.md#cdn-required-headers))
   + 디바이스별 광고 타겟팅을 위해 사용자 에이전트 헤더가 전달되었는지 확인
   + 지리 대상 지정을 위해 X-Forwarded-For 헤더가 전달되었는지 확인
   + 압축 지원을 위해 Accept-Encoding 헤더가 전달되었는지 확인

1. 매니페스트 콘텐츠 및 구조를 검증합니다.
   + 매니페스트에 예상 광고 삽입 마커가 포함되어 있는지 확인(HLS의 경우EXT-X-CUE-OUT/IN)
   + 매니페스트의 세그먼트 URLs 오리진 도메인이 아닌 CDN 도메인을 사용하는지 확인
   + 광고 세그먼트가 제대로 삽입되고 액세스 가능한지 확인
   + 검증 도구를 사용하여 매니페스트 구문 테스트(HLS의 경우ffprobe, DASH의 경우 mp4box)

1. 다양한 시나리오를 테스트합니다.
   + 다른 세션 IDs로 테스트하여 개인 맞춤이 작동하는지 확인
   + 다양한 지리적 위치에서 테스트하여 지리적 대상 확인
   + 다양한 User-Agent 문자열로 테스트하여 디바이스 대상 확인
   + CDN이 있는 매니페스트 응답과 없는 매니페스트 응답을 비교하여 차이점 식별

**추가 문제 해결 리소스:**
+ 자세한 CDN 캐싱 구성은 섹션을 참조하세요. [CDN 및 MediaTailor 통합을 위한 캐싱 최적화](cdn-optimize-caching.md) 
+ 포괄적인 CDN 라우팅 설정은 섹션을 참조하세요. [MediaTailor에 대한 CDN 라우팅 동작 설정](cdn-routing-behaviors.md) 
+ 헤더 전달 요구 사항은 섹션을 참조하세요. [MediaTailor CDN 통합에 필요한 헤더](cdn-configuration.md#cdn-required-headers) 
+ 로그 분석 및 오류 코드는 섹션을 참조하세요. [MediaTailor에 대한 CDN 통합 로그 분석 및 오류 코드 참조](cdn-log-error-reference.md) 
+ 테스트 절차 및 검증은 섹션을 참조하세요. [CDN 및 MediaTailor 통합 테스트 및 검증](cdn-integration-testing.md) 

**성공 기준:** 해결되면 플레이어가 정상적으로 재생을 시작하고 광고가 예상대로 표시되어야 합니다. 매니페스트 요청은 CDN 로그에 HTTP 200 상태 코드를 반환해야 하며 매니페스트에는 적절하게 개인화된 광고 콘텐츠가 포함되어야 합니다.

# MediaTailor의 CDN 세그먼트 전송 및 로드 문제 해결
<a name="diagnose-segment-issues"></a>

AWS Elemental MediaTailor 콘텐츠 전송 네트워크(CDN) 세그먼트 전송 문제로 인해 버퍼링 및 재생이 중단될 수 있습니다. 플레이어가 세그먼트를 로드하거나 버퍼링을 경험할 수 없는 경우:

1. CDN 라우팅 규칙 확인:
   + 콘텐츠 세그먼트가 올바른 오리진으로 라우팅되고 있는지 확인
   + 광고 세그먼트가 올바른 MediaTailor 광고 스토리지 위치로 라우팅되고 있는지 확인
   + 세그먼트 파일 확장명이 CDN 동작 패턴과 일치하는지 확인
   + 매니페스트URLs이 올바른 CDN 도메인을 사용하는지 확인
   + 라우팅 및 동작 경로 패턴 설정에 대한 자세한 지침은 섹션을 참조하세요. [MediaTailor에 대한 CDN 라우팅 동작 설정](cdn-routing-behaviors.md) 

1. CORS 구성 확인:
   + 웹 플레이어의 경우 CDN이 CORS 헤더를 통과하거나 올바르게 설정되었는지 확인합니다.
   + 브라우저 개발자 도구를 사용하여 테스트하여 CORS 관련 오류 식별
   + preflight OPTIONS 요청이 올바르게 처리되었는지 확인

1. 세그먼트 접근성 및 성능 테스트:
   + 개별 세그먼트 URLs 직접 테스트하여 액세스할 수 있는지 확인
   + 세그먼트 응답 시간 확인 및 성능 병목 현상 식별
   + 세그먼트 파일 크기가 대역폭 대상에 적합한지 확인
   + 서로 다른 지리적 위치에서 세그먼트 로드 테스트

1. 세그먼트에 대한 CDN 캐싱 동작을 검증합니다.
   + 콘텐츠 세그먼트에 적절한 TTL 설정이 있는지 확인(일반적으로 매니페스트보다 김)
   + 광고 세그먼트가 개인화 요구 사항에 따라 적절하게 캐시되었는지 확인
   + 콘텐츠 및 광고 세그먼트 모두에 대한 캐시 적중률 모니터링
   + 캐시 키에 캐시 효율성을 줄이는 불필요한 파라미터가 포함되어 있지 않은지 확인합니다.

1. 오리진 서버 연결 및 상태 확인:
   + 오리진 서버가 세그먼트 요청에 올바르게 응답하는지 확인
   + 로드 중인 오리진 서버 용량 및 응답 시간 확인
   + 오리진 서버에 사용 가능한 예상 세그먼트 파일이 있는지 확인
   + 여러 오리진이 구성된 경우 오리진 장애 조치 시나리오 테스트

1. 광고 세그먼트별 문제 해결:
   + MediaTailor에서 광고 세그먼트가 제대로 트랜스코딩되고 사용 가능한지 확인
   + 매니페스트에서 광고 세그먼트 URLs 올바르게 생성되었는지 확인
   + 다양한 광고 대상 지정 파라미터로 광고 세그먼트 로드 테스트
   + 세그먼트를 사용할 수 없게 만들 수 있는 광고 트랜스코딩 지연 모니터링

1. 플레이어 호환성 및 동작을 검증합니다.
   + 다양한 플레이어 유형 및 버전으로 세그먼트 로드 테스트
   + 플레이어 버퍼 설정 및 세그먼트 요청 패턴 확인
   + 실패한 세그먼트 요청에 대한 플레이어 오류 처리 확인
   + 적응형 비트 전송률 전환 및 세그먼트 선택 로직 테스트

**추가 문제 해결 리소스:**
+ CDN 라우팅 및 동작 구성은 섹션을 참조하세요. [MediaTailor에 대한 CDN 라우팅 동작 설정](cdn-routing-behaviors.md) 
+ CDN 캐싱 최적화는 섹션을 참조하세요. [CDN 및 MediaTailor 통합을 위한 캐싱 최적화](cdn-optimize-caching.md) 
+ CORS 구성 지침은 섹션을 참조하세요. [MediaTailor에 대한 CDN 통합 보안 모범 사례](cdn-security-best-practices.md) 
+ 성능 모니터링 및 분석은 섹션을 참조하세요. [MediaTailor CDN 작업 및 성능 모니터링](cdn-monitoring.md) 
+ 포괄적인 테스트 절차는 섹션을 참조하세요. [CDN 및 MediaTailor 통합 테스트 및 검증](cdn-integration-testing.md) 
+ 로그 분석 및 오류 진단은 섹션을 참조하세요. [MediaTailor에 대한 CDN 통합 로그 분석 및 오류 코드 참조](cdn-log-error-reference.md) 

**성공 기준:** 해결되면 플레이어는 버퍼링 중단 없이 세그먼트를 원활하게 로드해야 합니다. 세그먼트 요청은 적절한 응답 시간과 함께 HTTP 200 상태 코드를 반환해야 하며 콘텐츠 및 광고 세그먼트 모두에 액세스하고 적절하게 캐싱해야 합니다.

# MediaTailor에 대한 CDN 세션 관리 및 추적 문제 해결
<a name="diagnose-session-issues"></a>

AWS Elemental MediaTailor 콘텐츠 전송 네트워크(CDN) 세션 관리는 적절한 광고 개인화 및 추적에 매우 중요합니다. 요청 간에 세션 관련 오류 또는 일관되지 않은 동작이 발생하는 경우:

1. 세션 ID 일관성을 확인합니다.
   + 플레이어가 단일 재생 세션에 대한 모든 요청에서 동일한 세션 ID를 유지하는지 확인
   + CDN 로그를 확인하여 세션 IDs 올바르게 전달되고 있는지 확인합니다.
   + 쿼리 파라미터에서 세션 IDs 제대로 URL 인코딩되었는지 확인
   + CloudWatch Logs를 사용하여 요청 간 세션 ID 일관성을 확인합니다(아래 검증 단계 참조).

1. 세션 초기화 검증:
   + 첫 번째 매니페스트 요청이 세션을 성공적으로 생성하는지 확인
   + 적절한 세션 파라미터 전달 확인(예: `aws.sessionId`)
   + 디버그 로그를 사용하여 세션 초기화 확인(아래 디버그 로그 설정 참조)

1. 자세한 세션 문제 해결을 위해 디버그 로깅을 활성화합니다.
   + **서버 측 보고의 경우:** 재생 요청에 `?aws.logMode=DEBUG` 추가:

     ```
     GET <mediatailorURL>/v1/master/<hashed-account-id>/<origin-id>/<asset-id>?aws.logMode=DEBUG
     ```
   + **클라이언트 측 보고의 경우:** 세션 초기화 요청 본문`"logMode": "DEBUG"`에 포함
   + **중요:** `DEBUG` 값은 대/소문자를 구분합니다.
   + 동시에 허용되는 최대 10개의 활성 디버그 세션

1. CloudWatch Logs 쿼리를 사용하여 세션 동작을 검증합니다.
   + **디버그 세션이 활성 상태인지 확인합니다.**

     ```
     fields @timestamp, @message
     | filter sessionId = "your-session-id-here"
     | filter eventType = "SESSION_INITIALIZED" # client-side reporting
     or mediaTailorPath like "/v1/master" # server-side reporting HLS
     or mediaTailorPath like "/v1/dash" # server-side reporting DASH
     ```
   + **세션의 모든 이벤트 보기:**

     ```
     fields @timestamp, @message, eventType, mediaTailorPath
     | filter sessionId = "your-session-id-here"
     | sort @timestamp asc
     ```
   + **세션의 매니페스트 생성을 확인합니다.**

     ```
     fields @timestamp, responseBody, @message
     | filter mediaTailorPath like "/v1/master/" and eventType = "GENERATED_MANIFEST" and sessionId = "your-session-id-here"
     ```

1. CDN을 통한 세션 파라미터 전달 테스트:
   + MediaTailor에 직접 세션 파라미터를 사용하여 매니페스트 요청 테스트(CDN 우회)
   + CDN이 있는 세션 동작과 없는 세션 동작을 비교하여 전달 문제 식별
   + CDN 쿼리 파라미터 전달 구성에 세션 관련 파라미터가 포함되어 있는지 확인
   + CDN이 세션별 응답을 캐싱하지 않는지 확인

**일반적인 세션 오류 메시지:**
+ `ConflictException` (HTTP 409) - 동일한 세션에 대한 여러 동시 재생 목록 요청입니다. **해결 방법:** 플레이어가 HLS 사양에 따라 한 번에 하나씩 재생 목록을 요청하는지 확인합니다.
+ `NotFoundException` (HTTP 404) - 세션을 사용할 수 없거나 구성이 존재하지 않습니다. **해결 방법:** 구성 유효성을 확인하고 세션을 다시 초기화합니다.
+ `BadRequestException` (HTTP 400) - 잘못된 세션 ID 또는 잘못된 형식의 요청입니다. **해결 방법:** 요청 형식 및 세션 ID 유효성 확인

**추가 문제 해결 리소스:**
+ 전체 디버그 로깅 설정 및 필드 참조는 섹션을 참조하세요. [AWS Elemental MediaTailor 디버그 로그 생성](debug-log-mode.md) 
+ CloudWatch Logs 쿼리 예제 및 로그 분석은 섹션을 참조하세요. [Amazon CloudWatch Logs에 직접 AWS Elemental MediaTailor 로그 작성](monitoring-cw-logs.md) 
+ CDN 쿼리 파라미터 전달 구성은 섹션을 참조하세요. [MediaTailor에 대한 CDN 라우팅 동작 설정](cdn-routing-behaviors.md) 
+ 포괄적인 오류 코드 참조는 섹션을 참조하세요. [MediaTailor에서 재생 문제 해결](playback-errors.md) 

**성공 기준:** 해결되면 세션이 올바르게 초기화되고, 요청 간에 일관된 세션 IDs 유지하며, 디버그 로그에 오류 없이 적절한 `SESSION_INITIALIZED` 이벤트와 매니페스트 생성이 표시되어야 합니다.

# MediaTailor의 CDN 광고 중단 타이밍 및 동기화 문제 해결
<a name="diagnose-timing-issues"></a>

AWS Elemental MediaTailor 콘텐츠 전송 네트워크(CDN) 광고 중단 타이밍은 콘텐츠 마커와 정확하게 동기화되어야 합니다. 광고가 잘못된 시간에 나타나거나 광고 중단 시간이 일치하지 않는 경우:

1. 콘텐츠에서 광고 중단 마커를 확인합니다.
   + SCTE-35 마커가 오리진 콘텐츠에 올바르게 배치되었는지 확인
   + 광고 중단 기간이 실제 광고 콘텐츠 길이와 일치하는지 확인
   + 광고 시간 타이밍이 콘텐츠 경계와 일치하는지 확인
   + 오리진 매니페스트에서 SCTE-35 마커 형식 및 타이밍 정확도 검증
   + 다양한 콘텐츠 유형(라이브 대 VOD)으로 광고 중단 마커 테스트

1. CDN 캐싱이 타이밍에 미치는 영향을 확인합니다.
   + 타이밍 드리프트를 방지하려면 매니페스트 TTL이 0으로 설정되어 있는지 확인합니다.
   + 시간에 민감한 파라미터가 캐시되지 않는지 확인
   + 콘텐츠 소스, MediaTailor 및 CDN 간의 클럭 동기화 문제 확인
   + 장기 실행 라이브 스트림의 타이밍 드리프트 모니터링
   + NTP와 CDN 엣지 서버 시간 동기화 확인

1. SCTE-35 마커 구현 검증:
   + EXT-X-DATERANGE 태그에 적절한 SCTE35-OUT 및 DURATION 사양이 포함되어 있는지 확인
   + 명시적 큐인 타이밍을 사용할 때 페어링된 SCTE35-OUT 및 SCTE35-IN 마커 확인
   + START-DATE 타임스탬프가 실제 콘텐츠 타이밍과 일치하는지 확인
   + 다양한 SCTE-35 마커 형식 테스트(기간 기반 마커와 페어링된 마커)

1. 다양한 시나리오에서 광고 중단 타이밍을 테스트합니다.
   + 광고 중단 타이밍을 직접 MediaTailor 요청과 CDN 요청 비교
   + 다양한 CDN 엣지 로케이션에서 타이밍 일관성 테스트
   + 다양한 플레이어 유형 및 버퍼링 동작으로 광고 중단 타이밍 확인
   + 트래픽이 가장 많은 기간 동안 타이밍 정확도 모니터링

1. 로그 및 모니터링을 사용하여 타이밍 문제를 디버깅합니다.
   + 디버그 로깅을 활성화하여 광고 중단 처리 타이밍 추적
   + CloudWatch 지표에서 광고 삽입 타이밍 패턴 모니터링
   + CDN 로그에서 타이밍 관련 요청 패턴 확인
   + 플레이어 디버깅 도구를 사용하여 클라이언트 관점에서 광고 중단 타이밍 확인

**예상 타이밍 허용치:**
+ 광고 중단 타이밍은 콘텐츠의 SCTE-35 마커와 일치해야 합니다.
+ 광고 기간은 광고 결정 서버 응답에 지정된 기간과 일치해야 합니다.
+ 콘텐츠 소스, MediaTailor 및 CDN 간의 클록 동기화는 1초 이내여야 합니다.
+ SCTE-35 마커 타이밍은 실제 콘텐츠 타이밍의 100ms 이내로 정확해야 합니다.

**추가 문제 해결 리소스:**
+ SCTE-35 마커 형식 및 구현은 섹션을 참조하세요. [MediaTailor 광고 삽입을 위한 콘텐츠 소스 통합](integrating-origin.md) 
+ 디버그 로깅 설정 및 타이밍 분석은 섹션을 참조하세요. [AWS Elemental MediaTailor 디버그 로그 생성](debug-log-mode.md) 
+ CDN 캐싱 구성 및 타이밍 영향은 섹션을 참조하세요. [CDN 및 MediaTailor 통합을 위한 캐싱 최적화](cdn-optimize-caching.md) 
+ 타이밍 검증을 포함한 포괄적인 테스트 절차는 섹션을 참조하세요. [CDN 및 MediaTailor 통합 테스트 및 검증](cdn-integration-testing.md) 
+ 광고 삽입 타이밍 및 성능 모니터링은 섹션을 참조하세요. [MediaTailor CDN 작업 및 성능 모니터링](cdn-monitoring.md) 

**성공 기준:** 해결되면 모든 CDN 엣지 로케이션 및 플레이어 유형에서 일관된 타이밍으로 SCTE-35 마커에 지정된 시간에 광고 시간이 정확하게 표시되어야 합니다. 디버그 로그에는 드리프트 또는 동기화 오류 없이 정확한 광고 중단 처리 타이밍이 표시되어야 합니다.

# MediaTailor의 CDN 성능 최적화 및 지연 시간 문제 해결
<a name="diagnose-performance-issues"></a>

AWS Elemental MediaTailor 콘텐츠 전송 네트워크(CDN) 통합 성능은 최종 사용자 경험과 광고 전송 품질에 직접적인 영향을 미칩니다. 응답 시간이 느리거나 성능이 저하되는 경우:

## 성능 측정 기법
<a name="performance-measurement-techniques"></a>

성능 문제를 해결하기 전에 기준 측정 및 지속적인 모니터링을 설정합니다.

1. 주요 성능 지표 측정:
   + **응답 시간:** 매니페스트 요청은 200ms 이내에 완료되고, 세그먼트 요청은 100ms 이내에 완료되어야 합니다.
   + **캐시 적중률:** 콘텐츠 세그먼트 >95%, 광고 세그먼트 >90%
   + **오리진 요청 볼륨:** 캐시가 최적화될 때 총 요청의 5% 미만이어야 합니다.
   + **첫 번째 프레임까지의 시간:** 초기 재생이 2\$13초 이내에 시작되어야 합니다.

1. 성능 측정 도구를 사용합니다.
   + **CDN 분석 대시보드:** 캐시 성능, 응답 시간 및 오류율 모니터링
   + **CloudWatch 지표:** GetManifest.Latency를 포함한 MediaTailor 서비스 지표 추적
   + **브라우저 개발자 도구:** 클라이언트 측 성능 및 네트워크 타이밍 측정
   + **명령줄 도구:** 타이밍 옵션과 함께 curl을 사용하여 특정 요청 측정

1. 지속적인 모니터링 구현:
   + 응답 시간 저하에 대한 자동 성능 알림 설정
   + 다양한 지리적 리전에서 성능 모니터링
   + 트래픽이 가장 많은 기간 동안 성능 추적
   + 구성 변경 전후의 성능 지표 비교

**성능 측정 리소스:**
+ 포괄적인 성능 모니터링 설정은 섹션을 참조하세요. [MediaTailor CDN 작업 및 성능 모니터링](cdn-monitoring.md) 
+ 성능 테스트 절차는 섹션을 참조하세요. [CDN 및 MediaTailor 통합 테스트 및 검증](cdn-integration-testing.md) 
+ CloudWatch 지표 및 모니터링은 섹션을 참조하세요. [Amazon CloudWatch 지표 AWS Elemental MediaTailor 를 사용한 모니터링](monitoring-cloudwatch-metrics.md) 

## CDN 캐시 성능 문제
<a name="cache-performance-troubleshooting"></a>

캐시 성능 문제는 가장 일반적인 CDN 통합 문제 중 하나입니다. 이러한 문제는 모든 MediaTailor 구현에 영향을 미치며 최종 사용자 경험과 비용에 상당한 영향을 미칠 수 있습니다.

**낮은 캐시 적중률**  
**증상**: 오리진 요청 볼륨 높음, 지연 시간 증가, 대역폭 비용 증가, 시청자 경험 저하  
**대상 값**:  
+ 콘텐츠 세그먼트: 캐시 적중률 95% 이상
+ 광고 세그먼트: 캐시 적중률 90% 이상
+ 매니페스트: 구현에 따라 다름(개인화된 매니페스트는 캐시해서는 안 됨)
**일반적인 원인:**  
+ 다양한 콘텐츠 유형에 대한 잘못된 TTL 설정
+ 캐시 키 구성에 불필요한 쿼리 파라미터 포함
+ 오리진의 캐시 제어 헤더가 제대로 구성되지 않음
+ 빈번한 캐시 무효화 또는 제거
+ 지리적 배포 문제(엣지 로케이션에 캐싱되지 않은 콘텐츠)
**솔루션:**  

1. TTL 설정을 검토하고 최적화합니다.
   + 콘텐츠 세그먼트: 세그먼트 기간 이상과 일치하도록 TTL 설정
   + 광고 세그먼트: 재사용 가능한 광고의 경우 TTL을 24시간 이상으로 설정
   + 정적 자산: TTL을 24시간 이상으로 설정

   포괄적인 TTL 권장 사항 및 캐싱 최적화 전략은 섹션을 참조하세요[CDN 및 MediaTailor 통합을 위한 캐싱 최적화](cdn-optimize-caching.md).

1. 캐시 키 구성 최적화:
   + 캐시 키에서 불필요한 쿼리 파라미터 제거
   + 콘텐츠에 영향을 미치는 파라미터만 포함되도록 합니다.
   + 파라미터 순서 및 대/소문자 구분 정규화

1. 오리진 캐시 제어 헤더가 올바르게 설정되었는지 확인

1. 트래픽이 많은 구현을 위해 오리진 실드(또는 이에 상응하는 CDN 기능)를 구현합니다. 오리진 실드 기능은 주요 CDNs에서 사용할 수 있지만 이름이 다를 수 있습니다(예: CloudFront Origin Shield, Fastly Shield, Cloudflare Argo 계층형 캐시). CDN에서이 기능을 제공하지 않는 경우 [AWS Support](https://aws.amazon.com/premiumsupport/)에 문의할 때 MediaTailor에서 활성화할 수 있습니다.

1. 캐시 무효화 전략 검토 및 불필요한 제거 감소
**검증 단계**:  

1. CDN 분석 대시보드를 사용하여 캐시 적중률 모니터링

1. curl을 사용하여 특정 URLs을 테스트하여 캐시 헤더 확인

1. 변경 전후의 오리진 요청 볼륨 비교

**높은 오리진 요청 볼륨**  
**증상**: MediaTailor 오리진에 도달하는 요청 수가 예기치 않게 많음, 오리진 서버 로드 증가, 비용 증가  
**예상 패턴**: 캐시 적중률이 최적일 때 오리진 요청은 총 최종 사용자 요청의 5% 미만이어야 합니다.  
**일반적인 원인:**  
+ 낮은 TTL 값으로 인한 캐시 누락
+ 캐시 키 조각화(고유 캐시 키가 너무 많음)
+ 캐싱된 콘텐츠가 없는 리전의 지리적 트래픽 급증
+ 빈번한 캐시 무효화
**솔루션:**  

1. 요청 패턴을 분석하여 캐시 누락 원인 식별

1. 콘텐츠 유형 및 업데이트 빈도에 따라 TTL 설정 최적화

1. 새 콘텐츠에 대한 캐시 워밍 전략 구현

1. 오CDNs에서 사용 가능 - [Origin Shield 구현](cdn-advanced-optimization.md#origin-shield-optimization) 자세한 내용은 참조)
**알림 임계값**: 오리진 요청이 총 요청의 10%를 초과하거나 기준보다 50% 증가할 때 알림을 설정합니다.

## 일반적인 HTTP 오류 해결
<a name="http-error-troubleshooting"></a>

CDN 통합의 HTTP 오류는 구성 문제 또는 서비스 문제를 나타내는 경우가 많습니다. 이러한 오류 패턴은 모든 MediaTailor 구현에서 일관됩니다.

**404 찾을 수 없음 오류**  
**증상**: 매니페스트 또는 세그먼트 요청은 HTTP 404를 반환하고, 플레이어는 콘텐츠를 로드하지 못합니다. 플레이어 로그에서 "MANIFEST\$1LOAD\$1ERROR"  
**일반적인 원인:**  
+ 잘못된 CDN 오리진 구성(잘못된 MediaTailor 엔드포인트 URL)
+ 누락되거나 잘못된 캐시 동작 경로 패턴
+ CDN 구성의 URL 재작성 문제
+ MediaTailor 구성 이름 또는 재생 엔드포인트 오류
+ 라이브 콘텐츠의 타이밍 문제(향후 세그먼트 요청)
**진단 단계:**  

1. MediaTailor 오리진에 대해 직접 동일한 URL 테스트(CDN 우회)

1. CDN 오리진 구성이 MediaTailor 재생 엔드포인트와 일치하는지 확인

1. CDN 캐시 동작 경로 패턴 및 우선 순위 확인

1. CDN 액세스 로그에서 요청 라우팅 세부 정보 검토

1. MediaTailor 구성 이름 및 리전 설정 검증
**솔루션:**  
+ MediaTailor 재생 엔드포인트와 일치하도록 CDN 오리진 구성 수정
+ 캐시 동작 경로 패턴을 업데이트하여 요청을 올바르게 라우팅합니다.
+ 해당하는 경우 URL 재작성 규칙 수정
+ MediaTailor 구성이 존재하고 활성 상태인지 확인

**403 금지 오류**  
**증상**: 요청은 HTTP 403, 액세스 거부 메시지, 인증 실패를 반환합니다.  
**일반적인 원인:**  
+ MediaTailor에 필요한 쿼리 파라미터가 누락되었거나 잘못되었습니다.
+ CDN이 필수 헤더 또는 파라미터를 전달하지 않음
+ IP 주소 제한 또는 지리적 차단
+ 인증 토큰 문제(서명URLs을 사용하는 경우)
**솔루션:**  
+ 모든 필수 쿼리 파라미터가 포함되고 전달되었는지 확인
+ CDN 구성에서 헤더 및 파라미터 전달 확인
+ IP 제한 및 지리적 설정 검토
+ 인증 토큰 및 서명 프로세스 검증

**400 잘못된 요청 오류**  
**증상**: 요청에서 HTTP 400 반환, 잘못된 요청 오류, 파라미터 검증 실패  
**일반적인 원인:**  
+ 잘못된 쿼리 파라미터 또는 URL 인코딩 문제
+ 잘못된 파라미터 값 또는 형식
+ 특정 MediaTailor 기능에 필요한 파라미터 누락
+ URL 길이 제한 초과
**솔루션:**  
+ 쿼리 파라미터 형식 및 URL 인코딩 검증
+ MediaTailor API 요구 사항과 비교하여 파라미터 값 확인
+ 모든 필수 파라미터가 포함되어 있는지 확인합니다.
+ URL 길이 검토 및 파라미터 최적화 고려

**5xx 서버 오류**  
**증상**: 요청에서 HTTP 500, 502, 503 또는 504 오류, 간헐적인 서비스 장애 반환  
**일반적인 원인:**  
+ MediaTailor 서비스 문제 또는 용량 제한
+ CDN 오리진 연결 문제
+ 느린 오리진 응답으로 인한 제한 시간 문제
+ 임시 서비스 성능 저하
**솔루션:**  
+  AWS 서비스 상태 대시보드에서 MediaTailor 서비스 상태 확인
+ CDN 오리진 연결 및 제한 시간 설정 확인
+ 지수 백오프를 사용하여 재시도 로직 구현
+ MediaTailor CloudWatch 지표의 서비스 상태 모니터링
+ 문제가 지속되면 AWS Support에 문의하세요.

1. 기준 성능 측정:
   + MediaTailor에 직접 매니페스트 요청 응답 시간 테스트(대상: <200ms)
   + 매니페스트 요청에 대한 CDN 응답 시간 측정(대상: 캐시 적중의 경우 <100ms)
   + 오리진과 CDN 모두에서 세그먼트 로드 시간 확인

1. CDN 성능 분석:
   + 콘텐츠 세그먼트의 캐시 적중률 확인(대상: 인기 콘텐츠의 경우 >80%)
   + 오리진 실드(또는 이에 상응하는 CDN 기능)가 오리진과 동일한 AWS 리전에서 활성화되고 구성되어 있는지 확인합니다. 이 기능에는 서로 다른 CDNs이 서로 다른 이름을 사용합니다.
   + CDN 엣지 로케이션 성능 및 지리적 분포 모니터링

**성능 벤치마크:**
+ 매니페스트 생성 응답 시간을 모니터링하고 기준 성능과 비교
+ CDN 캐시 적중이 오리진 요청보다 훨씬 빠름
+ ADS 응답 시간으로 인해 매니페스트 생성이 지연되어서는 안 됩니다.

**추가 문제 해결 리소스:**
+ 포괄적인 성능 최적화 전략은 섹션을 참조하세요. [CDN 및 MediaTailor 통합을 위한 성능 최적화 가이드](cdn-optimization.md) 
+ 오리진 실드 구현 세부 정보는 섹션을 참조하세요. [Origin Shield 구현](cdn-advanced-optimization.md#origin-shield-optimization) 
+ CDN 캐싱 최적화는 섹션을 참조하세요. [CDN 및 MediaTailor 통합을 위한 캐싱 최적화](cdn-optimize-caching.md) 
+ 성능 모니터링 및 지표는 섹션을 참조하세요. [MediaTailor CDN 작업 및 성능 모니터링](cdn-monitoring.md) 
+ 성능 테스트 절차는 섹션을 참조하세요. [CDN 및 MediaTailor 통합 테스트 및 검증](cdn-integration-testing.md) 

**성공 기준:** 해결되면 응답 시간은 대상 벤치마크(매니페스트 200ms 미만, 세그먼트 100ms 미만)를 충족해야 하고, 캐시 적중률은 대부분의 콘텐츠 유형에 대해 90%를 초과해야 하며, 오리진 요청 볼륨은 총 요청의 5% 미만이어야 합니다. 성능은 모든 지리적 리전 및 디바이스 유형에서 일관되어야 합니다.

# MediaTailor의 디바이스 및 플랫폼 간 CDN 불일치 동작 수정
<a name="resolve-inconsistent-behavior"></a>

AWS Elemental MediaTailor 콘텐츠 전송 네트워크(CDN) 통합은 모든 디바이스 및 플랫폼에서 일관된 광고 전송을 제공해야 합니다. 디바이스 간에 광고가 다르게 동작하는 경우:

1. 모든 CDN 동작에서 일관된 헤더 전달을 보장합니다.
   + User-Agent, X-Forwarded-For 및 사용자 지정 대상 지정 헤더가 일관되게 전달되는지 확인
   + 헤더 전달 규칙이 모든 관련 캐시 동작에 적용되는지 확인

1. 플레이어와 CDN 구성의 호환성을 확인합니다.
   + 여러 플레이어 유형(HLS.js, Video.js, 네이티브 플레이어)으로 테스트하여 플레이어별 문제 식별
   + 플레이어별 헤더 요구 사항 또는 URL 처리 차이점 확인

1. 여러 디바이스 유형으로 테스트하여 디바이스별 문제를 식별합니다.
   + 테스트에 모바일 디바이스, 태블릿, 스마트 TVs 및 데스크톱 브라우저 포함
   + 다양한 운영 체제 및 브라우저 버전 테스트
   + 디바이스별 광고 타겟팅이 올바르게 작동하는지 확인

이러한 문제 해결 단계를 따랐지만 여전히 도움이 필요한 경우 섹션을 참조하세요[CDN 통합 지원 받기](cdn-get-help.md).

## 문제 해결 준비
<a name="troubleshooting-preparation"></a>

CDN 통합 문제가 발생할 때 문제 해결을 간소화하는 도구 및 프로세스를 설정합니다. 사전 대비를 통해 문제가 발생할 때 문제를 더 빠르고 효과적으로 해결할 수 있습니다.

### 포괄적인 로깅 활성화
<a name="enable-comprehensive-logging"></a>

CDN 통합 문제를 진단하려면 세부 로그가 필수적입니다. 문제 해결 중에 필요한 정보를 캡처하도록 로깅을 구성합니다.

1. 세부 CDN 액세스 로그 활성화:
   + MediaTailor 요청을 처리하는 모든 캐시 동작에 대한 로깅 구성
   + 로그 항목에 쿼리 문자열 및 사용자 지정 헤더 포함
   + 패턴과 이상을 식별하기 위한 로그 분석 도구 설정
   + 실시간 이벤트 중 즉각적인 문제 감지를 위한 실시간 로그 활성화
   + 기록 문제 해결 데이터를 유지 관리하도록 로그 보존 정책 구성

1. MediaTailor 로깅 구성:
   + MediaTailor 구성에 대한 액세스 로그 활성화
   + 중앙 집중식 로그 관리를 위한 CloudWatch 로그 그룹 설정
   + 오류 패턴을 식별하도록 로그 필터 구성

1. 오리진 서버 로깅 설정:
   + 콘텐츠 오리진 서버에서 세부 액세스 로그 활성화
   + 로그에 요청 헤더 및 응답 코드 포함
   + 오리진 서버 성능 지표 모니터링

### 진단 요청 헤더 추가
<a name="add-diagnostic-headers"></a>

사용자 지정 헤더는 CDN을 통해 요청을 추적하고 라우팅 문제를 식별하는 데 도움이 됩니다.

1. CDN 진단 헤더 구성:
   + 각 요청에 고유 식별자 추가(예: `X-Request-ID`)
   + 요청 헤더에 CDN 관련 정보 포함
   + 엣지 로케이션 또는 POP(존재 지점) 정보를 추가하여 지리적 라우팅 추적
   + 캐시 동작 분석을 위한 캐시 상태 헤더(Hit, Miss, RefreshHit) 포함

1. 디버깅을 위한 응답 헤더 추가:
   + 서버 식별 헤더 포함
   + 성능 분석을 위한 타이밍 정보 추가
   + 매니페스트 요청에 대한 캐시 제어 헤더 포함

### 기준 성능 지표 설정
<a name="establish-baseline-metrics"></a>

정상 성능 범위를 문서화하여 문제 해결 중에 이상을 빠르게 식별합니다.

1. **기준 지표를 기록합니다**.
   + 다양한 콘텐츠 유형에 대한 캐시 적중률
   + 응답 시간 백분위수(P50, P95, P99)
   + 상태 코드별 오류 발생률
   + 시간대별 요청 볼륨 패턴

1. **성능 기대치 문서화**:
   + 대상 캐시 적중률(콘텐츠의 경우 95% 이상, 광고의 경우 90% 이상)
   + 허용 가능한 응답 시간(캐싱된 <100ms, 오리진 <500ms)
   + 허용되는 최대 오류율(4xx의 경우 <1%, 5xx의 경우 <0.1%)

1. **성능 대시보드 생성**: 기준 값과 비교하여 현재 지표를 표시하는 모니터링 대시보드를 설정합니다.

### 문제 해결 도구 준비
<a name="prepare-troubleshooting-tools"></a>

효과적인 문제 해결에 필요한 도구 및 액세스 권한을 설정합니다.

1. **명령줄 도구**:
   + `curl` HTTP 요청 및 응답 테스트용
   + `dig` DNS 문제 해결을 `nslookup` 위한 또는
   + 매니페스트 확인을 위한 HLS/DASH 검증 도구
   + 로그 분석 도구(grep, awk 또는 특수 로그 분석기)

1. **액세스 권한**:
   + 구성 검토를 위한 CDN 관리 콘솔 액세스
   + 구성 확인을 위한 MediaTailor 콘솔 액세스
   + 지표 및 로그 분석을 위한 CloudWatch 액세스
   + 백엔드 문제 해결을 위한 오리진 서버 액세스

1. **설명서:**
   + 네트워크 아키텍처 다이어그램
   + CDN 및 MediaTailor 구성 설명서
   + 에스컬레이션 절차를 위한 연락처 정보
   + 일반적인 시나리오에 대한 런북 문제 해결

## 워크플로별 문제 해결 가이드
<a name="workflow-specific-troubleshooting"></a>

이 범용 문제 해결 가이드에서는 모든 MediaTailor CDN 통합의 일반적인 문제를 다룹니다. 특정 워크플로 또는 서비스와 관련된 문제는 다음 특수 문제 해결 리소스를 참조하세요.

서버 측 광고 삽입(SSAI) 문제 해결  
광고 삽입 실패, 광고 전환 문제 및 개인화 문제를 포함한 SSAI 관련 문제는 워크플로별 SSAI 문제 해결 설명서를 참조하세요.  
**일반적인 SSAI 관련 문제**:  
+ 광고 삽입 실패 및 빈 광고 중단
+ 광고 전환 타이밍 및 동기화 문제
+ 개인화 및 대상 지정 문제
+ 광고 추적 및 분석 불일치

채널 어셈블리 문제 해결  
매니페스트 생성 문제 및 시간 전환 기능을 포함한 채널 어셈블리 관련 문제는 채널 어셈블리 워크플로 설명서를 참조하세요.  
**일반적인 채널 어셈블리 문제**:  
+ 매니페스트 생성 및 컴파일 오류
+ 시간 전환 기간 및 DVR 기능 문제
+ 소스 콘텐츠 가용성 및 장애 조치 문제
+ 프로그램 일정 및 메타데이터 동기화

MediaPackage 통합 문제 해결  
매니페스트 필터링 및 EMP 엔드포인트 문제를 포함한 MediaPackage 관련 문제는 섹션을 참조하세요[CDN 통합 문제 해결](cdn-emp-troubleshooting.md).  
**일반적인 MediaPackage 통합 문제**:  
+ 매니페스트 필터링 파라미터 오류
+ MediaPackage 엔드포인트 연결 문제
+ EMP별 캐시 동작 문제
+ MediaPackage 오리진 인증 문제

CloudFront 관련 문제 해결  
CloudFront별 구성 및 설정 문제는 CloudFront 통합 설명서를 참조하세요.  
**일반적인 CloudFront 문제**:  
+ 배포 구성 및 캐시 동작 설정
+ 오리진 액세스 ID 및 보안 구성
+ CloudFront 관련 오류 코드 및 응답
+ 지리적 제한 및 엣지 로케이션 문제

**추가 리소스**:
+ 성능 최적화 지침은 섹션을 참조하세요. [CDN 성능 최적화](cdn-optimization.md) 
+ 설정 모니터링 및 알림은 섹션을 참조하세요. [CDN 모니터링](cdn-monitoring.md) 
+ 일반적인 지원 및 지원은 섹션을 참조하세요. [CDN 통합 지원 받기](cdn-get-help.md) 

# MediaTailor에 대한 CDN 통합 로그 분석 및 오류 코드 참조
<a name="cdn-log-error-reference"></a>

AWS Elemental MediaTailor 콘텐츠 전송 네트워크(CDN) 통합 로그는 성능 및 오류에 대한 중요한 인사이트를 제공합니다. 이 가이드에서는 CDN 통합 문제 해결과 관련된 CDN 로그(콘텐츠 전송 네트워크의 로그)와 MediaTailor 로그 및 오류 코드를 모두 다룹니다. 콘텐츠 전송 네트워크 로그와 오류 코드가 MediaTailor 통합에 대해 알려주는 내용을 이해해야 하는 경우이 참조를 사용합니다. 이 가이드는 로그 항목과 오류 메시지를 해석하여 문제의 근본 원인을 식별하는 데 도움이 됩니다.

**관련 주제:**
+ 단계별 문제 해결 절차는 섹션을 step-by-step [CDN 통합 문제 해결](cdn-troubleshooting.md)
+ 사전 모니터링 및 예방 전략은 섹션을 참조하세요. [MediaTailor CDN 작업 및 성능 모니터링](cdn-monitoring.md) 
+ 에스컬레이션 및 추가 도움말은 섹션을 참조하세요. [CDN 통합 지원 받기](cdn-get-help.md) 
+ 포괄적인 MediaTailor 로깅 구성 및 리소스는 섹션을 참조하세요. [MediaTailor 로깅 구성 리소스](#mediatailor-logging-resources) 
+ CloudFront 로그 형식 참조는 [CloudFront 액세스 로그 형식을](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html#LogFileFormat) 참조하세요.
+ HTTP 상태 코드 참조는 [HTTP 응답 상태 코드를](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) 참조하세요.

# MediaTailor에 대한 CDN 로그 해석 및 분석 기법
<a name="cdn-log-interpretation"></a>

AWS Elemental MediaTailor 콘텐츠 전송 네트워크(CDN) 통합은 요청 패턴을 이해하고 문제를 식별하는 데 도움이 되는 세부 로그를 생성합니다. 콘텐츠 전송 네트워크 로그를 분석할 때는 다음 주요 지표에 집중하세요.

**참고:** 다음 예제에서는 Amazon CloudFront 용어를 사용합니다. 다른 CDN 공급자는 유사한 개념에 다른 용어를 사용할 수 있습니다.

HTTP 상태 코드  
+ `200` - 요청 성공
+ `404` - 리소스를 찾을 수 없음(라우팅 규칙 및 MediaTailor 구성 확인)
+ `403` - 액세스 거부됨(CDN 보안 설정 및 오리진 권한 확인)
+ `502/503/504` - 오리진 서버 오류(MediaTailor 서비스 상태 및 오리진 연결 확인)

캐시 동작 지표  
+ `Hit` - CDN 캐시에서 제공되는 콘텐츠
+ `Miss` - 오리진에서 가져온 콘텐츠
+ `RefreshHit` - 오리진으로 검증된 캐시된 콘텐츠
+ `Error` - 요청에 오류가 발생했습니다.

모니터링할 요청 패턴  
+ 매니페스트 요청은 일반적으로 낮은 TTL 설정`RefreshHit`으로 인해 `Miss` 또는를 초래해야 합니다.
+ 인기 콘텐츠`Hit`에 대한 콘텐츠 세그먼트가 표시되어야 합니다.
+ 개인 맞춤`Miss`으로 인해 광고 세그먼트가 표시될 수 있습니다.

**서비스 상태 모니터링**

CDN 로그를 분석하고 문제를 해결할 때 MediaTailor 서비스 상태를 확인하여 문제가 서비스와 관련이 있는지 확인합니다.

AWS 서비스 상태 대시보드  
현재 MediaTailor 서비스 상태 및 진행 중인 서비스 이벤트 확인  
액세스: [AWS 서비스 상태 대시보드](https://status.aws.amazon.com/)  
이 경우 사용: CDN 로그에 광범위한 5xx 오류 또는 서비스 제한 시간이 표시됩니다.

AWS 개인 상태 대시보드  
계정별 서비스 상태 알림 및 유지 관리 이벤트 보기  
액세스: [AWS Personal Health Dashboard](https://console.aws.amazon.com/phd/home)  
이 경우 사용: 계정별 서비스 상태 정보 또는 유지 관리 알림이 필요합니다.

Amazon CloudWatch 지표 모니터링  
CloudWatch 지표를 통해 MediaTailor 서비스 상태 지표를 모니터링합니다.  
+ `GetManifest.Errors` - 매니페스트 생성 오류 추적
+ `GetManifest.Latency` - 응답 시간 성능 모니터링
+ `AdDecisionServer.Errors` - 광고 서버 연결 문제 모니터링
+ `Origin.Errors` - 오리진 서버 연결 문제 추적
액세스: [CloudWatch 콘솔](https://console.aws.amazon.com/cloudwatch/home)  
이 경우 사용: 자세한 서비스 성능 지표와 과거 추세가 필요합니다.

**서비스 상태 문제 해결 워크플로:**

1.  AWS 서비스 상태 대시보드에서 현재 서비스 상태 확인

1. 계정별 알림에 대한 AWS Personal Health Dashboard 검토

1. CloudWatch 지표에서 서비스 성능 지표 모니터링

1. 서비스 상태를 CDN 로그 패턴 및 오류율과 상호 연관시킵니다.

1. 서비스 상태가 정상인 경우 CDN 구성 및 오리진 서버 문제에 집중합니다.

**CDN 로그 분석 리소스**
+ [CloudFront 액세스 로그](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html) - CDN 로그 형식 및 필드에 대한 전체 가이드
+ [CloudFront 실시간 로그](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html) - 실시간 로그 스트리밍 및 분석
+ [CloudWatch Logs Insights를 사용한 로그 데이터 분석](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) - 고급 로그 쿼리 및 분석
+ [워크로드 리소스 모니터링](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/monitor-workload-resources.html) - Well-Architected 모니터링 패턴

**Topics**
+ [CDN 로그 해석](cdn-log-interpretation.md)
+ [오류 코드 참조](emt-error-codes-reference.md)
+ [로그 분석 도구](log-analysis-techniques.md)
+ [MediaTailor 로깅 구성 리소스](#mediatailor-logging-resources)

# MediaTailor 오류 코드 및 CDN 통합 문제 해결
<a name="emt-error-codes-reference"></a>

AWS Elemental MediaTailor 오류 코드는 콘텐츠 전송 네트워크(CDN)를 통해 전달될 때 통합 문제에 대한 특정 정보를 제공합니다. MediaTailor가 콘텐츠 전송 네트워크를 통해 오류를 반환하면 이러한 코드는 특정 문제를 나타냅니다.

**참고:** 이러한 오류 코드는 MediaTailor에서 반환되며 CDN을 통해 전달됩니다. CDN 관련 오류는 CDN 공급자의 설명서를 참조하세요.

400 잘못된 요청  
**일반적인 원인:** 잘못된 쿼리 파라미터, 필수 파라미터 누락, 잘못된 세션 IDs  
**확인:** CDN 쿼리 문자열 전달 구성, 파라미터 인코딩

403 금지됨  
**일반적인 원인:** 존재하지 않거나 액세스 권한이 없는 세그먼트를 요청하는 클라이언트 플레이어입니다. 광고 세그먼트의 경우 MediaTailor가 존재하지 않는 세그먼트를 지정했을 수 있습니다(조사하려면 [AWS Support](https://aws.amazon.com/premiumsupport/)에 문의). 콘텐츠 세그먼트의 경우 오리진 공급자 액세스 제한 또는 인증 문제  
**확인:** 광고 세그먼트의 경우: MediaTailor가 잘못된 세그먼트 URL을 생성하는 경우 [AWS Support](https://aws.amazon.com/premiumsupport/)에 문의하세요. URLs 콘텐츠 세그먼트의 경우: 오리진 서버 권한, 인증 자격 증명 및 액세스 정책을 확인합니다. 요청된 URLs에 세그먼트가 있는지 확인

404 Not Found(404 찾을 수 없음)  
**일반적인 원인:** MediaTailor 구성이 존재하지 않거나 비활성 상태임, 잘못된 재생 URL 경로, 존재하지 않는 리소스에 대한 매니페스트 또는 세그먼트 요청  
**확인:** MediaTailor 구성이 존재하고 활성 상태인지 확인하고, 재생 URL이 `ManifestEndpointPrefix`의와 일치하는지 확인하고`GetPlaybackConfiguration`, CDN 라우팅 규칙 전달 요청을 확인하여 MediaTailor 엔드포인트 수정

500 Internal Server Error  
**일반적인 원인:** 오리진 서버 문제, ADS 연결 문제, 매니페스트 처리 오류  
**확인:** 오리진 서버 상태, ADS 응답 유효성, MediaTailor 서비스 상태

502 잘못된 게이트웨이  
**일반적인 원인:** HLS 재생 목록 정렬 문제로 `UnsupportedManifestException` 인해 오리진 서버에 연결할 수 없고 오리진 응답이 잘못되었습니다(재생 목록 간에 SCTE 마커가 정렬되지 않음, 일부 재생 목록에서 SCTE 마커가 누락됨, 비트 전송률 변형 간에 광고 중단 타이밍이 일관되지 않음).  
**확인:** 오리진 서버 연결 및 방화벽 규칙, DNS 확인, 모든 비트 전송률 변형의 HLS 재생 목록 일관성, 모든 재생 목록의 동일한 세그먼트에 대한 SCTE-35 마커 정렬, 모든 재생 목록에 필수 광고 중단 마커가 포함되어 있는지 확인

**오류 코드 분석 리소스:**
+ [MediaTailor 문제 해결](https://docs.aws.amazon.com/mediatailor/latest/ug/troubleshooting.html) - MediaTailor 오류 코드 참조 완료
+ [CloudFront 오류 응답 문제 해결](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/troubleshooting-response-errors.html) - CDN 관련 오류 분석
+ [HTTP 응답 상태 코드](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) - 포괄적인 HTTP 상태 코드 참조
+ [장애 관리](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/failure-management.html) - Well-Architected 오류 처리 패턴

# MediaTailor에 대한 CDN 로그 분석 도구 및 모니터링 기법
<a name="log-analysis-techniques"></a>

AWS Elemental MediaTailor 콘텐츠 전송 네트워크(CDN) 통합은 효율적인 분석 도구 및 기술이 필요한 대량의 로그 데이터를 생성합니다. 다음 접근 방식을 사용하여 콘텐츠 전송 네트워크 및 MediaTailor 로그를 효율적으로 분석합니다.
+ **명령줄 분석:** `grep`, `awk`및와 같은 도구를 사용하여 로그 패턴 `sort` 필터링 및 분석
+ **Amazon CloudWatch Logs Insights:** 고급 분석을 위해 SQL과 유사한 구문으로 CDN 및 MediaTailor 로그 쿼리
+ **타사 도구:** 포괄적인 모니터링 및 알림을 위해 로그 분석 플랫폼 고려
+ **사용자 지정 대시보드:** CDN 지표를 MediaTailor 성능 데이터와 결합하는 시각화 생성

로그 분석 또는 복잡한 오류 패턴 해석에 대한 추가 지원이 필요한 경우 섹션을 참조하세요[CDN 통합 지원 받기](cdn-get-help.md).

**로그 분석 도구 및 리소스:**
+ [CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) - 로그 분석을 위한 SQL과 유사한 쿼리
+ [Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/what-is.html) - 고급 로그 검색 및 분석
+ [CloudWatch 대시보드](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) - 사용자 지정 시각화 및 모니터링
+ [운영 가시성을 위한 분산 시스템 계측](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/) - 고급 관찰성 패턴
+ [워크로드 관찰성 설계](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/design-workload-observability.html) - Well-Architected 관찰성 지침

## MediaTailor 로깅 구성 리소스
<a name="mediatailor-logging-resources"></a>

MediaTailor는 CDN 로그 외에도 광고 삽입, 매니페스트 생성 및 서비스 상호 작용을 모니터링하기 위한 포괄적인 로깅 기능을 제공합니다. 다음 리소스를 사용하여 MediaTailor 로그를 구성하고 분석합니다.

MediaTailor 매니페스트 및 서비스 로그  
매니페스트 생성, 오리진 상호 작용 및 서비스 이벤트에 대한 로그를 구성하고 분석합니다.  
+ [AWS Elemental MediaTailor 매니페스트 로그 설명 및 이벤트 유형](log-types.md) - MediaTailor 매니페스트 로그 및 이벤트 유형에 대한 전체 참조
+ [AWS Elemental MediaTailor 로그 보기](monitoring-through-logs.md) - MediaTailor 로그 보기 및 해석 가이드

판매 로그 구성  
비용 최적화를 통해 여러 대상으로 유연한 로그 전송을 구성합니다.  
+ [벤딩된 로그를 사용하여 AWS Elemental MediaTailor 로그 전송](vended-logs.md) - Amazon S3, Firehose 또는 CloudWatch Logs로 로그 전송 구성
+ [AWS Elemental MediaTailor 로깅 전략 마이그레이션](vended-logs-migrate.md) - 기존 로깅 구성에 대한 마이그레이션 가이드

CloudWatch Logs 통합  
모니터링 및 분석을 위해 MediaTailor 로그를 CloudWatch와 통합합니다.  
+ [AWS Elemental MediaTailor 로그 보기](monitoring-through-logs.md) - CloudWatch Logs 구성 및 분석
+ [CloudWatchInsights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) - 고급 로그 쿼리 및 분석

광고별 로깅  
광고 삽입 성능을 모니터링하고 광고 관련 문제를 해결합니다.  
+ ADS 상호 작용 로그 - 광고 결정 서버 통신 및 오류 모니터링

**CDN과 MediaTailor 로그의 주요 차이점:**
+ **CDN 로그**: 콘텐츠 전송 네트워크의 요청/응답 패턴, 캐시 동작 및 네트워크 수준 오류 표시
+ **MediaTailor 로그**: 광고 삽입 세부 정보, 매니페스트 생성 이벤트, 오리진 상호 작용 및 서비스별 오류 표시
+ **통합 분석**: 두 로그 유형을 함께 사용하여 스트리밍 워크플로를 완벽하게 파악할 수 있습니다.

CDN 및 MediaTailor 로깅을 모두 결합하는 포괄적인 모니터링은 섹션을 참조하세요[MediaTailor CDN 작업 및 성능 모니터링](cdn-monitoring.md).

# 를 사용하여 MediaTailor 및 CDN 자동화 CloudFormation
<a name="automating-cdn-integration"></a>

를 사용하여 콘텐츠 전송 네트워크(CDN) AWS Elemental MediaTailor 를 자동화하면 광고 삽입 워크플로가 AWS CloudFormation 간소화되고 안정성이 향상됩니다.

이 섹션에서는 AWS CloudFormation (코드 서비스형AWS 인프라)를 사용하여 콘텐츠 전송 네트워크(CDN) AWS Elemental MediaTailor 로 자동으로 설정하는 방법을 보여줍니다. 이전 섹션에 설명된 대로이 통합을 수동으로 구성할 수 있지만를 사용하면 단일 템플릿으로 전체 프로세스를 자동화하여 시간을 CloudFormation 절약하고 오류를 줄일 수 있습니다.

를 처음 사용하는 경우 필요한 모든 AWS 리소스를 정의하는 템플릿 파일을 생성할 수 있는 서비스 CloudFormation입니다. 이 템플릿을 배포하면가 해당 리소스를 CloudFormation 자동으로 생성하고 구성하여 리소스가 올바르게 연동되도록 합니다.

에 대한 자세한 내용은 [CloudFormation 사용 설명서를](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) CloudFormation참조하세요. 의 MediaTailor 리소스 유형에 대한 자세한 CloudFormation내용은 [AWS::MediaTailor 리소스 유형 참조를 참조하세요](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_MediaTailor.html).

**Topics**
+ [를 사용하는 이유 AWS CloudFormation](cloudformation-benefits.md)
+ [배포 준비](prepare-cloudformation-deployment.md)
+ [템플릿 배포](deploy-cloudformation-template.md)
+ [배포된 리소스 사용](use-deployed-resources.md)
+ [배포 테스트 및 검증](test-validate-deployment.md)
+ [배포 관련 문제 해결](troubleshoot-deployment-issues.md)
+ [템플릿 사용자 지정](customize-cloudformation-template.md)
+ [템플릿 참조](cloudformation-template-reference.md)

# MediaTailor 및 CDN 통합 CloudFormation 에를 사용하는 이유
<a name="cloudformation-benefits"></a>

AWS Elemental MediaTailor 를 사용한 자동화 AWS CloudFormation 는 스트리밍 워크플로를 관리하는 브로드캐스트 전문가에게 상당한 이점을 제공합니다. 콘텐츠 전송 네트워크(CDN)를 사용하여 MediaTailor를 수동으로 구성하면 시간이 많이 걸리고 오류가 발생하기 쉽습니다. CloudFormation 자동화를 사용하면 다음과 같은 이점이 있습니다.
+ **일관성**: 매번 동일한 구성이 배포되도록 하여 인적 오류를 줄입니다.
+ **버전 관리**: 변경 사항을 추적하기 위해 인프라를 버전 관리 시스템에 코드로 저장합니다.
+ **빠른 배포**: 수동 구성 시간이 아닌 몇 분 만에 복잡한 구성을 배포합니다.
+ **환경 복제**: 개발, 테스트 및 프로덕션 환경 전반에서 구성을 쉽게 복제합니다.
+ **설명서**: 템플릿 자체는 인프라에 대한 설명서 역할을 합니다.

자동화된 워크플로를 수동 구성과 비교하는 방법은 다음과 같습니다.


| 수동 설정(여러 단계) | 자동 설정(단일 템플릿) | 
| --- | --- | 
| MediaTailor 재생 구성 생성 | 파라미터가 있는 CloudFormation 템플릿 1개 배포 | 
| CloudFront 배포 생성 | 
| 캐시 동작 구성 | 
| 보안 구성 설정 | 

CloudFront를 사용하여 MediaTailor를 설정하는 자동화된 워크플로는 다음 단계를 따릅니다.

1. 콘텐츠 오리진 및 광고 서버 파라미터와 함께 CloudFormation 템플릿 배포

1. CloudFormation 는 필요한 모든 리소스를 생성하고 구성합니다.
   + 광고 삽입을 위한 MediaTailor 재생 구성
   + 적절한 캐시 동작이 있는 CloudFront 배포
   + 콘텐츠 보호를 위한 보안 구성

1.  CloudFormation 출력을 사용하여 광고 지원 스트림 URLs 액세스

1. 동적으로 삽입된 광고로 콘텐츠 스트리밍

# CDN 및 MediaTailor 통합 CloudFormation 배포 준비
<a name="prepare-cloudformation-deployment"></a>

AWS Elemental MediaTailor 를 사용한 배포에는 특정 사전 조건 및 준비 단계가 AWS CloudFormation 필요합니다. MediaTailor와 Amazon CloudFront를 통합 CloudFormation 하기 위해 로 작업을 시작하기 전에 다음이 있는지 확인합니다.
+ MediaTailor, CloudFront 및 CloudFormation 리소스를 생성할 수 있는 권한이 있는 AWS 계정
+ 비디오 콘텐츠가 호스팅되는 콘텐츠 오리진(예: AWS Elemental MediaPackage Amazon S3 또는 다른 오리진 서버)
+ VAST 요청에 응답할 수 있는 광고 결정 서버(ADS)

 CloudFormation 템플릿을 배포하기 전에 다음과 같은 필수 파라미터를 수집합니다.

`AdServerUrl`  
동적 광고 삽입을 위한 VAST 광고 서버의 URL입니다. 테스트를 위해 정적 VAST 엔드포인트가 제공됩니다.

`ContentOriginDomainName`  
프로토콜이 없는 콘텐츠 오리진의 도메인 이름(예: *mediapackage-domain.mediapackagev2.us-west-2.amazonaws.com*, *mybucket.s3.amazonaws.com* 또는 *custom-origin.example.com*). http:// 또는 https:// 접두사 또는 경로를 포함하지 마십시오.

`ContentOriginType`  
콘텐츠 오리진의 유형:  
+ *mediapackagev2*: AWS Elemental MediaPackage 오리진의 경우
+ *s3*: Amazon S3 버킷 오리진의 경우
+ *사용자 지정*: 다른 오리진 유형의 경우

템플릿은 개인화된 광고로 콘텐츠를 제공하기 위해 함께 작동하는 여러 AWS 리소스를 생성합니다. 다음은 각 구성 요소가 수행하는 작업을 설명합니다.

## 오리진 액세스 제어
<a name="origin-access-control-resource"></a>

오리진 액세스 제어(OAC)는 오리진 서버에서 직접 액세스하지 않고 CloudFront를 통해서만 콘텐츠에 액세스할 수 있도록 하는 보안 기능입니다. 이렇게 하면 무단 액세스로부터 콘텐츠를 보호할 수 있습니다.

MediaPackage 및 Amazon S3 오리진의 경우 템플릿은 콘텐츠에 대한 액세스를 보호하기 위한 오리진 액세스 제어(OAC) 리소스를 생성합니다.

## MediaTailor 재생 구성
<a name="mediatailor-resource"></a>

MediaTailor 재생 구성은 광고 삽입을 처리하는 핵심 구성 요소입니다. 오리진에서 콘텐츠를 수신하고, 광고 서버에서 광고를 요청하고, 이를 각 뷰어에 대한 개인화된 스트림으로 결합합니다.

템플릿은 다음 설정을 사용하여 MediaTailor 재생 구성을 생성합니다.
+ CloudFront 배포를 가리키는 비디오 콘텐츠 소스
+ 지정된 VAST 엔드포인트에 구성된 광고 결정 서버 URL
+ 라이브 스트림 중 광고 삽입을 위한 라이브 프리롤 구성
+ 적절한 세그먼트 URL 접두사가 있는 CDN 구성

## CloudFront 배포
<a name="cloudfront-resource"></a>

CloudFront 배포는 짧은 지연 시간으로 전 세계 시청자에게 콘텐츠를 제공합니다. 다양한 유형의 요청(매니페스트, 콘텐츠 세그먼트, 광고 세그먼트)을 처리하고 적절한 오리진으로 라우팅합니다.

CDNs을 처음 사용하는 브로드캐스트 전문가의 경우 몇 가지 주요 용어는 다음과 같습니다.

Origin  
원본 콘텐츠가 저장되는 서버(예: MediaPackage 또는 Amazon S3)

캐시 동작  
다양한 유형의 콘텐츠를 캐싱하고 전송하는 방법을 결정하는 규칙

캐시 정책  
콘텐츠가 캐시되는 기간과 캐싱에 영향을 미치는 요청 구성 요소를 제어하는 설정

템플릿은 다음 구성 요소를 사용하여 CloudFront 배포를 생성합니다.
+ 세 가지 오리진:
  + 콘텐츠 오리진(MediaPackage, Amazon S3 또는 사용자 지정)
  + MediaTailor 매니페스트 오리진
  + MediaTailor 세그먼트 오리진
+ 적절한 패턴으로 동작을 캐시합니다.
  + 콘텐츠 세그먼트의 기본 동작
  + MediaTailor 광고 세그먼트에 대한 동작(/tm/\$1)
  + MediaTailor 중간 미디어(/v1/i-media/\$1)에 대한 동작
  + 개인화된 매니페스트에 대한 동작(/v1/\$1)
  + 세그먼트 리디렉션 요청에 대한 동작(/segment/\$1)
+ 각 동작에 최적화된 캐시 정책:
  + `CachingOptimized` 캐시 가능한 콘텐츠의 경우
  + `CachingDisabled` 개인화된 매니페스트용
+ 적절한 헤더 전달을 보장하기 위한 오리진 요청 정책
+ CORS 지원을 위한 응답 헤더 정책

# CDN 및 MediaTailor 통합을 위한 CloudFormation 템플릿 배포
<a name="deploy-cloudformation-template"></a>

AWS Elemental MediaTailor AWS CloudFormation 템플릿을 사용한 배포는 템플릿이 생성할 내용을 이해하면 간단합니다. 이 프로세스는 약 15\$130분이 소요되며, CloudFront 배포 배포를 기다리는 데 대부분의 시간이 소요됩니다.

 CloudFormation 템플릿을 배포하고 자동 광고 삽입 워크플로를 설정하려면:

**MediaTailor CloudFormation 템플릿을 배포하려면**

1.  AWS Elemental MediaTailor GitHub 리포지토리에서 CloudFormation 템플릿을 다운로드하거나에서 복사합니다[AWS CloudFormation AWS Elemental MediaTailor 및 Amazon CloudFront 통합에 대한 템플릿 참조](cloudformation-template-reference.md).

1. [CloudFormation 콘솔](https://console.aws.amazon.com/cloudformation/home)을 엽니다.

1. **스택 생성** > **새 리소스 사용(표준)**을 선택합니다.

1. **템플릿 지정**에서 **템플릿 파일 업로드**를 선택하고 템플릿을 업로드합니다.

1. 스택 이름을 입력하고 필요한 파라미터의 값을 입력합니다.
   + **AdServerUrl**: VAST 광고 서버의 URL(예: https://*your-ad-server.com*/vast)
   + **ContentOriginDomainName**: 프로토콜이 없는 콘텐츠 오리진의 도메인 이름(예: *mediapackage-domain.mediapackagev2.us-west-2.amazonaws.com*)
   + **ContentOriginType**: 콘텐츠 오리진 유형을 선택합니다.
     + *mediapackagev2*: 오리진의 경우 AWS Elemental MediaPackage 
     + *s3*: Amazon S3 버킷 오리진의 경우
     + *사용자 지정*: 다른 오리진 유형의 경우

1. 구성을 검토하고 **스택 생성을** 선택합니다.

1. 스택 생성이 완료될 때까지 기다립니다. 일반적으로 5\$110분이 걸립니다. **이벤트** 탭에서 진행 상황을 모니터링할 수 있습니다.

1. 완료되면 **출력** 탭으로 이동하여 HLS 및 DASH 매니페스트의 URLs을 찾습니다.

**참고**  
를 콘텐츠 오리진 AWS Elemental MediaPackage 으로 사용하는 경우 MediaPackage 엔드포인트가 올바르게 구성되고 액세스할 수 있는지 확인합니다. 자세한 내용은 [MediaPackage CDN 통합](mediapackage-integration.md) 단원을 참조하십시오.

# CDN 및 MediaTailor 통합에 CloudFormation 배포된 리소스 사용
<a name="use-deployed-resources"></a>

AWS Elemental MediaTailor AWS CloudFormation 스택에서 배포한 리소스는 광고 삽입을 통해 콘텐츠에 액세스하는 데 사용할 몇 가지 중요한 출력을 제공합니다. CloudFormation 스택이 성공적으로 생성되면 출력을 사용하여 광고가 삽입된 콘텐츠에 액세스하는 방법을 이해해야 합니다. 이는 수동 설정에서 MediaTailor URLs을 사용하는 방법과 비슷하지만 CloudFormation 배포는 이러한 URLs 자동으로 제공합니다.

배포에 성공하면 CloudFormation 스택은 광고 삽입을 통해 콘텐츠에 액세스하는 데 사용할 몇 가지 중요한 출력을 제공합니다.

`CloudFrontDomainName`  
CloudFront 배포의 도메인 이름(예: *d1234abcdef.CloudFront.net*)

`HlsManifestUrl`  
광고 삽입이 포함된 HLS 매니페스트의 기본 URL(예: https://*d1234abcdef.CloudFront.net*/v1/master/*12345*/*my-playback-config*/)

`DashManifestUrl`  
광고 삽입이 포함된 DASH 매니페스트의 기본 URL(예: https://*d1234abcdef.CloudFront.net*/v1/dash/*12345*/*my-playback-config*/)

`MediaTailorPlaybackConfigName`  
생성된 MediaTailor 재생 구성의 이름(예: *my-stack-PlaybackConfig*)

## 재생 URLs 구성
<a name="construct-playback-urls"></a>

광고가 포함된 콘텐츠의 전체 재생 URL을 생성하려면 CloudFormation 출력의 기본 URL을 특정 매니페스트 경로와 결합해야 합니다. 이는 브로드캐스트 전문가가 이해해야 할 중요한 단계입니다. 기존 콘텐츠를 광고 삽입 시스템과 연결하기 때문입니다.

1. 출력에서 적절한 매니페스트 URL로 시작합니다.

   ```
   HlsManifestUrl: https://d1234abcdef.CloudFront.net/v1/master/12345/my-playback-config/
   ```

1. 특정 매니페스트 경로를 추가합니다.

   ```
   Your manifest path: channel/index.m3u8
   ```

1. 전체 재생 URL은 다음과 같습니다.

   ```
   https://d1234abcdef.CloudFront.net/v1/master/12345/my-playback-config/channel/index.m3u8
   ```

비디오 플레이어에서이 URL을 사용하여 동적으로 삽입된 광고로 콘텐츠를 재생합니다.

**작은 정보**  
매니페스트 경로가 무엇인지 잘 모르는 경우 오리진 서버를 확인합니다. MediaPackage 오리진의 경우 엔드포인트의 HLS 또는 DASH 매니페스트 경로입니다. Amazon S3 오리진의 경우 버킷 내 매니페스트 파일의 경로입니다.

MediaTailor URL 구조에 대한 자세한 내용은 섹션을 참조하세요[MediaTailor와 CDN 통합 설정](cdn-configuration.md).

## 비디오 플레이어 구성
<a name="configure-video-player"></a>

재생 URL이 있으면 이를 사용하도록 비디오 플레이어를 구성해야 합니다. 브로드캐스트 전문가의 경우 이는 모든 HLS 또는 DASH 스트림에 대해 플레이어를 구성하는 것과 비슷하지만 이제 스트림에 개인화된 광고가 포함됩니다. 다음은 인기 HLS.js 플레이어를 사용하는 간단한 예입니다.

```
<!DOCTYPE html>
<html>
<head>
    <title>MediaTailor Playback Example</title>
    <script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
</head>
<body>
    <video id="video" controls style="width: 640px; height: 360px;"></video>
    
    <script>
        const video = document.getElementById('video');
        const mediaUrl = 'https://<replaceable>d1234abcdef.CloudFront.net</replaceable>/v1/master/<replaceable>12345</replaceable>/<replaceable>my-playback-config</replaceable>/<replaceable>channel/index.m3u8</replaceable>';
        
        if (Hls.isSupported()) {
            const hls = new Hls();
            hls.loadSource(mediaUrl);
            hls.attachMedia(video);
        } else if (video.canPlayType('application/vnd.apple.mpegurl')) {
            video.src = mediaUrl;
        }
    </script>
</body>
</html>
```

다음과 같은 전문 브로드캐스트 플레이어를 사용할 수도 있습니다.
+ JW 플레이어
+ Bitmovin 플레이어
+ THEOplayer
+ Video.js

MediaTailor와의 플레이어 통합에 대한 자세한 내용은 섹션을 참조하세요[MediaTailor 광고 서버 통합 요구 사항](vast.md).

# CDN 및 MediaTailor 통합을 위한 CloudFormation 배포 테스트 및 검증
<a name="test-validate-deployment"></a>

AWS Elemental MediaTailor 배포 검증은 라이브로 전환하기 전에 브로드캐스트 전문가에게 중요한 단계입니다. 이 섹션에서는 배포를 테스트하여 광고가 제대로 삽입되고 콘텐츠가 원활하게 전달되는지 확인하는 방법을 안내합니다.

 CloudFormation 템플릿을 배포한 후 다음 단계에 따라 설정이 올바르게 작동하는지 확인합니다.

**MediaTailor 및 CloudFront 통합을 테스트하려면**

1. 콘솔에서 모든 리소스가 CloudFormation 성공적으로 생성되었는지 확인합니다.

1. MediaTailor [콘솔에서 MediaTailor ](https://console.aws.amazon.com/mediatailor/home)재생 구성이 활성 상태인지 확인합니다.

1. CloudFront [콘솔에서 CloudFront ](https://console.aws.amazon.com/CloudFront/home)배포가 배포되고 활성화되어 있는지 확인합니다.

1. 샘플 매니페스트를 사용하여 재생을 테스트합니다.

   1. 에 설명된 대로 전체 재생 URL을 구성합니다[재생 URLs 구성](use-deployed-resources.md#construct-playback-urls).

   1. HLS 또는 DASH를 지원하는 비디오 플레이어(예: VLC, JW 플레이어 또는 AWS 콘솔 플레이어)를 사용합니다.

   1. 콘텐츠 재생 및 광고가 예상 중단점에 삽입되었는지 확인합니다.

1. CloudWatch의 MediaTailor 로그에서 광고 삽입 오류가 있는지 확인합니다.

광고 삽입을 테스트할 때 성공 지표를 찾아보세요.
+ 콘텐츠와 광고 간의 원활한 전환
+ 광고는 예상 브레이크 포인트(프리롤, 미드롤, 포스트롤)에 표시됩니다.
+ 광고 품질이 콘텐츠 품질과 일치
+ 광고 전환 중 버퍼링 또는 재생 오류 없음

자세한 테스트 절차는 섹션을 참조하세요[AWS Elemental MediaTailor 광고 삽입 동작 이해](ad-behavior.md). 포괄적인 CDN 통합 테스트 및 검증은 섹션을 참조하세요[CDN 및 MediaTailor 통합 테스트 및 검증](cdn-integration-testing.md).

# CDN 및 MediaTailor 통합의 일반적인 CloudFormation 배포 문제 해결
<a name="troubleshoot-deployment-issues"></a>

AWS Elemental MediaTailor 배포 또는 재생 중에 자동화를 사용해도 배포 문제가 발생할 수 있습니다. 방송 전문가는 이러한 문제를 해결하는 방법을 이해하면 광고 삽입을 통해 안정적인 스트리밍 서비스를 유지하는 데 도움이 됩니다.

 CloudFormation 배포 또는 결과 MediaTailor 및 CloudFront 통합에 문제가 발생하는 경우 다음과 같은 일반적인 문제 및 솔루션을 참조하세요.

## CloudFormation 배포 문제
<a name="deployment-troubleshooting"></a>

"리소스 생성 실패" 오류와 함께 스택 생성 실패  
**가능한 원인:**  
+ 잘못된 콘텐츠 오리진 도메인 이름 형식
+ 리소스를 생성할 수 있는 권한 부족
**해결 방법:** CloudFormation 이벤트 탭에서 특정 리소스 오류를 확인합니다. 콘텐츠 오리진 도메인 이름의 형식이 프로토콜 접두사나 경로 없이 올바른지 확인합니다. IAM 역할에 필요한 모든 리소스를 생성할 수 있는 충분한 권한이 있는지 확인합니다.

CloudFront 배포를 배포하는 데 시간이 오래 걸립니다.  
**원인:** CloudFront 배포를 완전히 배포하는 데 일반적으로 15\$130분이 걸립니다.  
**해결책:** 이것은 정상적 동작입니다. 테스트하기 전에 배포가 "배포" 상태에 도달할 때까지 기다립니다.

## 재생 및 광고 삽입 문제
<a name="playback-troubleshooting"></a>

콘텐츠가 재생되지만 광고가 삽입되지 않음  
**가능한 원인:**  
+ 광고 결정 서버가 응답하지 않거나 빈 VAST를 반환합니다.
+ 콘텐츠에 광고 마커가 포함되지 않음
**해결 방법:** 광고 서버에 액세스할 수 있고 유효한 VAST 응답을 반환하는지 확인합니다. 콘텐츠에 적절한 광고 마커(라이브 콘텐츠의 경우 SCTE-35 마커 또는 VOD의 경우 광고 중단 태그)가 있는지 확인합니다.

403 콘텐츠에 액세스할 때 금지되는 오류  
**가능한 원인:**  
+ 오리진 액세스 제어가 올바르게 구성되지 않음
+ 오리진 버킷 또는 엔드포인트 권한 문제
**해결 방법:** Amazon S3 오리진의 경우 버킷 정책이 CloudFront 배포에서 액세스를 허용하는지 확인합니다. MediaPackage 오리진의 경우 오리진 액세스 제어가 올바르게 구성되어 있고 엔드포인트에 액세스할 수 있는지 확인합니다.

재생 오류 또는 버퍼링  
**가능한 원인:**  
+ 캐시 동작 경로 패턴이 콘텐츠 경로와 일치하지 않음
+ 잘못된 오리진 도메인 구성
**해결 방법:** 캐시 동작에 요청을 적절한 오리진으로 라우팅하는 올바른 경로 패턴이 있는지 확인합니다. CloudFront 로그를 확인하여 요청을 처리하는 오리진을 확인하고 예상되는 오리진인지 확인합니다.

브로드캐스트 전문가의 경우 다음과 같은 추가 문제 해결 팁이 도움이 될 수 있습니다.
+ Amazon CloudWatch Logs Insights를 사용하여 MediaTailor 로그에서 특정 오류 패턴 검색
+ 프로덕션 광고 서버를 사용하기 전에 간단한 VAST 광고 서버(예: 템플릿에 제공된 기본 서버)로 먼저 테스트합니다.
+ 콘솔의 MediaTailor 매니페스트 검사기 도구를 사용하여 콘텐츠의 광고 마커 확인
+ 브라우저의 개발자 도구에서 네트워크 트래픽을 확인하여 광고 서버에 대한 요청이 올바르게 수행되고 있는지 확인합니다.

추가 문제 해결을 위해 MediaTailor 및 CloudFront 모두에 대한 CloudWatch CloudWatch 로그를 확인하여 특정 오류를 식별합니다.

# CDN 및 MediaTailor 통합을 위한 CloudFormation 템플릿 사용자 지정
<a name="customize-cloudformation-template"></a>

AWS Elemental MediaTailor 템플릿 사용자 지정을 사용하면 브로드캐스트 전문가가 특정 워크플로 요구 사항에 맞게 AWS CloudFormation 템플릿을 조정할 수 있습니다. 기본 템플릿은 많은 시나리오에서 작동하지만 이러한 사용자 지정은 더 복잡한 요구 사항을 해결하는 데 도움이 될 수 있습니다.

아래 예제에서는 템플릿에 추가할 수 있는 YAML 코드 조각을 보여줍니다. YAML 또는 CloudFormation 구문에 익숙하지 않은 경우 개발자 또는 AWS 솔루션 아키텍트와 협력하여 이러한 변경을 수행하는 것이 좋습니다.

특정 워크플로 요구 사항에 맞게 CloudFormation 템플릿을 사용자 지정할 수 있습니다.

## 오리진 추가 또는 수정
<a name="add-modify-origins"></a>

여러 콘텐츠 소스(예: 기본 및 백업 소스 또는 다른 콘텐츠 라이브러리)를 사용하는 브로드캐스트 워크플로의 경우 CloudFront 배포에 오리진을 추가할 수 있습니다.

```
Origins:
  # Add a new origin for additional content
  - Id: SecondaryContentOrigin
    DomainName: secondary-content.example.com
    CustomOriginConfig:
      OriginProtocolPolicy: 'https-only'
      OriginSSLProtocols: 
        - TLSv1.2
```

그런 다음 해당 캐시 동작을 추가하여 특정 패턴을이 오리진으로 라우팅합니다.

```
CacheBehaviors:
  - PathPattern: '/secondary-content/*'
    TargetOriginId: SecondaryContentOrigin
    ViewerProtocolPolicy: 'https-only'
    CachePolicyId: 658327ea-f89d-4fab-a63d-7e88639e58f6  # Managed-CachingOptimized
```

## 사용자 지정 캐시 정책 생성
<a name="create-custom-cache-policies"></a>

특정 캐싱 요구 사항(예: 품질 선택 파라미터 또는 뷰어 인증)이 있는 브로드캐스트 워크플로의 경우 관리형 캐시 정책을 사용하는 대신 사용자 지정 캐시 정책을 생성할 수 있습니다. TTL 값 및 캐싱 전략에 대한 자세한 지침은 섹션을 참조하세요[CDN 및 MediaTailor 통합을 위한 캐싱 최적화](cdn-optimize-caching.md).

```
# Define a custom cache policy
CustomCachePolicy:
  Type: AWS::CloudFront::CachePolicy
  Properties:
    CachePolicyConfig:
      Name: !Sub '${AWS::StackName}-CustomCachePolicy'
      DefaultTTL: 86400  # 24 hours
      MaxTTL: 31536000   # 1 year
      MinTTL: 1          # 1 second
      ParametersInCacheKeyAndForwardedToOrigin:
        CookiesConfig:
          CookieBehavior: none
        HeadersConfig:
          HeaderBehavior: none
        QueryStringsConfig:
          QueryStringBehavior: whitelist
          QueryStrings:
            - quality
            - format

# Reference the custom policy in a cache behavior
CacheBehaviors:
  - PathPattern: '/custom-path/*'
    TargetOriginId: ContentOrigin
    ViewerProtocolPolicy: 'https-only'
    CachePolicyId: !Ref CustomCachePolicy
```

## MediaTailor 구성 개선
<a name="enhance-mediatailor-config"></a>

고급 광고 삽입 기능이 필요한 브로드캐스트 워크플로의 경우 광고 미리 가져오기(지연 시간 단축), 개인화 임계값 및 범퍼 광고와 같은 옵션으로 MediaTailor 구성을 개선할 수 있습니다.

```
MediaTailorPlaybackConfig:
  Type: AWS::MediaTailor::PlaybackConfiguration
  Properties:
    # Add ad prefetching for improved performance
    AvailSuppression:
      Mode: BEHIND_LIVE_EDGE
      Value: 00:00:00
    # Add personalization parameters
    PersonalizationThresholdSeconds: 2
    # Add bumper ads
    Bumper:
      StartUrl: https://example.com/bumper-start.mp4
      EndUrl: https://example.com/bumper-end.mp4
    # Other existing properties...
```

MediaTailor 구성 옵션에 대한 자세한 내용은 섹션을 참조하세요[AWS Elemental MediaTailor 를 사용하여 광고 삽입](configurations.md).

## 보안 기능 추가
<a name="add-security-features"></a>

특정 보안 요구 사항(지리적 제한 또는 DDoS 공격에 대한 보호 등)이 있는 브로드캐스트 워크플로의 경우 AWS WAF 통합 및 지리적 제한을 추가할 수 있습니다.

```
# Create a AWS WAF Web ACL
WebACL:
  Type: AWS::WAFv2::WebACL
  Properties:
    Name: !Sub '${AWS::StackName}-WebACL'
    Scope: CloudFront
    DefaultAction:
      Allow: {}
    VisibilityConfig:
      SampledRequestsEnabled: true
      CloudWatchMetricsEnabled: true
      MetricName: !Sub '${AWS::StackName}-WebACL'
    Rules:
      - Name: RateLimitRule
        Priority: 0
        Action:
          Block: {}
        VisibilityConfig:
          SampledRequestsEnabled: true
          CloudWatchMetricsEnabled: true
          MetricName: RateLimitRule
        Statement:
          RateBasedStatement:
            Limit: 1000
            AggregateKeyType: IP

# Reference the AWS WAF Web ACL in the CloudFront distribution
CloudFrontDistribution:
  Type: AWS::CloudFront::Distribution
  Properties:
    DistributionConfig:
      WebACLId: !GetAtt WebACL.Arn
      # Add geo-restriction
      Restrictions:
        GeoRestriction:
          RestrictionType: whitelist
          Locations:
            - US
            - CA
            - GB
      # Other existing properties...
```

 CloudFormation 템플릿에 대한 자세한 내용은 [AWS CloudFormation 사용 설명서를](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html) 참조하세요.

브로드캐스트별 CloudFormation 템플릿 및 예제는 [AWS Media Services 도구 GitHub 리포지토리](https://github.com/aws-samples/aws-media-services-tools)를 참조하세요.

# AWS CloudFormation AWS Elemental MediaTailor 및 Amazon CloudFront 통합에 대한 템플릿 참조
<a name="cloudformation-template-reference"></a>

AWS Elemental MediaTailor Amazon CloudFront와의 통합은 다음 전체 AWS CloudFormation 템플릿을 사용하여 자동화할 수 있습니다.

```
AWSTemplateFormatVersion: '2010-09-09'
Description: | CloudFormation template that sets up AWS Elemental MediaTailor integration with CloudFront Distribution
  for server-side ad insertion. This template supports various content origins including MediaPackage, Amazon S3,
  and custom origins, making it versatile for different streaming architectures.

Parameters:
  AdServerUrl:
    Type: String
    Default: 'https://d1kbmkziz9rksx.CloudFront.net/VASTEndpoint.xml'
    Description: URL of the VAST ad server for dynamic ad insertion. Static VAST endpoint provided for testing. 

  ContentOriginDomainName:
    Type: String
    Description: |
      Domain name of your content origin without protocol (e.g., mediapackage-domain.mediapackagev2.us-west-2.amazonaws.com,
      mybucket.s3.amazonaws.com, or custom-origin.example.com).
      Do not include http:// or https:// prefixes or any paths.
    AllowedPattern: "^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9])$"
    ConstraintDescription: Must be a valid domain name (e.g., example.com) without protocol or path components. IP addresses are not allowed.

  ContentOriginType:
    Type: String
    AllowedValues:
      - mediapackagev2
      - s3
      - custom
    Default: mediapackagev2
    Description: |
      The type of content origin:
      - mediapackagev2: AWS Elemental MediaPackage V2
      - s3: Amazon S3 bucket
      - custom: Any other custom origin

Resources:
  #---------------------------------------------------------------------------
  # Origin Access Control (for securing MediaPackage V2 and Amazon S3 origins)
  #---------------------------------------------------------------------------
  CloudFrontOriginAccessControl:
    Type: AWS::CloudFront::OriginAccessControl
    Condition: IsNotCustomOrigin
    Properties:
      OriginAccessControlConfig:
        Name: !Sub '${AWS::StackName}-OAC'
        OriginAccessControlOriginType: !Ref ContentOriginType
        SigningBehavior: always
        SigningProtocol: sigv4
        Description: Origin Access Control for content origin

  #---------------------------------------------------------------------------
  # MediaTailor Playback Configuration
  #---------------------------------------------------------------------------
  MediaTailorPlaybackConfig:
    Type: AWS::MediaTailor::PlaybackConfiguration
    Properties:
      Name: !Sub '${AWS::StackName}-PlaybackConfig'
      # The video content source should point to your CloudFront distribution
      VideoContentSourceUrl: !Sub 'https://${CloudFrontDistribution.DomainName}/'
      # The Ad Decision Server URL is where MediaTailor will request ads
      AdDecisionServerUrl: !Ref AdServerUrl
      # Configuration for pre-roll ads during live streams
      LivePreRollConfiguration:
        AdDecisionServerUrl: !Ref AdServerUrl
        MaxDurationSeconds: 30
      # CDN configuration for integrating with CloudFront
      CdnConfiguration:
        AdSegmentUrlPrefix: '/'
        ContentSegmentUrlPrefix: '/'
      # Set a reasonable manifest segment timeout
      ManifestProcessingRules:
        AdMarkerPassthrough:
          Enabled: false

  #---------------------------------------------------------------------------
  # CloudFront Distribution
  #---------------------------------------------------------------------------
  CloudFrontDistribution:
    Type: AWS::CloudFront::Distribution
    Properties:
      DistributionConfig:
        Enabled: true
        HttpVersion: http2and3
        IPV6Enabled: true
        Comment: !Sub 'Distribution for MediaTailor ad insertion with ${ContentOriginType} origin'
        
        # Default cache behavior points to the content origin
        DefaultCacheBehavior:
          TargetOriginId: ContentOrigin
          ViewerProtocolPolicy: 'https-only'
          # Using managed policies for optimal performance and simplicity
          CachePolicyId: 658327ea-f89d-4fab-a63d-7e88639e58f6  # Managed-CachingOptimized
          OriginRequestPolicyId: 88a5eaf4-2fd4-4709-b370-b4c650ea3fcf # Managed-HostHeaderOnly
          ResponseHeadersPolicyId: eaab4381-ed33-4a86-88ca-d9558dc6cd63  # Managed-CORS-with-preflight-and-SecurityHeadersPolicy
          Compress: true
        
        # Define all the origins needed for the workflow
        Origins:
          # Main content origin (MediaPackage, Amazon S3, or Custom)
          - Id: ContentOrigin
            DomainName: !Ref ContentOriginDomainName
            # Apply Origin Access Control for secure origins
            OriginAccessControlId: !If [IsNotCustomOrigin, !GetAtt CloudFrontOriginAccessControl.Id, !Ref "AWS::NoValue"]
            # For custom origins, we need a CustomOriginConfig
            CustomOriginConfig:
              OriginProtocolPolicy: 'https-only'
              OriginSSLProtocols: 
                - TLSv1.2
              OriginKeepaliveTimeout: 5
              OriginReadTimeout: 30
              HTTPPort: 80
              HTTPSPort: 443
              
          # MediaTailor Manifests Origin - handles manifest manipulation for ad insertion
          - Id: MediaTailorManifests
            DomainName: !Sub 'manifests.mediatailor.${AWS::Region}.amazonaws.com'
            CustomOriginConfig:
              OriginProtocolPolicy: 'https-only'
              OriginSSLProtocols: 
                - TLSv1.2
              OriginKeepaliveTimeout: 5
              OriginReadTimeout: 30
            # Origin Shield improves caching efficiency 
            OriginShield:
              Enabled: true
              OriginShieldRegion: !Ref AWS::Region
              
          # MediaTailor Segments Origin - handles personalized ads
          - Id: MediaTailorSegments
            DomainName: !Sub 'segments.mediatailor.${AWS::Region}.amazonaws.com'
            CustomOriginConfig:
              OriginProtocolPolicy: 'https-only'
              OriginSSLProtocols: 
                - TLSv1.2
              OriginKeepaliveTimeout: 5
              OriginReadTimeout: 30
        
        # Cache behaviors to route specific request patterns to the right origin
        CacheBehaviors:
          # Handle MediaTailor segment requests for ad content which are cache-able
          - PathPattern: '/tm/*'
            TargetOriginId: MediaTailorSegments
            ViewerProtocolPolicy: 'https-only'
            CachePolicyId: 658327ea-f89d-4fab-a63d-7e88639e58f6  # Managed-CachingOptimized
            OriginRequestPolicyId: 88a5eaf4-2fd4-4709-b370-b4c650ea3fcf  # Managed-HostHeaderOnly
            ResponseHeadersPolicyId: eaab4381-ed33-4a86-88ca-d9558dc6cd63  # Managed-CORS-with-preflight-and-SecurityHeadersPolicy
            Compress: true
            
          # Handle MediaTailor interstitial (SGAI) media requests which are cache-able
          - PathPattern: '/v1/i-media/*'
            TargetOriginId: MediaTailorManifests
            ViewerProtocolPolicy: 'https-only'
            CachePolicyId: 658327ea-f89d-4fab-a63d-7e88639e58f6  # Managed-CachingOptimized
            OriginRequestPolicyId: 88a5eaf4-2fd4-4709-b370-b4c650ea3fcf  # Managed-HostHeaderOnly
            ResponseHeadersPolicyId: eaab4381-ed33-4a86-88ca-d9558dc6cd63  # Managed-CORS-with-preflight-and-SecurityHeadersPolicy
            Compress: true
            
          # Handle MediaTailor Personalized manifests which are not cache-able
          - PathPattern: '/v1/*'
            TargetOriginId: MediaTailorManifests
            ViewerProtocolPolicy: 'https-only'
            CachePolicyId: 4135ea2d-6df8-44a3-9df3-4b5a84be39ad # Managed-CachingDisabled
            OriginRequestPolicyId: 59781a5b-3903-41f3-afcb-af62929ccde1 # Managed-AllViewer
            ResponseHeadersPolicyId: eaab4381-ed33-4a86-88ca-d9558dc6cd63  # Managed-CORS-with-preflight-and-SecurityHeadersPolicy
            Compress: true
            
          # Handle MediaTailor segment *redirect* requests which are not cache-able (used for server side reporting)
          - PathPattern: '/segment/*'
            TargetOriginId: MediaTailorManifests
            ViewerProtocolPolicy: 'https-only'
            CachePolicyId: 4135ea2d-6df8-44a3-9df3-4b5a84be39ad # Managed-CachingDisabled
            OriginRequestPolicyId: 59781a5b-3903-41f3-afcb-af62929ccde1 # Managed-AllViewer
            ResponseHeadersPolicyId: eaab4381-ed33-4a86-88ca-d9558dc6cd63  # Managed-CORS-with-preflight-and-SecurityHeadersPolicy
            Compress: true

Conditions:
  IsNotCustomOrigin: !Not [!Equals [!Ref ContentOriginType, 'custom']]

Outputs:
  CloudFrontDomainName:
    Description: Domain name of the CloudFront distribution
    Value: !GetAtt CloudFrontDistribution.DomainName
    
  HlsManifestUrl:
    Description: URL for HLS manifest with ads inserted (append your manifest path)
    Value: !Sub 'https://${CloudFrontDistribution.DomainName}${MediaTailorPlaybackConfig.HlsConfiguration.ManifestEndpointPrefix}'
    
  DashManifestUrl:
    Description: URL for DASH manifest with ads inserted (append your manifest path)
    Value: !Sub 'https://${CloudFrontDistribution.DomainName}${MediaTailorPlaybackConfig.DashConfiguration.ManifestEndpointPrefix}'
    
  MediaTailorPlaybackConfigName:
    Description: Name of the MediaTailor playback configuration
    Value: !Ref MediaTailorPlaybackConfig
```

# MediaTailor에 대한 프로덕션 지원 CloudFront 구성
<a name="cf-comprehensive-configuration"></a>

이 CloudFront 배포 구성은 서버 측 광고 삽입을 통해 MediaTailor 콘텐츠를 대규모로 제공하는 데 필요한 모든 것을 제공합니다. 이 구성을 복사하고 특정 오리진 및 요구 사항으로 사용자 지정합니다.

**이 구성이 수행하는 작업**  
이 구성은 최적의 캐싱 및 성능으로 모든 MediaTailor 요청 유형을 처리하는 프로덕션 지원 CloudFront 배포를 생성합니다. 여기에는 요청을 올바르게 라우팅하고 콘텐츠를 적절하게 캐싱하는 네 가지 캐시 동작이 있는 세 가지 오리진(콘텐츠, MediaTailor 세그먼트 및 MediaTailor 매니페스트)이 포함됩니다.

**이 구성을 사용해야 하는 경우**  
이 설정은 서버 측 광고 삽입이 필요한 라이브 스트리밍, video-on-demand 및 하이브리드 워크플로에 적합합니다.

## 3원 아키텍처
<a name="cf-three-origin-architecture"></a>

MediaTailor는 3원 아키텍처 패턴을 사용하여 콘텐츠 전송 및 광고 삽입 성능을 최적화합니다. 각 오리진은 광고 삽입 워크플로에서 특정 목적을 수행합니다.

콘텐츠 오리진  
MediaTailor에 피드하는 실제 콘텐츠 오리진입니다. 예를 들어 이는 AWS Elemental MediaPackage V2 또는 다른 콘텐츠 전송 서비스일 수 있습니다. 이 오리진은 광고 삽입 전에 원래 콘텐츠를 제공합니다. 일반적인 예는 다음과 같습니다.  
+ MediaPackage V2 패키징 구성
+ 타사 콘텐츠 전송 네트워크
+ 온프레미스 스트리밍 서버
+ 정적 콘텐츠가 있는 Amazon S3 버킷

MediaTailor 세그먼트 오리진  
이 오리진은 호스트 이름을 사용하고 MediaTailor가 호스트 이름을 인코딩한 후 실제 광고 세그먼트를 `segments.mediatailor.region.amazonaws.com` 제공합니다. 광고가 포함된 비디오 세그먼트입니다. 이 오리진은 다음을 처리합니다.  
+ 콘텐츠와 동일한 형식의 트랜스코딩된 광고 세그먼트
+ `/segment/*` 경로 패턴에서 리디렉션된 요청
+ 서버 측 광고 삽입을 위해 처리된 광고 세그먼트

MediaTailor 매니페스트 오리진  
이 오리진은 호스트 이름을 사용`manifests.mediatailor.region.amazonaws.com`하며 지정된 리전의 재생 구성을 위한 AWS 리전 호스트 이름으로 사용할 수 있습니다. MediaTailor는 요청의 경로를 기반으로 올바른 재생 구성을 선택합니다. 이 오리진은 다음을 제공합니다.  
+ 최종 사용자별 광고 삽입이 포함된 맞춤형 HLS 및 DASH 매니페스트
+ 캐시 가능한 콘텐츠에 대한 서버 가이드 광고 삽입(SGAI) 매니페스트
+ 서버 측 보고를 위한 광고 추적 및 비컨 처리

오리진 호스트 이름을 사용하면 지정된 리전에 있고 요청 경로에 재생 구성 이름을 포함하는 경우 동일한 CloudFront 배포에서 작동하는 여러 재생 구성을 가질 `manifests.mediatailor.region.amazonaws.com`수 있습니다. 예제:
+ `https://your-distribution.cloudfront.net/v1/master/playback-config-1/manifest.m3u8`
+ `https://your-distribution.cloudfront.net/v1/master/playback-config-2/manifest.m3u8`

콘텐츠 유형을 기반으로 오리진 요청 정책을 선택하여 적절한 기능을 보장하면서 캐시 중독을 방지합니다. 주요 차이점은 캐시 가능한 콘텐츠와 캐시 불가능한 콘텐츠입니다.
+ **매니페스트(캐싱 불가)**: 동적 콘텐츠에 필요한 모든 헤더를 전달하는 `AllViewer` 데 사용합니다. 매니페스트는 캐시되지 않으므로 캐시 중독 위험이 없습니다.
+ **세그먼트(캐싱 가능)**: 최적의 성능을 `None` 위해를 사용합니다.
+ **S3 오리진**: Amazon S3 버킷`CORS-S3Origin`에 사용
+ **MediaPackage 오리**진: MediaPackage V2 엔드포인트`CORS-S3Origin`에 사용

![\[Origins table showing ContentOrigin, MediaTailorSegments, and MediaTailorManifests with their respective details.\]](http://docs.aws.amazon.com/ko_kr/mediatailor/latest/ug/images/origins-cdn.png)


## 캐시 동작 우선 순위 및 구성
<a name="cf-behavior-precedence"></a>

MediaTailor는 다양한 유형의 요청을 올바르게 처리하기 위해 특정 캐시 동작 구성이 필요합니다. CDNs은 캐시 동작을 순서대로 처리하고(가장 작음에서 가장 큼) 일치하는 첫 번째 경로 패턴에 동작을 사용하기 때문에 캐시 동작의 우선 순위가 중요합니다. 이 우선 순위를 이해하는 것은 문제 해결에 필수적입니다.
+ **우선 순위 0**: 가장 구체적인 패턴(예: `/tm/*`)이 먼저 평가됩니다.
+ **우선 순위가 높은 숫자**: 덜 구체적인 패턴은 순서대로 평가됩니다.
+ **기본 동작**: 다른 패턴과 일치하지 않는 모든 요청을 캐싱합니다.

요청이 예상대로 동작하지 않는 경우 경로 패턴이 의도하지 않은 방식으로 겹치지 않는지 확인합니다.

![\[Table showing behaviors with path patterns, origins, and policies for different URL paths.\]](http://docs.aws.amazon.com/ko_kr/mediatailor/latest/ug/images/bhv.png)


### 우선순위 0: 광고 세그먼트 경로 동작
<a name="cf-transcode-manage-behavior"></a>

이 동작은 세그먼트 경로 동작에서 리디렉션된 요청을 처리하여 실제 광고 세그먼트를 처리합니다. CloudFront는 `/tm/*` 경로 패턴이 있는 모든 요청에 다음 동작을 적용합니다. 광고 세그먼트 전송은 중단 없는 재생에 중요하기 때문에이 동작이 가장 우선 순위가 높습니다.
+ **경로 패턴:** `/tm/*`

  이 패턴과 일치하는 URLs예:
  + `https://your-distribution.cloudfront.net/tm/ad-segment-001.ts`
  + `https://your-distribution.cloudfront.net/tm/transcoded-ad.m4s`
+ **오리진:** `segments.mediatailor.region.amazonaws.com` 도메인으로 생성한 오리진입니다.

  오리진에 대한 이전 섹션의 예제에서 **MediaTailorSegments**입니다.
+ **캐시 정책:** `Managed-CachingOptimized`

  CloudFront 관리형 캐시 정책에 포함된 항목에 대한 자세한 내용은 CloudFront 사용 설명서의 [CachingOptimized](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html#managed-cache-caching-optimized)를 참조하세요. 타사 CDN의 관리형 정책에서 이러한 동일한 설정을 사용할 수도 있습니다.
+ **오리진 요청 정책:** `None`
+ **응답 헤더 정책:** `Managed-CORS-with-preflight-and-SecurityHeadersPolicy`

  응답 헤더 정책에 포함된 항목에 대한 자세한 내용은 CloudFront 사용 설명서의 [CORS-with-preflight-and-SecurityHeadersPolicy](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-response-headers-policies.html#managed-response-headers-policies-cors-preflight-security)를 참조하세요.

#### 이러한 설정을 다른 CDNs에 적용
<a name="adapting-to-other-cdns"></a>

CloudFront 이외의 CDN을 사용하는 경우 다음을 수행하는 것과 동등한 설정을 찾습니다.

**경로 패턴 일치**  
MediaTailor 광고 세그먼트를 처리하도록 `/tm/*` 경로 패턴에 대한 특정 동작 구성

**캐시 키 구성**  
캐시 키에 `Origin` 헤더를 포함하여 응답이 서로 다른 오리진에 대해 별도로 캐시되도록 합니다.

**헤더 전달**  
`Origin` 헤더 및 기타 CORS 관련 헤더를 오리진에 전달

**응답 헤더 관리**  
응답에 `Access-Control-Allow-Origin` 헤더가 표시되도록 CDN 구성

특정 용어 및 구성 옵션은 CDN 공급자에 따라 다르지만 기본 원칙은 동일하게 유지됩니다.

### 우선순위 1: 서버 안내 광고 삽입 동작
<a name="cf-sgai-behavior"></a>

이 동작은 고객이 캐시 가능한 매니페스트를 제공하는 안내 모드를 구성할 때 [MediaTailor 서버 가이드 광고 삽입 개요 및 구현](server-guided.md) (SGAI) 요청을 처리합니다. CloudFront는 `/v1/i-media/*` 경로 패턴이 있는 모든 요청에 다음 동작을 적용합니다. 매니페스트는 최종 사용자별로 고유하지 않으므로 SGAI를 사용하면 캐싱 성능이 향상됩니다.
+ **경로 패턴:** `/v1/i-media/*` (SGAI의 iMedia 경로)

  이 패턴과 일치하는 URLs예:
  + `https://your-distribution.cloudfront.net/v1/i-media/your-config/manifest.m3u8`
  + `https://your-distribution.cloudfront.net/v1/i-media/your-config/playlist.mpd`
+ **오리진:** `manifests.mediatailor.region.amazonaws.com` 도메인으로 생성한 오리진입니다.

  오리진에 대한 이전 섹션의 예제에서 **MediaTailorManifests**입니다.
+ **캐시 정책:** `Managed-CachingOptimized`

  CloudFront 관리형 캐시 정책에 포함된 항목에 대한 자세한 내용은 CloudFront 사용 설명서의 [CachingOptimized](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html#managed-cache-caching-optimized)를 참조하세요. 타사 CDN의 관리형 정책에서 이러한 동일한 설정을 사용할 수도 있습니다.
+ **오리진 요청 정책:** `None`
+ **응답 헤더 정책:** `Managed-CORS-with-preflight-and-SecurityHeadersPolicy`

  응답 헤더 정책에 포함된 항목에 대한 자세한 내용은 CloudFront 사용 설명서의 [CORS-with-preflight-and-SecurityHeadersPolicy](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-response-headers-policies.html#managed-response-headers-policies-cors-preflight-security)를 참조하세요.

### 우선순위 2: 개인화된 매니페스트 동작
<a name="cf-personalized-manifest-behavior"></a>

이 동작은 개인화된 매니페스트 요청을 처리합니다. CloudFront는 `/v1/*` 경로 패턴이 있는 모든 요청에 다음 동작을 적용합니다. CloudFront는 다음 동작을 적용하고 개인화된 매니페스트는 최종 사용자별 광고 콘텐츠 URLs 포함하므로 캐싱하지 않습니다. 이러한 동작은 `/v1/*` 경로 패턴이 있는 모든 요청에 적용됩니다. 이는 각 최종 사용자가 맞춤형 광고 삽입이 포함된 고유한 매니페스트를 수신하는 핵심 MediaTailor 기능입니다.
+ **경로 패턴:** `/v1/*` (표준 V1 MediaTailor 요청)

  이 패턴과 일치하는 URLs예:
  + `https://your-distribution.cloudfront.net/v1/master/your-config/manifest.m3u8`
  + `https://your-distribution.cloudfront.net/v1/dash/your-config/manifest.mpd`
+ **오리진:** `manifests.mediatailor.region.amazonaws.com` 도메인으로 생성한 오리진입니다.

  오리진에 대한 이전 섹션의 예제에서 **MediaTailorManifests**입니다.
+ **캐시 정책:** `Managed-CachingDisabled`

  캐시 정책에 포함된 항목에 대한 자세한 내용은 CloudFront 사용 설명서의 [CachingDisabled](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html#managed-cache-policy-caching-disabled)를 참조하세요.
+ **오리진 요청 정책:** `AllViewer`

  개인화된 매니페스트의 경우 `AllViewer` 정책을 사용하여 동적 콘텐츠에 필요한 모든 헤더를 전달합니다.
+ **응답 헤더 정책:** `Managed-CORS-with-preflight-and-SecurityHeadersPolicy`

  응답 헤더 정책에 포함된 항목에 대한 자세한 내용은 CloudFront 사용 설명서의 [CORS-with-preflight-and-SecurityHeadersPolicy](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-response-headers-policies.html#managed-response-headers-policies-cors-preflight-security)를 참조하세요.

**수락-인코딩 헤더**  
CDN이 최종 사용자로부터 `Accept-Encoding` 헤더를 보존하는 것이 좋습니다. 이 헤더는 맞춤형 매니페스트 압축에 대한 MediaTailor 지침을 제공합니다.

CloudFront에서 `AllViewerAndCloudFrontHeaders` 오리진 요청 정책에는 최종 사용자의 `Accept-Encoding` 헤더 전달이 포함됩니다. 다른 CDN을 사용하는 경우이 헤더를 보존해야 합니다.

다음은 MediaTailor가 `Accept-Encoding` 헤더를 처리하는 방법입니다.
+ **레거시 디바이스:** gzip을 지원하지 않는 이전 스마트 TVs는 Accept-Encoding 헤더를 보내지 않으므로 MediaTailor는 압축되지 않은 매니페스트를 반환합니다.
+ **최신 디바이스:** iPhones, Chrome 브라우저 및 기타 최신 클라이언트가 Accept-Encoding 헤더를 전송하여 MediaTailor가 전송 전에 매니페스트를 압축하도록 허용

### 우선순위 3: 서버 측 비컨 경로 동작
<a name="cf-segment-path-behavior"></a>

이 동작은 MediaTailor에 대한 요청을 처리하여에 대한 리디렉션을 생성합니다[서버 측 추적](ad-reporting-server-side.md). 이러한 요청은 비컨을 추적하는 데 필수적이므로 모든 요청은 MediaTailor에서 처리해야 합니다. CloudFront는 `/segment/*` 경로 패턴이 있는 모든 요청에 다음 동작을 적용합니다.
+ **경로 패턴:** `/segment/*`

  이 패턴과 일치하는 URLs예:
  + `https://your-distribution.cloudfront.net/segment/tracking-beacon-123`
  + `https://your-distribution.cloudfront.net/segment/ad-request-456.ts`
+ **오리진:** `manifests.mediatailor.region.amazonaws.com` 도메인으로 생성한 오리진입니다.

  오리진에 대한 이전 섹션의 예제에서 **MediaTailorManifests**입니다.
+ **캐시 정책:** `Managed-CachingDisabled`

  캐시 정책에 포함된 항목에 대한 자세한 내용은 CloudFront 사용 설명서의 [CachingDisabled](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html#managed-cache-policy-caching-disabled)를 참조하세요.
+ **오리진 요청 정책:** `AllViewer`

  서버 측 비컨 요청의 경우 `AllViewer` 정책을 사용하여 추적에 필요한 모든 헤더를 전달합니다. 이러한 요청은 캐시되지 않으므로 캐시 중독 위험이 없습니다.
+ **응답 헤더 정책:** `Managed-CORS-with-preflight-and-SecurityHeadersPolicy`

  응답 헤더 정책에 포함된 항목에 대한 자세한 내용은 CloudFront 사용 설명서의 [CORS-with-preflight-and-SecurityHeadersPolicy](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-response-headers-policies.html#managed-response-headers-policies-cors-preflight-security)를 참조하세요.

MediaTailor는 이러한 요청을 처리할 때 실제 세그먼트 위치를 가리키는 경로와 함께 302 리디렉션 응답을 반환합니다. 예를 들어에 대한 요청은 세그먼트 오리진`/tm/encoded-ad-segment.ts`에서 로 리디렉션`/segment/ad123.ts`될 수 있습니다.

### 우선순위 4: 콘텐츠 오리진 경로 동작
<a name="cf-default-behavior"></a>

요청 경로가 다른 패턴과 일치하지 않는 경우 CloudFront는 기본 동작을 적용합니다. 이 동작은 MediaTailor에서 처리하지 않고 요청을 콘텐츠 오리진으로 직접 전송합니다. 이렇게 하면 필요한 경우 콘텐츠 오리진(예: MediaPackage V2)에 직접 액세스할 수 있습니다. CloudFront는 이전 경로 패턴을 포함하지 않는 모든 요청에 다음 동작을 적용합니다.
+ **경로 패턴:** `(*)` 
+ **오리진:** 콘텐츠 오리진의 도메인으로 생성한 오리진입니다.

  오리진에 대한 이전 섹션의 예제에서 **ContentOrigin**입니다.
+ **캐시 정책:** `Managed-CachingOptimized`

  CloudFront 관리형 캐시 정책에 포함된 항목에 대한 자세한 내용은 CloudFront 사용 설명서의 [CachingOptimized](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html#managed-cache-caching-optimized)를 참조하세요. 타사 CDN의 관리형 정책에서 이러한 동일한 설정을 사용할 수도 있습니다.
**참고**  
지연 시간이 짧은 HLS 구현의 경우 표준 정책 대신 지연 시간이 짧은 HLS(LLH) 명령과 함께 사용자 지정 캐싱 `CachingOptimized` 정책을 사용하는 것이 좋습니다.
+ **오리진 요청 정책:** `None`
+ **응답 헤더 정책:** `Managed-CORS-with-preflight-and-SecurityHeadersPolicy`

  기본 콘텐츠 오리진 동작은 일반적으로 광고 세그먼트 동작과 동일한 CORS 캐시 중독 위험에 직면하지 않지만 응답 `Managed-CORS-with-preflight-and-SecurityHeadersPolicy` 헤더 정책을 사용하고 캐시 키에 `Origin` 헤더를 포함하는 것이 좋습니다. 이렇게 하면 모든 콘텐츠 유형에서 일관된 CORS 처리를 보장하고 웹 기반 플레이어의 잠재적 재생 문제를 방지할 수 있습니다.

  콘텐츠 세그먼트의 경우 `Managed-CachingOptimized` 캐시 정책은 우수한 성능을 제공하는 반면 `Managed-CORS-with-preflight-and-SecurityHeadersPolicy` 응답 헤더 정책은 적절한 CORS 처리를 보장합니다. 이 조합을 통해 CORS 헤더가 필요한 웹 기반 플레이어와의 호환성을 유지하면서 효율적인 캐싱이 가능합니다.

  광고 세그먼트와 콘텐츠 세그먼트 모두에 일관된 CORS 처리를 적용하면 보다 안정적인 재생 환경이 생성되고 문제 해결이 간소화됩니다. 적절한 CORS 구성이 없으면 콘텐츠와 광고 간에 전환할 때 플레이어가 일관되지 않은 동작을 경험할 수 있습니다.

  응답 헤더 정책에 포함된 항목에 대한 자세한 내용은 CloudFront 사용 설명서의 [CORS-with-preflight-and-SecurityHeadersPolicy](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-response-headers-policies.html#managed-response-headers-policies-cors-preflight-security)를 참조하세요.

# CDN 및 MediaTailor 통합에 대한 지원 및 문제 해결 도움말 받기
<a name="cdn-get-help"></a>

AWS Elemental MediaTailor CDN 통합 문제는 진단 및 해결이 복잡할 수 있습니다. 셀프 서비스 문제 해결을 통해 해결할 수 없는 CDN 및 MediaTailor 통합 문제에 대한 추가 도움이 필요한 경우이 가이드를 사용하세요.

**에스컬레이션하기 전에 다음 셀프 서비스 옵션을 시도해 보세요.**
+ 의 문제 해결 단계를 따릅니다. [CDN 통합 문제 해결](cdn-troubleshooting.md) 
+ 를 사용하여 로그 및 오류 코드 분석 [CDN 통합 로그 분석 참조](cdn-log-error-reference.md)
+ 를 사용하여 모니터링 설정 검토 [모니터링 도구 설정](cdn-monitoring.md#cdn-monitor-tools-setup)
+ [MediaTailor 문제 해결 가이드](https://docs.aws.amazon.com/mediatailor/latest/ug/troubleshooting.html)에서 서비스별 문제를 확인하세요.
+ [AWS re:Post](https://repost.aws/)에서 유사한 문제 및 커뮤니티 솔루션 검색
+ [AWS 지식 센터에서](https://aws.amazon.com/premiumsupport/knowledge-center/) 일반적인 통합 패턴 검토

**Topics**
+ [Support로 에스컬레이션해야 하는 경우](#when-to-escalate)
+ [지원을 위한 정보 수집](#information-to-gather)
+ [지원 리소스](#support-resources)
+ [지원 사례 모범 사례](#support-case-best-practices)

## MediaTailor CDN 문제를 AWS Support로 에스컬레이션해야 하는 경우
<a name="when-to-escalate"></a>

AWS Elemental MediaTailor 셀프 서비스 문제 해결로 문제가 해결되지 않으면 CDN 통합 문제를 AWS Support에 에스컬레이션해야 합니다. 다음과 같은 경우 Support로 AWS 에스컬레이션하는 것이 좋습니다.

**참고:** 기술 지원에는 유료 AWS 지원 플랜이 필요합니다. 지원 플랜 세부 정보 및 응답 시간은 [AWS 지원 플랜](https://aws.amazon.com/premiumsupport/plans/)을 참조하세요.
+ 문제는 프로덕션 트래픽 또는 수익에 영향을 미칩니다.
+ 해결하지 않고 모든 문제 해결 단계를 따랐습니다.
+ 오류 패턴은 서비스 수준 문제를 시사합니다.
+ 복잡한 구성 시나리오에 대한 지원이 필요한 경우
+ 최적화 노력에도 불구하고 성능 문제가 지속됨

## 지원 센터에 문의하기 전에 MediaTailor CDN 정보를 수집합니다.
<a name="information-to-gather"></a>

AWS Elemental MediaTailor CDN 통합 지원 사례에는 효과적인 문제 해결을 위한 특정 구성 및 진단 정보가 필요합니다. AWS Support에 문의하기 전에이 정보를 수집하여 문제를 신속하게 해결할 수 있습니다.

**팁:** 지원 사례를 생성하기 전에이 정보를 준비하면 해결 시간을 크게 줄이고 지원 엔지니어가 특정 구성을 이해하는 데 도움이 됩니다.
+ **MediaTailor 구성 세부 정보:**
  + 구성 이름 및 AWS 리전
  + 재생 구성 ARN
  + ADS URL 및 통합 유형
+ **CDN 구성 세부 정보:**
  + CDN 배포 ID 또는 구성 이름
  + 매니페스트 및 세그먼트에 대한 캐시 동작 구성
  + 오리진 구성 및 라우팅 규칙
+ **오류 정보:**
  + 특정 오류 메시지 및 HTTP 상태 코드
  + 문제 발생 시 타임스탬프
  + 문제를 보여주는 샘플 URLs 
  + 문제와 관련된 CDN 및 MediaTailor 로그 항목
+ **테스트 정보:**
  + 문제 해결을 위해 이미 수행한 단계
  + 문제가 발생하는 디바이스 및 플레이어
  + 문제가 모든 콘텐츠 또는 특정 스트림에 영향을 미치는지 여부
  + 문제의 빈도 및 패턴(간접, 일관성, 시간 기반)

## MediaTailor CDN 통합 지원 리소스 및 채널
<a name="support-resources"></a>

AWS Elemental MediaTailor CDN 통합 지원은 여러 채널을 통해 사용할 수 있으므로 문제를 해결하고 구현을 최적화하는 데 도움이 됩니다.
+ **AWS 지원:** 기술 지원을 위해 AWS Management Console을 통해 지원 사례 생성

  액세스: [AWS 지원 센터](https://console.aws.amazon.com/support/home)
+ **AWS re:Post:** AWS관련 질문 및 커뮤니티 지원을 위한 커뮤니티 기반 Q&A 플랫폼

  액세스: [AWS re:Post](https://repost.aws/)
+ **AWS 설명서:** MediaTailor 및 CDN 서비스에 대한 포괄적인 가이드

  액세스: [MediaTailor 설명서](https://docs.aws.amazon.com/mediatailor/) 및 [CloudFront 설명서](cloudfront/)
+ **AWS 교육:** 미디어 서비스 및 CDN 최적화를 위한 과정 및 인증

  액세스: [AWS 훈련 및 인증](https://aws.amazon.com/training/)
+ **AWS 지식 센터:** 일반적인 AWS 문제 및 모범 사례에 대해 큐레이션된 문서

  액세스: [AWS 지식 센터](https://aws.amazon.com/premiumsupport/knowledge-center/)
+ **AWS Trusted Advisor:** 최적화 및 모범 사례를 위한 자동화된 권장 사항

  액세스: [AWS Trusted Advisor](https://console.aws.amazon.com/trustedadvisor/home)
+ **AWS Personal Health Dashboard:** 서비스 상태 및 유지 관리 알림

  액세스: [AWS Personal Health Dashboard](https://console.aws.amazon.com/phd/home)

## MediaTailor CDN 통합 지원 사례 모범 사례
<a name="support-case-best-practices"></a>

AWS Elemental MediaTailor 이러한 모범 사례를 따르면 CDN 통합 지원 사례가 더 효율적으로 해결됩니다. 가장 빠른 해상도를 얻으려면:
+ 비즈니스 영향에 따라 적절한 심각도 수준을 선택합니다.
+ 초기 사례 제출 시 모든 관련 정보를 제공합니다.
+ 특정 예제 및 복제 단계 포함
+ 관련 로그 파일 및 구성 스크린샷 첨부
+ 추가 정보에 대한 엔지니어 요청 지원에 즉시 대응

**추가 지원 리소스:**
+ [AWS 지원 사례 관리](https://docs.aws.amazon.com/awssupport/latest/user/case-management.html) - 지원 사례 생성 및 관리 가이드
+ [AWS 지원 플랜](https://aws.amazon.com/premiumsupport/plans/) - 지원 플랜 기능 및 응답 시간 비교
+ [워크로드 지원 준비](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/prepare-to-support-workloads.html) - 운영 준비에 대한 Well-Architected 지침
+ [AWS Well-Architected Framework](https://aws.amazon.com/architecture/well-architected/) -에서 워크로드를 구축하고 운영하는 모범 사례 AWS