기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
CloudFront 기능으로 MediaTailor 성능 최적화
AWS Elemental MediaTailor 기본 구성 이외의 추가 기능을 통해 Amazon CloudFront의 성능을 향상시킬 수 있습니다. MediaTailor를 사용하여 기본 CloudFront 구성을 설정한 후 추가 기능을 구현하여 성능, 안정성 및 사용자 지정 옵션을 개선할 수 있습니다. 이러한 최적화는 더 나은 시청 환경을 제공하는 데 도움이 됩니다. 또한 비용과 오리진 부하를 줄입니다.
Origin Shield를 사용하여 오리진 로드 줄이기
Origin Shield는 CloudFront 엣지 로케이션과 오리진 서버 사이에 캐싱 계층을 추가합니다. 이 기능은 라이브 스트리밍 및 인기 VOD 콘텐츠에 유용합니다. 많은 시청자가 동시에 동일한 콘텐츠를 요청할 때 도움이 됩니다.
Origin Shield는 여러 엣지 로케이션의 요청을 통합하여 MediaTailor 및 콘텐츠 오리진에 대한 부하를 줄입니다.
MediaTailor 오리진에 대해 Origin Shield를 활성화하려면
-
CloudFront 콘솔을 열고 배포로 이동합니다.
-
MediaTailor 재생 구성을 가리키는 오리진을 선택합니다.
-
Origin Shield에서 예를 선택합니다.
-
드롭다운 메뉴에서 MediaTailor 엔드포인트에 가장 가까운 AWS 리전을 선택합니다.
-
변경 내용을 저장합니다.
트래픽이 많은 이벤트의 경우 Origin Shield는 오리진에 대한 요청 부하를 크게 줄이고 신뢰성을 개선합니다. 자세한 지침은 CloudFront 개발자 안내서의 Origin Shield 활성화를 참조하세요.
CloudFront 함수를 사용하여 콘텐츠 전송 사용자 지정
CloudFront 함수를 사용하면 엣지에서 경량 JavaScript 코드를 실행하여 최종 사용자 요청 및 응답을 수정할 수 있습니다. URL 수정, 헤더 조작 또는 기본 인증과 같은 간단한 사용자 지정에 이러한 함수를 사용할 수 있습니다. MediaTailor 워크플로의 경우 함수는 복잡한 처리가 필요하지 않은 작업을 지원합니다.
CloudFront 함수는 엣지에서 콘텐츠 전송을 사용자 지정하는 간단한 방법을 제공합니다. 다음은 MediaTailor 통합을 위해 이를 구현하는 방법입니다.
MediaTailor용 CloudFront 함수를 구현하려면
-
CloudFront 콘솔에서 함수로 이동합니다.
-
새 함수를 생성하고 적절한 용도를 선택합니다.
-
URL 조작 - MediaTailor에 도달하기 전에 다변량 재생 목록, 미디어 재생 목록 및 MPD 요청 URLs 수정하려면
-
헤더 조작 - 요청 헤더를 추가하거나 수정하려면
-
단순 인증 - 토큰 또는 쿼리 파라미터를 검증하려면
-
-
JavaScript 함수 코드를 작성합니다.
-
샘플 MediaTailor 요청으로 함수를 테스트합니다.
-
함수를 게시하고 배포의 캐시 동작과 연결합니다.
예 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 함수를 사용하여 엣지에서 사용자 지정을 참조하세요. CloudFront
Lambda@Edge를 사용하여 고급 사용자 지정 구현
CloudFront Functions가 제공할 수 있는 것보다 더 복잡한 처리 기능이 필요한 경우 Lambda@Edge를 사용합니다. 이 서비스를 사용하면 CloudFront 엣지 로케이션에서 Node.js 또는 Python 함수를 실행할 수 있습니다.
Lambda@Edge 함수는 복잡한 인증, 대규모 응답 수정 또는 타사 API 통합과 같은 정교한 작업을 수행할 수 있습니다.
보다 복잡한 사용자 지정을 위해 MediaTailor 및 CloudFront 통합과 함께 Lambda@Edge 함수를 사용합니다.
MediaTailor를 사용하여 Lambda@Edge를 구현하려면
-
미국 동부(버지니아 북부) 리전에 Lambda 함수를 생성합니다.
-
다음 사용 사례 중 하나에 대한 함수 코드를 작성합니다.
-
URL 조작 - MediaTailor에 도달하기 전에 다변량 재생 목록, 미디어 재생 목록 및 MPD 요청 URLs 수정하려면
-
A/B 테스트 - 사용자를 다른 광고 결정 서버로 라우팅하려면
-
인증 요청 - 인증 헤더를 추가하려면
-
응답 헤더 수정 - CORS 헤더를 추가하려면
-
-
함수 버전을 게시하고 함수 별칭을 생성합니다.
-
함수를 적절한 트리거 지점(최종 사용자 요청 또는 최종 사용자 응답)에서 CloudFront 배포와 연결합니다.
참고
MediaTailor와 함께 Lambda@Edge를 사용하는 경우 현재 호환되지 않으므로 Media Quality-Aware Resiliency(MQAR) 기능을 사용할 계획이라면 오리진 대상 트리거(오리진 요청 및 오리진 응답)를 사용하지 마세요.
자세한 내용과 코드 예제는 CloudFront 개발자 안내서의 Lambda@Edge를 사용하여 엣지에서 사용자 지정을 참조하세요.
추가 성능 최적화 팁
성능을 더욱 개선하려면 다음과 같은 추가 최적화를 고려하세요.
- 캐시 적중률 최적화
-
CloudFront 지표에서 캐시 적중률을 모니터링하고 개선할 기회를 찾습니다.
-
URL 패턴을 표준화하여 캐시 키 일관성 향상
-
쿼리 문자열 화이트리스트를 사용하여 캐시 키에 필요한 파라미터만 포함
-
CloudFront 함수를 사용하여 URL 정규화 구현 고려
-
- 지연 시간 단축
-
다음 기술을 구현하여 지연 시간을 최소화합니다.
-
텍스트 기반 응답에 대해 Brotli 압축 활성화
-
연결 효율성 향상을 위해 HTTP/2 또는 HTTP/3 사용
-
최신 네트워크에 대한 IPv6 지원 활성화 고려
-
- 비용 최적화
-
성능과 비용 효율성의 균형을 맞춥니다.
-
Origin Shield를 사용하여 중복 오리진 요청 감소
-
대상 지역에 따른 가격 등급 선택 고려
-
세그먼트에 대해 공격적인 캐싱을 구현하여 오리진 트래픽 감소
-
다음 단계
CloudFront 기능으로 성능을 최적화한 후 다음 단계를 고려하세요.
-
MQAR을 사용하여 다중 리전 복원력 구현( 참조MQAR을 사용하여 MediaTailor에 대한 다중 리전 복원력 구현)
-
모니터링 및 문제 해결 설정( 참조CloudFront 및 MediaTailor 통합 모니터링 및 문제 해결)