CLI를 사용하여 EC2 인스턴스 목록에서 AWS 역할 이름 가져오기

CLI를 사용하여 EC2 인스턴스 목록에서 AWS 역할 이름 가져오기

AWS CLI는 "ec2 explain-instances" 및 "ec2 explain-iam-instance-profile-associations"에 "IamInstanceProfile" 속성에 인스턴스 프로필을 포함하도록 요청합니다.

여기에는 ARN이 포함됩니다. 예를 들면 다음과 같습니다.

arn:aws:iam::123:instance-profile/AmazonSSMRoleForInstancesQuickSetup

이러한 경우 마지막 세그먼트인 이 예의 "AmazonSSMRoleForInstancesQuickSetup"은 IAM 역할 이름입니다. 이는 여러 기존 질문에 대한 답변에서도 제안됩니다.

그러나 인스턴스 프로필의 ARN이 다음과 같은 경우도 있습니다.

arn:aws:iam::123:instance-profile/eks-ab13cc88-bc13-13bc-acdc-1234567890ab

그리고 마지막 부분은 더 이상 역할 이름이 아닙니다. 실제로는 "Auto Scaling Group 이름"인 것 같습니다. AWS 웹 인터페이스는 인스턴스 속성 내에서 두 경우 모두 할당된 IAM 역할을 표시합니다.

AWS CLI를 사용하여 모든 경우에 EC2 인스턴스에 대한 역할 이름을 어떻게 안정적으로 얻을 수 있습니까?

답변1

@님께 큰 감사를 드립니다[이메일 보호됨] - 여기에 답변을 인용하고, 직접 게시하면 삭제됩니다.

EC2 인스턴스 프로필은 역할을 보유하는 컨테이너입니다. 기본적으로 프로필 이름과 일치하는 역할이 생성되지만 다를 수도 있습니다.

프로필 이름을 알아내서 통화에 사용해야 할 것 같습니다 aws iam get-instance-profile --instance-profile-name <value>. 당신이 원하는 응답에 InstanceProfile.Roles[].RoleArn.

https://docs.aws.amazon.com/cli/latest/reference/iam/get-instance-profile.html https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html

관련 정보