팀 프로젝트 중에 AWS EC2에 부여한 Role을 바꾼 적이 있었는데, 갑자기 “인스턴스 프로파일에 연결된 역할 없음” 이라는 문구가 뜨면서 관련 Role이 적용되지 않기 시작했다.
심지어 <IAM 역할 없음>을 선택해도 에러가 발생하여 아예 수정조차 되지 않는 기가 막힌 상황이었다.
아래와 같은 명령어로, EC2 내부 CLI로 명시적으로 Role을 제거하고 기존의 다른 Role을 이식해주었다.
aws ec2 describe-iam-instance-profile-associations --filters "Name=instance-id,Values={인스턴스 ID}" --region ap-northeast-2
먼저 CLI로 assocation id를 추출한다.
aws ec2 disassociate-iam-instance-profile --association-id <AssociationId> --region ap-northeast-2
이후 EC2 상에 존재하는 IAM 인스턴스 프로필을 분리한다.
aws ec2 associate-iam-instance-profile \
--instance-id {인스턴스 ID} \
--iam-instance-profile Name=TEAM_ORANGE_SERVER \
--region ap-northeast-2
이후 새로운 인스턴스 프로파일을 연결한다.
aws ec2 describe-instances \
--instance-ids {인스턴스 ID} \
--query "Reservations[].Instances[].IamInstanceProfile" \
--region ap-northeast-2
마지막 위 명령어를 통해 현재 교체된 인스턴스 프로파일을 확인할 수 있을 것이다.
EC2에 가보니 Role이 정상적으로 동작하는 것을 확인할 수 있다!