기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
혼합 아키텍처 작업 실행(X86_64 및 ARM64)
단일 Amazon ECS 관리형 인스턴스 컴퓨팅 환경 및 작업 대기열은 X86_64 및 ARM64 (AWS Graviton 프로세서 기반) 작업을 모두 실행할 수 있습니다. 각 작업은 작업 정의에 선언된 CPU 아키텍처와 일치하는 용량으로 실행됩니다. 작업 정의에서를 사용하여 아키텍처runtimePlatform.cpuArchitecture를 설정합니다. 컴퓨팅 환경에서는 아키텍처를 구성하지 않습니다.
혼합 아키텍처 작업을 실행하려면 두 아키텍처를 모두 지원하는 컨테이너 이미지(다중 아키텍처 이미지 매니페스트)를 제공하고가 X86_64 또는 로 설정하는 아키텍처당 하나의 작업 정의를 등록runtimePlatform.cpuArchitecture합니다ARM64. 두 작업 정의 중 하나에 대한 작업을 동일한 작업 대기열에 제출할 수 있습니다.
"runtimePlatform": { "operatingSystemFamily": "LINUX", "cpuArchitecture": "ARM64" }
그런 다음 다음 방법 중 하나로 컴퓨팅 환경을 설정합니다.
-
모든 인스턴스 유형을 적격
instanceRequirements으로 만들려면 생략합니다. -
작업
allowedInstanceTypes에서 사용하는 모든 아키텍처를 포함하는를 지정합니다.
- 인스턴스 유형 지정 안 함
-
(
managedInstancesProvider.instanceLaunchTemplate컴퓨팅 환경에서 사용할 수 있는 인스턴스 유형을 제한하는 설정)에서instanceRequirements필드를 생략합니다. 모든 인스턴스 유형을 사용할 수 있으며 Amazon ECS는 각 작업의와 일치하는 용량을 선택합니다runtimePlatform.cpuArchitecture.X86_64작업은 x86 인스턴스에서 시작되고ARM64작업은 동일한 컴퓨팅 환경의 AWS Graviton 인스턴스에서 시작됩니다. - 필요한 아키텍처를 포함하는 인스턴스 유형 지정
-
를 설정하는 경우 작업이 선언하는 모든 아키텍처에 인스턴스 유형을
instanceRequirements.allowedInstanceTypes포함합니다. Amazon ECS는 사용자가 허용하는 인스턴스 유형에서 아키텍처를 유추합니다. 허용되는 인스턴스 유형은 각 작업의를 충족해야 합니다runtimePlatform.cpuArchitecture. 예를 들어 두 아키텍처를 모두 실행하려면 다음을 포함합니다.-
m5및와 같은 x86 패밀리c5 -
AWS
m7g및와 같은 Graviton 패밀리c7g
-
일치하는 인스턴스 유형을 사용할 수 없는 경우 작업이 실패합니다.
허용된 인스턴스 유형에 작업의 선언된 아키텍처와 일치하는 유형이 포함되지 않은 경우 작업은 다음과 같은 이유로 실패합니다.
ResourceInitializationError: No available instance types were able to satisfy the
task and placement constraints.
예를 들어가 x86 패밀리만 allowedInstanceTypes 나열하고 ARM64 작업을 제출하면이 오류와 함께 작업이 실패합니다. 이 문제를 해결하려면에 AWS Graviton 인스턴스 패밀리를 추가합니다allowedInstanceTypes. 또는 instanceRequirements를 제거하여 모든 인스턴스 유형을 허용합니다.