AWS CloudFormation 스택 중 하나에 의해 생성된 리소스를 수동으로 삭제한 후 스택이 업데이트되지 않습니다.
간략한 설명
CloudFormation 스택으로 생성한 리소스를 삭제하면 스택이 업데이트되지 않고 오류 메시지가 표시됩니다.
리소스 유형에 따라 다음 해결 방법 중 하나를 선택합니다.
- 고유한 이름으로 리소스 업데이트
- 고유한 ID로 리소스 업데이트
해결 방법
고유한 이름으로 리소스 업데이트
삭제된 리소스가 고유한 이름을 지원하는 경우 리소스를 수동으로 생성하여 스택을 업데이트할 수 있습니다. 그러나 새 리소스는 삭제된 리소스와 같은 이름이어야 합니다. 예를 들어 리소스 이름을 변경할 때 CloudFormation에서 리소스를 처리하는 방식에 영향을 줄 수 있습니다. AWS Identity and Access Management(IAM) 역할은 이름을 기준으로 추적되기 때문입니다. 실수로 IAM 역할을 삭제한 경우에는 수동으로 같은 이름의 역할을 다시 만들어야 합니다.
IAM 역할 또는 다른 리소스를 고유한 이름으로 업데이트하려면 다음 단계를 완료합니다.
- AWS CloudFormation 콘솔을 엽니다.
- 스택을 선택한 다음, [리소스(Resources)] 보기를 선택합니다.
- [물리적 ID(Physical ID)] 열에서 새 IAM 역할로 교체하려는 IAM 역할의 물리적 ID를 찾습니다.
참고: 물리적 ID는 리소스의 이름입니다.
- 새 IAM 역할을 생성한 다음 이 역할에 3단계에서 찾은 물리적 ID와 동일한 ID를 부여합니다.
- 스택을 업데이트합니다.
참고: 자세한 내용은 스택 템플릿 수정을 참조하세요.
고유한 ID로 리소스 업데이트
라우팅 테이블과 같은 리소스는 고유한 ID와 함께 수동으로 다시 작성할 수 없습니다. 대신 CloudFormation 템플릿에서 리소스와 해당 리소스에 대한 참조를 모두 제거해야 합니다.
참고: 다음 해결 방법은 고유 이름이나 고유 ID를 지원하지 않는 리소스에도 적용됩니다. 예를 들어 호스팅 영역의 레코드 세트입니다.
CloudFormation이 공유한 ID를 가진 라우팅 테이블 또는 기타 리소스를 다시 생성하도록 허용하려면 다음 단계를 완료합니다.
- CloudFormation 템플릿에서 라우팅 테이블 및 이에 대한 모든 참조를 제거합니다.
- 스택을 업데이트합니다.
참고: CloudFormation은 라우팅 테이블을 삭제하려고 시도합니다. 리소스가 이미 삭제되었으므로 CloudFormation은 삭제를 성공적으로 수행한 것으로 간주합니다.
- 필요한 라우팅 테이블 및 모든 추가 리소스 또는 참조를 CloudFormation 템플릿에 다시 추가합니다.
- 스택을 다시 업데이트합니다.
참고: CloudFormation이 삭제된 리소스를 다시 만듭니다.
관련 정보
AWS CloudFormation 문제 해결