

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

# MediaTailor와의 기본 CloudFront 통합 설정
기본 CloudFront 설정

AWS Elemental MediaTailor Amazon CloudFront와 통합하면 최종 사용자의 콘텐츠 전송 성능이 향상됩니다. 이 주제에서는 MediaTailor에 대한 기본 CloudFront 배포를 설정하는 방법을 안내합니다. 이 통합을 통해 최종 사용자는 CloudFront 네트워크를 통해 개인화된 콘텐츠에 액세스할 수 있습니다. 또한 다양한 콘텐츠 유형에 적합한 캐싱을 구성하는 방법도 알아봅니다.

권한 부여 및 라우팅을 위해 CloudFront를 통해 쿼리 파라미터를 전달하는 방법에 대한 자세한 내용은 섹션을 참조하세요[MediaTailor 매니페스트 쿼리 파라미터](manifest-query-parameters.md). 동적 변수를 사용한 고급 라우팅은 섹션을 참조하세요[여러 콘텐츠 소스에 대한 MediaTailor 도메인 변수](variables-domains.md).

## 사전 조건


MediaTailor로 CloudFront를 구성하기 전에 다음이 있는지 확인합니다.
+ CloudFront 배포를 생성하고 관리할 수 있는 권한이 있는 활성 AWS 계정
+ 구성된 MediaTailor 재생 구성( 참조[AWS Elemental MediaTailor 를 사용하여 광고 삽입](configurations.md))
+ 콘텐츠 오리진 서버를 올바르게 설정하고 액세스할 수 있습니다.
+ 비디오 스트리밍 개념에 대한 기본 이해(HLS/DASH)

## CloudFront 배포 구성


다음 단계에 따라 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)을 선택합니다.

## 캐시 동작 구성


배포를 생성한 후에는 다양한 유형의 콘텐츠를 적절하게 처리하도록 추가 캐시 동작을 구성해야 합니다. 이 섹션에서는 CloudFront의 기본 캐시 동작 설정을 다룹니다.

고급 TTL 설정, 캐시 키 구성 및 성능 튜닝을 포함한 포괄적인 캐싱 최적화는 CDN 최적화 가이드[CDN 및 MediaTailor 통합을 위한 캐싱 최적화](cdn-optimize-caching.md)의 섹션을 참조하세요.

### 매니페스트 캐시 동작 구성


매니페스트에는 개인 맞춤형 콘텐츠가 포함되어 있으므로 캐시하지 마세요. 다음 단계에 따라 캐시 동작을 구성합니다.

**매니페스트 캐시 동작을 구성하려면**

1. CloudFront 콘솔에서 배포를 선택합니다.

1. **동작** 탭을 선택합니다.

1. **동작 만들기(Create behavior)**를 선택합니다.

1. **경로 패턴**에 `*.m3u8`를 입력하여 HLS 다변량 및 미디어 재생 목록과 일치시킵니다.

1. **오**리진에서 MediaTailor 오리진을 선택합니다.

1. **캐시 정책**에서 **CachingDisabled** 선택합니다.

1. **오리진 요청 정책**에서 **AllViewer**를 선택하여 동적 콘텐츠에 필요한 모든 헤더를 전달합니다.

1. **생성(Create)**을 선택합니다.

1. 경로 패턴을 사용하여 MPDs`*.mpd`와 일치하는 DASH 매니페스트에 대해이 단계를 반복합니다.

이 구성을 사용하면 각 최종 사용자가 특정 광고 콘텐츠가 포함된 개인화된 매니페스트를 수신할 수 있습니다. CDN은 이러한 매니페스트를 캐싱하지 않으므로 각 요청은 MediaTailor로 직접 전달됩니다.

### 세그먼트 캐시 동작 구성


성능을 최적화하고 적절한 CORS 처리를 보장하기 위해 광고 세그먼트 및 콘텐츠 세그먼트에 대해 별도의 캐시 동작을 구성합니다.

#### 광고 세그먼트 캐시 동작 구성


`/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)**을 선택합니다.

#### 콘텐츠 세그먼트 캐시 동작 구성


콘텐츠 세그먼트는 최적의 성능을 위해 표준 캐싱 정책을 사용할 수 있습니다. 다양한 세그먼트 형식에 대해 별도의 동작을 구성합니다.

**콘텐츠 세그먼트 캐시 동작을 구성하려면**

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 구성 업데이트


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을 사용하여 매니페스트를 생성합니다.

## 통합 테스트


CloudFront 배포를 구성하고 MediaTailor 구성을 업데이트한 후 통합을 테스트합니다.

**CloudFront 및 MediaTailor 통합을 테스트하려면**

1. CloudFront 배포를 통해 매니페스트를 요청합니다(예: `https://d1234abcdef.cloudfront.net/v1/master/12345/my-config/index.m3u8`).

1. 매니페스트에 CloudFront 도메인을 가리키URLs이 포함되어 있는지 확인합니다.

1. 비디오 플레이어를 통해 콘텐츠를 재생하고 콘텐츠와 광고가 모두 올바르게 재생되는지 확인합니다.

1. CloudFront 로그를 확인하여 요청이 올바르게 라우팅되고 있는지 확인합니다.

## 구성의 예


다음은 적절한 캐시 동작이 있는 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` 

## 다음 단계


MediaTailor와의 기본 CloudFront 통합을 설정한 후 다음 단계를 고려하세요.
+ 추가 CloudFront 기능으로 성능 최적화( 참조[CloudFront 기능으로 MediaTailor 성능 최적화](cloudfront-performance-optimization.md))
+ MQAR을 사용하여 다중 리전 복원력 구현( 참조[MQAR을 사용하여 MediaTailor에 대한 다중 리전 복원력 구현](media-quality-resiliency.md))
+ 모니터링 및 문제 해결 설정( 참조[CloudFront 및 MediaTailor 통합 모니터링 및 문제 해결](monitoring-and-troubleshooting.md))