비디오 트랜스코딩 워크로드를 위한 Amazon ECS 태스크 정의

비디오 트랜스코딩 워크로드를 위한 Amazon ECS 태스크 정의

Amazon ECS에서 비디오 트랜스코딩 워크로드를 사용하려면 Amazon EC2 VT1 인스턴스를 등록해요. 인스턴스를 등록한 뒤에는 라이브 및 사전 렌더링(pre-rendered) 비디오 트랜스코딩 워크로드를 Amazon ECS에서 태스크로 실행할 수 있습니다. Amazon EC2 VT1 인스턴스는 Xilinx U30 미디어 트랜스코딩 카드를 사용해 라이브 및 사전 렌더링 비디오 트랜스코딩 워크로드를 가속합니다.

출처: 문서

본문

Amazon ECS에서 비디오 트랜스코딩 워크로드를 사용하려면 Amazon EC2 VT1 인스턴스를 등록해야 합니다. 등록 후에는 라이브 및 사전 렌더링 비디오 트랜스코딩 워크로드를 태스크로 실행할 수 있어요. Amazon EC2 VT1 인스턴스는 Xilinx U30 미디어 트랜스코딩 카드로 이러한 워크로드를 가속합니다.

참고: Amazon ECS 외의 컨테이너에서 비디오 트랜스코딩 워크로드를 실행하는 방법은 Xilinx 문서를 참고하세요.

고려 사항

Amazon ECS에 VT1을 배포하기 전에 다음을 고려하세요.

  • 클러스터는 VT1과 비-VT1 인스턴스가 섞여 있을 수 있습니다.
  • 가속화된 AVC(H.264)와 HEVC(H.265) 코덱을 사용하는 Xilinx U30 미디어 트랜스코딩 카드를 사용하는 Linux 애플리케이션이 필요합니다.

    중요: 다른 코덱을 사용하는 애플리케이션은 VT1 인스턴스에서 성능이 향상되지 않을 수 있습니다.

  • 하나의 U30 카드에는 트랜스코딩 태스크 하나만 실행할 수 있습니다. 각 카드에는 두 개의 디바이스가 연결되어 있습니다. VT1 인스턴스의 카드 수만큼 트랜스코딩 태스크를 실행할 수 있어요.
  • 서비스를 만들거나 독립 실행형 태스크를 실행할 때, 태스크 배치 제약(placement constraints)을 구성하는 데 인스턴스 유형 속성을 사용할 수 있습니다. 이렇게 하면 지정한 컨테이너 인스턴스에서 태스크가 시작되도록 보장합니다. 이는 리소스를 효과적으로 사용하고 비디오 트랜스코딩 태스크가 VT1 인스턴스에 배치되도록 하는 데 도움이 됩니다. 자세한 내용은 "How Amazon ECS places tasks on container instances"를 참고하세요.

다음 예제에서는 기본 클러스터의 vt1.3xlarge 인스턴스에서 태스크를 실행합니다.

aws ecs run-task \
    --cluster default \
    --task-definition <vt1-3xlarge-xffmpeg-processor> \
    --placement-constraints type=memberOf,expression="attribute:ecs.instance-type == vt1.3xlarge"

호스트 컨테이너 인스턴스에서 사용할 수 있는 특정 U30 카드를 사용하도록 컨테이너를 구성할 수 있습니다. linuxParameters 파라미터를 사용하고 디바이스 세부 정보를 지정하면 됩니다. 자세한 내용은 "Task definition requirements"를 참고하세요.

VT1 AMI 사용하기

Amazon ECS 컨테이너 인스턴스용 AMI를 Amazon EC2에서 실행하는 방법은 두 가지가 있습니다. 첫 번째는 AWS Marketplace에서 Xilinx 공식 AMI를 사용하는 것이고, 두 번째는 샘플 리포지토리에서 직접 AMI를 빌드하는 것입니다.

  • Xilinx는 AWS Marketplace에서 AMI를 제공합니다.
  • Amazon ECS는 비디오 트랜스코딩 워크로드용 AMI를 빌드할 수 있는 샘플 리포지토리를 제공합니다. 이 AMI에는 Xilinx U30 드라이버가 포함되어 있습니다. Packer 스크립트가 들어 있는 리포지토리는 GitHub에서 찾을 수 있어요.

더 알아보기 (Learn more)

  • 태스크 배치와 VT1 인스턴스에 대한 자세한 내용은 AWS 공식 문서를 참고해 주세요.