View a markdown version of this page

리소스: 컴퓨팅 환경 템플릿 - AWS Batch

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

리소스: 컴퓨팅 환경 템플릿

다음 예제는 빈 컴퓨팅 환경 템플릿입니다. 이 템플릿을 사용하여 파일에 저장하고 옵션과 함께 사용할 수 있는 컴퓨팅 환경을 생성할 수 있습니다 AWS CLI --cli-input-json. 이러한 파라미터에 대한 자세한 내용은 AWS Batch API 참조에서 CreateComputeEnvironment를 참조하세요.

관리형 Amazon EC2 컴퓨팅 환경을 생성하기 전에 다음 사전 요구 사항이 있는지 확인합니다. 이러한 사전 조건은 type 필드가 로 설정된 경우에 적용됩니다MANAGED.

  • 보안 그룹 - 컴퓨팅 리소스에는 인스턴스가 Amazon ECS 서비스 엔드포인트와 통신하고 컨테이너 이미지를 가져올 수 있도록 아웃바운드 트래픽을 허용하는 보안 그룹이 필요합니다. 자세한 내용은 보안 그룹 생성 단원을 참조하십시오.

  • IAM 역할 - 컨테이너 인스턴스가 사용자를 대신하여 AWS API를 호출할 수 있도록 허용하는 Amazon ECS 인스턴스 역할이 AWS Batch 필요합니다. 자세한 내용은 Amazon ECS 인스턴스 역할에 대한 서비스 연결 역할 사용 AWS Batch 섹션을 참조하세요.

    참고

    instanceRole 필드는 역할 ARN이 아닌 인스턴스 프로파일 ARN을 허용합니다. 형식은 arn:aws:iam::account_id:instance-profile/ecsInstanceRole입니다.

  • 네트워크 액세스 - 컴퓨팅 리소스가 Amazon ECS 서비스 엔드포인트에 도달할 수 있어야 합니다. 인스턴스가 퍼블릭 IP 주소가 없는 프라이빗 서브넷에 있는 경우 NAT 게이트웨이 또는 Amazon VPC 인터페이스 엔드포인트를 사용할 수 있습니다. 자세한 내용은 인터페이스 엔드포인트를 사용하여 액세스 AWS Batch 단원을 참조하십시오.

참고

다음 AWS CLI 명령을 사용하여 컴퓨팅 환경 템플릿을 생성할 수 있습니다.

$ aws batch create-compute-environment --generate-cli-skeleton
중요

컴퓨팅 환경은 ENABLED 상태에서 생성해야 합니다.

다음 예제에서는 관리형 Amazon EC2 컴퓨팅 환경에 대한 스켈레톤 템플릿을 보여줍니다. 가 type인 경우 computeResources 블록이 필요합니다MANAGED.

{ "computeEnvironmentName": "", "type": "MANAGED", "state": "ENABLED", "computeResources": { "type": "EC2", "allocationStrategy": "BEST_FIT_PROGRESSIVE", "minvCpus": 0, "maxvCpus": 16, "desiredvCpus": 0, "instanceTypes": [ "default_arm64" ], "subnets": [ "subnet-a1b2c3d4" ], "securityGroupIds": [ "sg-a1b2c3d4" ], "instanceRole": "arn:aws:iam::123456789012:instance-profile/ecsInstanceRole", "tags": { "KeyName": "" }, "launchTemplate": { "launchTemplateId": "", "version": "$Default" }, "ec2Configuration": [ { "imageType": "ECS_AL2023" } ] }, "serviceRole": "", "tags": { "KeyName": "" } }

다음 예제에서는 비관리형 Amazon EC2 컴퓨팅 환경에 대한 스켈레톤 템플릿을 보여줍니다. computeResources 블록은 UNMANAGED 컴퓨팅 환경에 사용되지 않으므로 생략해야 합니다.

{ "computeEnvironmentName": "", "type": "UNMANAGED", "state": "ENABLED", "unmanagedvCpus": 0, "serviceRole": "", "tags": { "KeyName": "" } }