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