IAM Role 생성 시 발생하는 [Resource of type 'AWS::IAM::Role' with identifier 'xxxxxxxx' already exists] 문제 해결

IAM Role 생성 시 발생하는 [Resource of type 'AWS::IAM::Role' with identifier 'xxxxxxxx' already exists] 문제 해결

IAM Role 생성 시 발생하는 [Resource of type 'AWS::IAM::Role' with identifier 'xxxxxxxx' already exists] 문제를 해결하는 방법에 대해서 정리해 봤습니다.
Clock Icon2025.05.29

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 IAM Role 생성 시 발생하는 [Resource of type 'AWS::IAM::Role' with identifier 'xxxxxxxx' already exists] 문제를 해결하는 방법에 대해서 정리해 봤습니다.

문제 발생

CloudFormation으로 IAM Role을 생성하는 과정에서 에러가 발생했습니다.

에러 내용으로는 생성하고자 하는 IAM Role과 동일한 이름의 IAM Role이 생성되어 있다는 내용입니다.

jw-blgiameror-1

문제 해결

먼저 첫 번째로 CloudFormation 스택을 삭제했다면, IAM 콘솔 화면에서 IAM Role을 검색하여 삭제합니다.

jw-blgiameror-2

IAM Role을 삭제하는 것으로 끝날 수도 있지만, 삭제가 안된다면, AWS CLI 명령어를 이용하여 삭제합시다. 또한, CloudFormation 스택을 생성했어도 동일한 이름의 리소스가 있다고 뜨는 경우 [instance-profile]까지 삭제해 줍시다.

aws iam delete-role --role-name dev-web-role
aws iam delete-instance-profile --instance-profile-name dev-web-role

이제 다시 CloudFormation 스택을 생성하면, 성공적으로 IAM Role이 생성되는 것을 확인할 수 있습니다.

jw-blgiameror-3

그렇다면 CloudFormation 스택을 삭제했음에도 IAM Role이 계속 남아있는 이유는 뭘까요? 일반적으로 [DeletionPolicy]를 사용했을 때 인데, 이 경우 스택은 삭제되지만 Role은 의도적으로 남겨지게 됩니다.

DeletionPolicy: Retain

DeletionPolicy 속성에 대해서는 아래 AWS 공식 문서를 통해 확인할 수 있습니다.

https://docs.aws.amazon.com/ko_kr/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html

본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 jaewookkim533@yahoo.com로 보내주시면 감사하겠습니다.

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.