새 AWS Identity and Access Management(IAM) 역할을 생성했지만 인스턴스를 시작할 때 드롭다운 목록에서 해당 역할을 찾을 수 없습니다.
해결 방법
드롭다운 목록에는 IAM 역할이 아닌 인스턴스 프로파일이 포함되지만 인스턴스 프로파일에 IAM 역할을 추가할 수 있습니다. 필수 IAM 역할이 추가된 인스턴스 프로파일을 선택해야 합니다.
다음 단계에 따라 인스턴스 프로파일에 연결된 새 IAM 역할을 생성합니다. 그런 다음 인스턴스를 시작할 때 드롭다운 목록에서 인스턴스 프로파일을 선택합니다. IAM 콘솔 또는 AWS Command Line Interface(AWS CLI)를 사용하여 인스턴스 프로파일에 연결된 새 IAM 역할을 생성합니다.
참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI 오류 문제 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
IAM 콘솔 사용
이 예제에서는 Amazon Elastic Compute Cloud(Amazon EC2)를 사용하여 EC2를 사용 사례로 선택하면 Amazon EC2에 대한 신뢰 관계가 생성됨을 보여줍니다. 또한 EC2 사용 사례는 다음을 생성합니다.
- 인스턴스 프로파일.
- 인스턴스 프로파일에 IAM 역할과 동일한 이름을 부여합니다.
- 동일한 인스턴스 프로파일에 IAM 역할을 추가합니다.
참고: IAM 역할을 생성할 때 EC2를 선택하지 않으면 Amazon EC2에 대한 인스턴스 프로파일과 신뢰 관계가 생성되지 않습니다.
- IAM 콘솔을 엽니다.
- 탐색 창에서 Roles(역할)을 선택한 다음, Create role(역할 생성)을 선택합니다.
- EC2를 AWS service(AWS 서비스)로 선택하고 사용 사례로 EC2를 선택한 후 Next: Permissions(다음: 권한)을 선택합니다.
- 사용 사례에 맞는 Policy name(정책 이름)을 선택하고 Next: Tags(다음: 태그)를 선택한 후 Next: Review(다음: 검토)를 선택합니다.
- Role name(역할 이름)을 입력한 다음 Create role(역할 생성)을 선택합니다.
AWS CLI 사용
-
Test-Role-Trust-Policy.json이라는 파일을 생성하고 파일에 다음 정책을 붙여넣습니다.
{ "Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
-
다음 명령을 실행하여 IAM 역할을 생성합니다.
$ aws iam create-role --role-name Test-Role --assume-role-policy-document file://Test-Role-Trust-Policy.json
-
다음 명령을 실행하여 인스턴스 프로파일을 생성합니다.
$ aws iam create-instance-profile --instance-profile-name Webserver
-
다음 명령을 실행하여 인스턴스 프로파일에 IAM 역할을 추가합니다.
$ aws iam add-role-to-instance-profile --role-name Test-Role --instance-profile-name Webserver
-
EC2에 대한 기존 IAM 역할의 경우 기존 신뢰 정책에 EC2 서비스 위탁자를 추가해야 합니다. 자세한 내용은 위탁자 지정 방법을 참조하십시오.
참고: IAM 역할과 인스턴스 프로파일의 이름이 다른 경우 올바른 인스턴스 프로파일을 선택해야 합니다. EC2 인스턴스를 시작할 때 올바른 인스턴스 프로파일에 필수 IAM 역할이 추가되었습니다. IAM 역할은 드롭다운 목록에 없습니다.
관련 정보
역할 설정 업데이트
기존 IAM 역할에 대한 신뢰 관계 편집
Amazon EC2의 IAM 역할