View a markdown version of this page

Amazon ECS 관리형 인스턴스의 컴퓨팅 환경 - AWS Batch

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

Amazon ECS 관리형 인스턴스의 컴퓨팅 환경

AWS Batch Amazon ECS 관리형 인스턴스의 컴퓨팅 환경은 내부의 managedInstancesProvider 구성 블록을 사용합니다computeResources. 이 구조는 Amazon ECS 용량 공급자 모델에 부합하며 독립형입니다. 모든 네트워킹, 인스턴스 프로파일 및 인스턴스 선택 구성은이 블록 내에 있습니다.

다음 목록은 Amazon ECS 관리형 인스턴스 컴퓨팅 환경의 컴퓨팅 환경 파라미터를 설명합니다.

type (상위 수준)

MANAGED여야 합니다.

"type": "MANAGED"
computeResources.type

ECS_MANAGED_INSTANCES여야 합니다. Fargate 및 Amazon EC2 컴퓨팅 환경과 달리 스팟 용량은 별도의 유형으로 표시되지 않습니다(ECS_MANAGED_INSTANCES_SPOT유형 없음). 대신 capacityOptionType 내부에서 managedInstancesProvider.instanceLaunchTemplate를 사용하여 온디맨드 또는 스팟 용량을 지정합니다.

"type": "ECS_MANAGED_INSTANCES"
computeResources.maxvCpus

컴퓨팅 환경이 확장할 수 있는 최대 vCPUs. Fargate 컴퓨팅 환경maxvCpus과 동일하게 작동하며 실행 중인 모든 작업에서 소비되는 총 vCPU를 제한합니다.

중요

현재는 기본 Amazon EC2 인스턴스의 총 vCPUs 아니라 실행 중인 작업에서 요청한 총 vCPUs를 maxvCpus 기준으로 AWS Batch 평가합니다. Amazon ECS 관리형 인스턴스는 다중 테넌트 인스턴스 할당을 사용합니다. 따라서 프로비저닝된 실제 인스턴스 vCPU 용량이 작업 vCPU 합계를 초과할 수 있습니다. 컴퓨팅 환경은 maxvCpus 값이 암시하는 것보다 많은 인스턴스 용량을 프로비저닝할 수 있습니다. 이 동작은 향후 업데이트에서 개선될 수 있습니다.

computeResources.managedInstancesProvider

Amazon ECS 관리형 인스턴스 컴퓨팅 환경에 필요합니다. 모든 Amazon ECS 관리형 인스턴스별 구성을 포함합니다. 자세한 내용은 Amazon Elastic Container Service API 참조의 ManagedInstancesProvider를 참조하세요. 다음 필드를 사용할 수 있습니다.

infrastructureRoleArn

필수 사항입니다. Amazon ECS가 사용자를 대신하여 Amazon EC2 인스턴스를 관리하기 위해 수임하는 IAM 역할의 ARN입니다. 이 역할에는에 대한 신뢰 정책이 있어야 합니다ecs.amazonaws.com. IAM 보안 주체는 조건이 인이 역할에 대한 iam:PassRole 권한이 있어야 합니다iam:PassedToService: ecs.amazonaws.com.

propagateTags

선택 사항. 용량 공급자의 태그가 시작하는 Amazon EC2 인스턴스로 전파되는지 여부를 제어합니다. 유효 값은 CAPACITY_PROVIDERNONE입니다.

instanceLaunchTemplate

필수 사항입니다. 인스턴스 시작 구성을 포함합니다.

ec2InstanceProfileArn

필수 사항입니다. 관리형 인스턴스에 대한 Amazon EC2 인스턴스 프로파일의 ARN입니다. 이 인스턴스 프로파일은에 대한 신뢰 정책과 함께 AmazonECSInstanceRolePolicyForManagedInstances 관리형 정책을 사용해야 합니다ec2.amazonaws.com.

networkConfiguration

