Amazon ECS Managed Instances용 Amazon ECS 작업 정의 매개변수

Amazon ECS Managed Instances용 Amazon ECS 작업 정의 매개변수

작업 정의는 작업 패밀리, IAM 작업 역할, 네트워크 모드, 컨테이너 정의, 볼륨, 용량으로 나뉘어요. 이 문서는 Amazon ECS Managed Instances용 작업 정의 매개변수를 자세히 설명해요.

출처: 문서

본문

작업 정의는 여러 부분으로 나뉩니다: 작업 패밀리, AWS Identity and Access Management(IAM) 작업 역할, 네트워크 모드, 컨테이너 정의, 볼륨, 용량입니다. 패밀리와 컨테이너 정의는 작업 정의에서 필수입니다. 반면 작업 역할, 네트워크 모드, 볼륨, 용량은 선택 사항입니다. JSON 파일에서 이러한 매개변수를 사용해 작업 정의를 구성할 수 있습니다. 다음은 Amazon ECS Managed Instances용 각 작업 정의 매개변수에 대한 더 자세한 설명입니다.

패밀리(Family)

family

  • 유형: String
  • 필수 여부: 예

작업 정의를 등록할 때 패밀리를 지정합니다. 패밀리는 개정 번호로 지정된 작업 정의의 여러 버전에 대한 이름과 유사합니다. 특정 패밀리에 등록되는 첫 번째 작업 정의는 개정 1을 받고, 이후 등록되는 작업 정의는 순차적인 개정 번호를 받습니다.

용량(Capacity)

작업 정의를 등록할 때 Amazon ECS가 작업 정의를 검증해야 하는 용량을 지정할 수 있습니다. 작업 정의가 지정된 호환성에 대해 검증되지 않으면 클라이언트 예외가 반환됩니다. 자세한 내용은 Amazon ECS launch types를 참고하세요.

작업 정의에서 다음 매개변수가 허용됩니다.

requiresCompatibilities

  • 유형: String 배열
  • 필수 여부: 아니요
  • 유효 값: MANAGED_INSTANCES

작업 정의를 검증할 용량입니다. 이는 작업 정의에 사용된 모든 매개변수가 Amazon ECS Managed Instances의 요구 사항을 충족하는지 확인하는 검사를 시작합니다.

작업 역할(Task role)

taskRoleArn

  • 유형: String
  • 필수 여부: 아니요

작업 정의를 등록할 때 작업의 컨테이너가 연결된 정책에 지정된 AWS API를 사용자를 대신해 호출할 수 있는 권한을 부여하는 IAM 역할의 작업 역할을 제공할 수 있습니다. 자세한 내용은 Amazon ECS task IAM role을 참고하세요.

작업 실행 역할(Task execution role)

executionRoleArn

  • 유형: String
  • 필수 여부: 조건부

Amazon ECS 컨테이너 에이전트에게 사용자를 대신해 AWS API 호출을 할 수 있는 권한을 부여하는 작업 실행 역할의 Amazon 리소스 이름(ARN)입니다. 자세한 내용은 Amazon ECS task execution IAM role을 참고하세요.

참고: 작업 실행 IAM 역할은 작업의 요구 사항에 따라 필요합니다. 프라이빗 ECR 이미지 풀과 awslogs 로그 드라이버 사용에는 역할이 필요합니다.

네트워크 모드(Network mode)

networkMode

  • 유형: String
  • 필수 여부: 아니요
  • 기본값: awsvpc

작업의 컨테이너에 사용할 네트워킹 모드입니다. Amazon ECS Managed Instances에 호스팅된 Amazon ECS 작업의 경우 유효한 값은 awsvpc와 host입니다. 네트워크 모드를 지정하지 않으면 기본 네트워크 모드는 awsvpc입니다.

  • 네트워크 모드가 host이면 작업은 네트워크 격리를 우회하고 컨테이너는 호스트의 네트워크 스택을 직접 사용합니다.
    • 중요: host 네트워크 모드를 사용하는 작업을 실행할 때는 보안을 위해 루트 사용자(UID 0)로 컨테이너를 실행하지 마세요. 보안 모범 사례로 항상 비루트 사용자를 사용하세요.
  • 네트워크 모드가 awsvpc이면 작업에는 탄력적 네트워크 인터페이스가 할당되며, 작업 정의로 서비스를 만들거나 작업을 실행할 때 NetworkConfiguration을 지정해야 합니다. 자세한 내용은 Amazon ECS task networking for Amazon ECS Managed Instances를 참고하세요.

host와 awsvpc 네트워크 모드는 Amazon EC2 네트워크 스택을 사용하므로 컨테이너에 가장 높은 네트워킹 성능을 제공합니다. host와 awsvpc 네트워크 모드를 사용하면 노출된 컨테이너 포트가 해당 호스트 포트(host 네트워크 모드) 또는 연결된 탄력적 네트워크 인터페이스 포트(awsvpc 네트워크 모드)에 직접 매핑됩니다. 이 때문에 동적 호스트 포트 매핑은 사용할 수 없습니다.

런타임 플랫폼(Runtime platform)

operatingSystemFamily

  • 유형: String
  • 필수 여부: 아니요
  • 기본값: LINUX

작업 정의를 등록할 때 운영 체제 패밀리를 지정합니다. 이 필드의 유효한 값은 LINUX입니다. 서비스에서 사용되는 모든 작업 정의는 이 매개변수에 대해 같은 값을 가져야 합니다. 작업 정의가 서비스의 일부일 때 이 값은 서비스의 platformFamily 값과 일치해야 합니다.

cpuArchitecture

  • 유형: String
  • 필수 여부: 조건부

작업 정의를 등록할 때 CPU 아키텍처를 지정합니다. 유효한 값은 X86_64와 ARM64입니다. 값을 지정하지 않으면 Amazon ECS는 용량 공급자 구성에 따라 사용 가능한 CPU 아키텍처에 작업을 배치하려고 시도합니다. 작업이 특정 CPU 아키텍처에 배치되도록 하려면 작업 정의에서 cpuArchitecture에 값을 지정하세요. 서비스에서 사용되는 모든 작업 정의는 이 매개변수에 대해 같은 값을 가져야 합니다.

더 알아보기 (Learn more)