

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

# Amazon ECS 인스턴스 역할
<a name="instance_IAM_role"></a>

AWS Batch 컴퓨팅 환경은 Amazon ECS 컨테이너 인스턴스로 채워집니다. Amazon ECS 컨테이너 에이전트를 로컬에서 실행합니다. Amazon ECS 컨테이너 에이전트는 사용자를 대신하여 다양한 AWS API 작업을 호출합니다. 그러므로 에이전트를 실행하는 컨테이너 인스턴스는 해당 에이전트의 소유자를 확인하기 위해 이 서비스에 대한 IAM 정책과 역할을 요구합니다. 컨테이너 인스턴스를 시작할 때 사용할 IAM 역할과 인스턴스 프로파일을 생성해야 합니다. 그렇지 않으면 컴퓨팅 환경을 생성하고 해당 환경에서 컨테이너 인스턴스를 시작할 수 없습니다. 이 요구 사항은 Amazon에서 제공한 Amazon ECS 최적화 AMI를 사용하거나 사용하지 않고 시작된 컨테이너 인스턴스에 적용됩니다. 자세한 내용은 *Amazon Elastic Container Service 개발자 안내서*의 [Amazon ECS 인스턴스 역할](#instance_IAM_role) 섹션을 참조하세요.

**Topics**
+ [

# 계정의 Amazon ECS 인스턴스 역할 확인
](batch-check-ecsinstancerole.md)

# 계정의 Amazon ECS 인스턴스 역할 확인
<a name="batch-check-ecsinstancerole"></a>

Amazon ECS 인스턴스 역할과 인스턴스 프로파일은 콘솔 처음 실행 환경에서 자동으로 생성됩니다. 하지만 다음 단계를 수행하여 계정에 이미 Amazon ECS 인스턴스 역할과 인스턴스 프로파일이 있는지 확인할 수 있습니다. 다음 단계는 관리형 IAM 정책을 연결하는 방법도 다룹니다.<a name="procedure_check_instance_role"></a>

**자습서: IAM 콘솔에서 `ecsInstanceRole` 확인**

1. IAM 콘솔([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/))을 엽니다.

1. 탐색 창에서 **역할**을 선택합니다.

1. 역할 목록에서 `ecsInstanceRole`(을)를 검색합니다. 역할이 존재하지 않을 경우, 아래 단계를 사용하여 역할을 생성합니다.

   1. **역할 생성**을 선택합니다.

   1. **신뢰할 수 있는 엔터티 유형**에 **AWS 서비스**(을)를 선택합니다.

   1. **일반 사용 사례**에서 **EC2**를 선택합니다.

   1. **다음**을 선택합니다.

   1. **권한 정책**에 대해서는 **AmazonEC2ContainerServiceforEC2Role**을 검색하세요.

   1. **AmazonEC2ContainerServiceforEC2Role** 옆에 있는 확인란을 선택한 후 **다음**을 선택합니다.

   1. **역할 이름**에 `ecsInstanceRole`(을)를 입력하고 **역할 생성**을 선택합니다.
**참고**  
 AWS Management Console 를 사용하여 Amazon EC2에 대한 역할을 생성하는 경우 콘솔은 역할과 동일한 이름의 인스턴스 프로파일을 생성합니다.

또는 AWS CLI 를 사용하여 `ecsInstanceRole` IAM 역할을 생성할 수 있습니다. 다음 예제에서는 신뢰 정책 및 AWS 관리형 정책을 사용하여 IAM 역할을 생성합니다.<a name="create-iam-role-cli"></a>

**자습서: IAM 역할 및 인스턴스 프로파일 생성(AWS CLI)**

1. 다음 신뢰 정책을 생성하고 `ecsInstanceRole-role-trust-policy.json`(이)라는 텍스트 파일로 저장합니다.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": { "Service": "ec2.amazonaws.com"},
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. [create-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html) 명령을 사용하여 `ecsInstanceRole` 역할을 생성합니다. `assume-role-policy-document` 파라미터에 신뢰 정책 파일 위치를 지정합니다.

   ```
   $ aws iam create-role \
       --role-name ecsInstanceRole \
       --assume-role-policy-document file://ecsInstanceRole-role-trust-policy.json
   ```

1. [create-instance-profile](https://docs.aws.amazon.com/cli/latest/reference/iam/create-instance-profile.html) 명령을 사용하여 `ecsInstanceRole`(이이)라는 인스턴스 프로파일을 생성합니다.
**참고**  
 AWS CLI 및 AWS API에서 역할과 인스턴스 프로파일을 별도의 작업으로 생성해야 합니다.

   ```
   $ aws iam create-instance-profile --instance-profile-name ecsInstanceRole
   ```

   다음은 응답의 예입니다.

   ```
   {
       "InstanceProfile": {
           "Path": "/",
           "InstanceProfileName": "ecsInstanceRole",
           "InstanceProfileId": "AIPAT46P5RDITREXAMPLE",
           "Arn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceRole",
           "CreateDate": "2022-06-30T23:53:34.093Z",
           "Roles": [],    }
   }
   ```

1. [add-role-to-instance-profile](https://docs.aws.amazon.com/cli/latest/reference/iam/add-role-to-instance-profile.html) 명령을 사용하여 `ecsInstanceRole` 인스턴스 프로파일에 `ecsInstanceRole` 역할을 추가합니다.

   ```
   aws iam add-role-to-instance-profile \
       --role-name ecsInstanceRole --instance-profile-name ecsInstanceRole
   ```

1. [attach-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html) 명령을 사용하여 `AmazonEC2ContainerServiceforEC2Role` AWS 관리형 정책을 `ecsInstanceRole` 역할에 연결합니다.

   ```
   $ aws iam attach-role-policy \
       --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role \
       --role-name ecsInstanceRole
   ```