필수 사항입니다. 관리형 인스턴스에 대한 VPC 구성을 지정합니다.

  • subnets - 필수입니다. 인스턴스가 시작되는 VPC 서브넷입니다. Amazon ECS 서비스 엔드포인트와 통신하려면 인스턴스에 외부 네트워크 액세스 권한이 필요합니다. 서브넷이 퍼블릭 IP 주소를 제공하지 않는 경우 아웃바운드 인터넷 액세스를 위한 NAT 게이트웨이가 있어야 합니다.

  • securityGroups - 필수입니다. 인스턴스와 연결할 VPC 보안 그룹입니다.

instanceRequirements

선택 사항. Amazon EC2 인스턴스 유형이 Amazon ECS에서 시작할 수 있는 제약 조건을 지정합니다. 제공되지 않은 경우 사용 가능한 모든 인스턴스 유형을 사용할 수 있습니다.

  • allowedInstanceTypes - 특정 인스턴스 유형 또는 인스턴스 패밀리(예: m5.large 또는 g5)의 목록입니다. 지정하면 이러한 인스턴스 유형만 사용됩니다.

capacityOptionType

선택 사항. 용량 요금 모델입니다. 유효한 값은 ON_DEMAND(기본값) 및 SPOT입니다. SPOT를 통해 Amazon ECS는 내결함성 워크로드에 상당한 비용 절감을 제공할 수 있는 스팟 인스턴스를 시작합니다.

storageConfiguration

선택 사항. 인스턴스의 루트 EBS 볼륨을 구성합니다.

  • storageSizeGiB - GiB의 루트 볼륨 크기입니다.

monitoring

선택 사항. 인스턴스에 대한 CloudWatch 모니터링 수준입니다. 유효 값은 BASICDETAILED입니다.

fipsEnabled

선택 사항. 로 설정하면 관리형 인스턴스에서 FIPS 140-2 규정 준수를 true활성화합니다. 전혀 사용할 수 없습니다 AWS 리전.

capacityReservations

선택 사항. 예측 가능한 용량 가용성을 위해 온디맨드 용량 예약(ODCRs)을 대상으로 합니다.

  • reservationGroupArn - 대상으로 지정할 용량 예약 그룹의 ARN입니다.

  • reservationPreference - 용량 예약 사용 방법을 제어합니다. 유효한 값은 RESERVATIONS_ONLY (예약으로만 시작), RESERVATIONS_FIRST (예약 선호, 온디맨드로 대체) 및 RESERVATIONS_EXCLUDED (예약 사용 안 함)입니다.

instanceMetadataTagsPropagation

선택 사항. 관리형 인스턴스의 인스턴스 메타데이터 서비스(IMDS)에서 태그에 액세스할 수 있는지 여부를 제어합니다.

localStorageConfiguration

선택 사항. 관리형 인스턴스에 대한 로컬 인스턴스 스토어 볼륨(로컬 NVMe SSDs)을 구성합니다.

  • useLocalStorage - 관리형 인스턴스에서 실행되는 컨테이너에서 인스턴스 스토어 볼륨을 사용할 수 있는지 여부입니다.

infrastructureOptimization

선택 사항. Amazon ECS가 유휴 인스턴스를 관리하는 방법을 제어합니다.

  • scaleInAfter - Amazon ECS가 인스턴스를 종료하기 전에 인스턴스가 유휴 상태여야 하는 초 수입니다. 유효한 값은 -1 (축소 비활성화) 또는 0-(3600종료 전 유휴 시간 초)입니다.

computeResources.capacityTags

선택 사항. 컴퓨팅 환경에서 관리하는 Amazon ECS 용량 공급자 및 Amazon EC2 인스턴스에 적용할 태그입니다. ECS_MANAGED_INSTANCES 컴퓨팅 환경에만 유효합니다. 이 필드를 지정하려면 IAM 보안 주체에게 컴퓨팅 환경 리소스에 대한 batch:SetCapacityTags 권한이 있어야 합니다. 자세한 내용은 를 사용하여 용량 태그에 대한 액세스 제어 batch:SetCapacityTags 단원을 참조하십시오.

이러한 태그는 tags 컴퓨팅 환경 리소스 자체의 최상위 수준과는 별개입니다. 기본 인프라 리소스의 비용 할당 및 구성에 capacityTags 사용합니다.

Amazon ECS 관리형 인스턴스에 적용할 수 없는 파라미터

