

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

# 자습서: Amazon ECS 관리형 인스턴스를 사용하여 관리형 컴퓨팅 환경 생성
<a name="create-compute-environment-ecs-managed-instances"></a>

이 자습서에서는 Amazon ECS 관리형 인스턴스를 사용하는 AWS Batch 컴퓨팅 환경을 생성하는 방법을 안내합니다. Amazon ECS는 사용자를 대신하여 Amazon EC2 인스턴스를 관리합니다. 최대 용량과 선택적 인스턴스 제약 조건을 지정하면 Amazon ECS가 프로비저닝, 조정 및 종료를 처리합니다.

## 사전 조건
<a name="create-ce-ecs-managed-instances-prerequisites"></a>

Amazon ECS 관리형 인스턴스 컴퓨팅 환경을 생성하기 전에 다음이 있어야 합니다.
+ **Amazon ECS 인프라 역할** - Amazon ECS가 사용자를 대신하여 Amazon EC2 인스턴스를 관리하기 위해 수임하는 IAM 역할입니다. 역할에는에 대한 신뢰 정책이 있어야 합니다`ecs.amazonaws.com`. 자세한 내용은 [Amazon Elastic Container Service 개발자 안내서의 Amazon ECS 인프라 IAM 역할을](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure-iam-roles.html) 참조하세요. ** 
+ **Amazon EC2 인스턴스 프로파일** - `AmazonECSInstanceRolePolicyForManagedInstances` 관리형 정책을 사용하는 인스턴스 프로파일입니다. 신뢰 정책은가 역할을 수임`ec2.amazonaws.com`하도록 허용해야 합니다.
+ IAM 보안 주체는 조건이 인 인프라 역할에 대한 `iam:PassRole` 권한이 있어야 합니다`iam:PassedToService: ecs.amazonaws.com`.
+ 아웃바운드 인터넷 액세스(퍼블릭 IP 할당 또는 NAT 게이트웨이)가 있는 서브넷이 있는 VPC입니다.

## Amazon ECS 관리형 인스턴스 컴퓨팅 환경 생성(콘솔)
<a name="create-ce-ecs-managed-instances-console"></a>

1. [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/) AWS Batch 콘솔을 엽니다.

1. 탐색 모음에서 사용할 AWS 리전 를 선택합니다.

1. 왼쪽 탐색 창에서 **환경을** 선택합니다.

1. **환경 생성을** 선택한 다음 **컴퓨팅 환경 생성을** 선택합니다.

1. **컴퓨팅 환경 유형**에서 **ECS 관리형 인스턴스를** 선택합니다.

1. **컴퓨팅 환경 이름**에 고유한 이름을 입력합니다. 이름은 최대 128자까지 가능하며 대문자와 소문자, 숫자, 하이픈(-) 및 밑줄(\_)을 포함할 수 있습니다.

1. **최대 vCPUs**에 컴퓨팅 환경이 확장할 수 있는 최대 vCPUs 수를 입력합니다.

1. **인프라 역할**에서 사전 조건으로 생성한 Amazon ECS 인프라 역할을 선택합니다.

1. **인스턴스 프로파일**에서 사전 조건으로 생성한 Amazon EC2 인스턴스 프로파일을 선택합니다.

1. **네트워킹** 섹션에서:

   1. **VPC**에서 인스턴스가 시작될 VPC를 선택합니다.

   1. **서브넷에서** 하나 이상의 서브넷을 선택합니다. 서브넷에는 아웃바운드 인터넷 액세스가 있어야 합니다.

   1. **보안 그룹에서** 인스턴스와 연결할 보안 그룹을 하나 이상 선택합니다.

1. (선택 사항) **용량 유형**에서 **스팟**을 선택하여 내결함성 워크로드의 비용 절감을 위해 스팟 인스턴스를 사용합니다. 기본값은 **온디맨드**입니다.

1. (선택 사항) **허용된 인스턴스 유형**에서 Amazon ECS가 시작할 수 있는 인스턴스 유형을 지정합니다. 지정하지 않으면 사용 가능한 모든 인스턴스 유형을 사용할 수 있습니다.

1. **컴퓨팅 환경 생성**을 선택합니다.

## Amazon ECS 관리형 인스턴스 컴퓨팅 환경 생성(AWS CLI)
<a name="create-ce-ecs-managed-instances-cli"></a>

`create-compute-environment` 명령을 사용하여 Amazon ECS 관리형 인스턴스 컴퓨팅 환경을 생성합니다.

### 기본 예제
<a name="create-ce-ecs-managed-instances-cli-basic"></a>

다음 예시에서는 최소 필수 구성으로 컴퓨팅 환경을 생성합니다. Amazon ECS는 사용 가능한 모든 인스턴스 유형을 사용할 수 있습니다.

```
$ aws batch create-compute-environment \
    --compute-environment-name {{my-managed-instances-ce}} \
    --type MANAGED \
    --state ENABLED \
    --compute-resources '{
      "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}}"]
          }
        }
      }
    }'
```

### 특정 인스턴스 유형이 있는 스팟
<a name="create-ce-ecs-managed-instances-cli-spot"></a>

다음 예제에서는 특정 인스턴스 유형으로 제한된 스팟 지원 컴퓨팅 환경을 생성합니다.

```
$ aws batch create-compute-environment \
    --compute-environment-name {{my-spot-managed-instances-ce}} \
    --type MANAGED \
    --state ENABLED \
    --compute-resources '{
      "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": ["m5.large", "m5.xlarge", "m6i.large", "m6i.xlarge"]
          },
          "capacityOptionType": "SPOT"
        }
      }
    }'
```

출력:

```
{
    "computeEnvironmentName": "my-spot-managed-instances-ce",
    "computeEnvironmentArn": "arn:aws:batch:us-east-1:123456789012:compute-environment/my-spot-managed-instances-ce"
}
```

### 용량 예약 포함
<a name="create-ce-ecs-managed-instances-cli-reservations"></a>

다음 예제에서는 예측 가능한 용량을 위해 온디맨드 용량 예약을 대상으로 하는 컴퓨팅 환경을 생성합니다.

```
$ aws batch create-compute-environment \
    --compute-environment-name {{my-reserved-managed-instances-ce}} \
    --type MANAGED \
    --state ENABLED \
    --compute-resources '{
      "type": "ECS_MANAGED_INSTANCES",
      "maxvCpus": 512,
      "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": ["m5.xlarge", "m5.2xlarge"]
          },
          "capacityReservations": {
            "reservationGroupArn": "arn:aws:ec2:{{us-east-1}}:{{123456789012}}:capacity-reservation-group/{{my-reservation-group}}",
            "reservationPreference": "RESERVATIONS_FIRST"
          }
        }
      }
    }'
```

## 다음 단계
<a name="create-ce-ecs-managed-instances-next-steps"></a>

컴퓨팅 환경을 생성한 후 다음 단계를 완료하여 작업을 실행합니다.

1. 작업 대기열을 생성하고 Amazon ECS 관리형 인스턴스 컴퓨팅 환경을 작업 대기열과 연결합니다. 자세한 내용은 [작업 대기열 생성](create-job-queue.md) 단원을 참조하십시오.

1. 을 로 `platformCapabilities` 설정하고를 `MANAGED_INSTANCES` 사용하여 작업 정의를 생성합니다`ecsProperties`. 자세한 내용은 [Amazon ECS 관리형 인스턴스의 작업 정의](ecs-managed-instances-job-definitions.md) 단원을 참조하십시오.

1. 작업 대기열에 작업을 제출합니다. 자세한 내용은 [자습서: 작업 제출](submit_job.md) 단원을 참조하십시오.