

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

# 리소스: 컴퓨팅 환경 템플릿
<a name="compute-environment-template"></a>

다음 예제는 빈 컴퓨팅 환경 템플릿입니다. 이 템플릿을 사용하여 파일에 저장하고 옵션과 함께 사용할 수 있는 컴퓨팅 환경을 생성할 수 있습니다 AWS CLI `--cli-input-json`. 이러한 파라미터에 대한 자세한 내용은 *AWS Batch API 참조*에서 [CreateComputeEnvironment](https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateComputeEnvironment.html)를 참조하세요.

관리형 Amazon EC2 컴퓨팅 환경을 생성하기 전에 다음 사전 요구 사항이 있는지 확인합니다. 이러한 사전 조건은 `type` 필드가 로 설정된 경우에 적용됩니다`MANAGED`.
+ **보안 그룹** - 컴퓨팅 리소스에는 인스턴스가 Amazon ECS 서비스 엔드포인트와 통신하고 컨테이너 이미지를 가져올 수 있도록 아웃바운드 트래픽을 허용하는 보안 그룹이 필요합니다. 자세한 내용은 [보안 그룹 생성](create-a-base-security-group.md) 단원을 참조하십시오.
+ **IAM 역할** - 컨테이너 인스턴스가 사용자를 대신하여 AWS API를 호출할 수 있도록 허용하는 Amazon ECS 인스턴스 역할이 AWS Batch 필요합니다. 자세한 내용은 [Amazon ECS 인스턴스 역할](instance_IAM_role.md) 및 [에 대한 서비스 연결 역할 사용 AWS Batch](using-service-linked-roles.md) 섹션을 참조하세요.
**참고**  
`instanceRole` 필드는 역할 ARN이 아닌 인스턴스 프로파일 ARN을 허용합니다. 형식은 `arn:aws:iam::{{account_id}}:instance-profile/{{ecsInstanceRole}}`입니다.
+ **네트워크 액세스** - 컴퓨팅 리소스가 Amazon ECS 서비스 엔드포인트에 도달할 수 있어야 합니다. 인스턴스가 퍼블릭 IP 주소가 없는 프라이빗 서브넷에 있는 경우 NAT 게이트웨이 또는 Amazon VPC 인터페이스 엔드포인트를 사용할 수 있습니다. 자세한 내용은 [인터페이스 엔드포인트를 사용하여 액세스 AWS Batch](vpc-interface-endpoints.md) 단원을 참조하십시오.

**참고**  
다음 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": ""
    }
}
```