다음 computeResources 파라미터는 Amazon ECS 관리형 인스턴스 컴퓨팅 환경에 유효하지 않으므로 지정해서는 안 됩니다.

  • allocationStrategy

  • bidPercentage

  • desiredvCpus

  • minvCpus

  • imageId

  • instanceTypes

  • instanceRole

  • ec2Configuration

  • ec2KeyPair

  • launchTemplate

  • placementGroup

  • spotIamFleetRole

  • subnets (managedInstancesProvider.instanceLaunchTemplate.networkConfiguration.subnets대신 사용)

  • securityGroupIds (managedInstancesProvider.instanceLaunchTemplate.networkConfiguration.securityGroups대신 사용)

Amazon ECS 관리형 인스턴스 컴퓨팅 환경 업데이트

컴퓨팅 환경 유형, capacityOptionType및를 제외한 모든 Amazon ECS 관리형 인스턴스 컴퓨팅 환경 속성을 업데이트할 수 있습니다fipsEnabled. 기본 Amazon ECS 용량 공급자에 대한 업데이트 흐름입니다. 새 인스턴스는 업데이트된 구성을 사용합니다. 기존 인스턴스는 작업이 완료될 때까지 계속 실행된 다음 자연스럽게 비워집니다.

생성 후에는 다음을 변경할 수 없습니다.

  • 컴퓨팅 환경 유형(ECS_MANAGED_INSTANCESFARGATE, EC2또는 기타 유형으로 변경할 수 없음)

  • capacityOptionType - 생성 후에는 온디맨드와 스팟 간에 전환할 수 없습니다.

  • fipsEnabled - 생성 후에는 FIPS 모드를 변경할 수 없습니다.

예제

최소 구성

다음 예제에서는 Amazon ECS 관리형 인스턴스 컴퓨팅 환경을 생성하는 데 필요한 최소 구성을 보여줍니다. Amazon ECS는 사용 가능한 모든 유형에서 인스턴스 유형을 자동으로 선택합니다.

{ "computeEnvironmentName": "my-managed-instances-ce", "type": "MANAGED", "state": "ENABLED", "computeResources": { "type": "ECS_MANAGED_INSTANCES", "maxvCpus": 256, "managedInstancesProvider": { "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile", "networkConfiguration": { "subnets": ["subnet-abcde012", "subnet-bcde012a"], "securityGroups": ["sg-abcde012"] } } } } }

특정 인스턴스 유형이 있는 GPU 워크로드

다음 예제에서는 기계 학습 워크로드를 위해 NVIDIA GPU 인스턴스 유형으로 제한된 컴퓨팅 환경을 생성합니다.

{ "computeEnvironmentName": "my-gpu-managed-instances-ce", "type": "MANAGED", "state": "ENABLED", "computeResources": { "type": "ECS_MANAGED_INSTANCES", "maxvCpus": 1000, "managedInstancesProvider": { "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile", "networkConfiguration": { "subnets": ["subnet-abcde012", "subnet-bcde012a"], "securityGroups": ["sg-abcde012"] }, "instanceRequirements": { "allowedInstanceTypes": ["g5.xlarge", "g5.2xlarge", "g5.4xlarge"] }, "capacityOptionType": "ON_DEMAND" } } } }

비용에 민감한 워크로드를 위한 스팟 용량

다음 예시에서는 내결함성 배치 워크로드를 위한 스팟 지원 컴퓨팅 환경을 생성합니다.

{ "computeEnvironmentName": "my-spot-managed-instances-ce", "type": "MANAGED", "state": "ENABLED", "computeResources": { "type": "ECS_MANAGED_INSTANCES", "maxvCpus": 5000, "managedInstancesProvider": { "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile", "networkConfiguration": { "subnets": ["subnet-abcde012", "subnet-bcde012a", "subnet-cde012ab"], "securityGroups": ["sg-abcde012"] }, "instanceRequirements": { "allowedInstanceTypes": ["m5.large", "m5.xlarge", "m6i.large", "m6i.xlarge"] }, "capacityOptionType": "SPOT", "storageConfiguration": { "storageSizeGiB": 100 } } } } }