AWS CloudFormation 스택을 삭제하려고 하는데 스택이 DELETE_FAILED 상태에서 멈춰 있습니다.
간략한 설명
다음과 같은 이유로 스택이 DELETE_FAILED 상태로 멈춰 있을 수 있습니다.
- 스택 리소스에 삭제할 수 없는 종속 객체나 기타 종속 항목이 있습니다. 이 문제를 해결하려면 삭제할 수 없는 종속 객체 또는 기타 종속 항목이 있는 스택 삭제 섹션의 단계를 완료하세요.
- 사용 중인 서비스 역할이 유효하지 않거나 역할을 위임받을 수 없습니다. 이 문제를 해결하려면 유효하지 않은 역할로 스택 삭제 섹션의 단계를 완료하세요.
- 예상 시간 안에 사용자 지정 리소스가 안정화되지 않았습니다. 이 문제를 해결하려면 안정화하지 못한 사용자 지정 리소스의 스택 삭제 단원의 단계를 완료하십시오.
해결 방법
삭제할 수 없는 종속 객체나 기타 종속 항목이 있는 스택 삭제
종속 항목 문제는 일반적으로 대역 외부에서 변경을 수행할 때 발생합니다. 예를 들어, 스택의 일부인 보안 그룹이 스택의 일부가 아닌 탄력적 네트워크 인터페이스에 연결된 경우 스택에서 작업에 실패합니다. 보안 그룹 리소스는 삭제할 수 없기 때문에 스택에서 작업에 실패합니다. 스택을 삭제하려면 해당 종속 리소스를 유지해야 합니다.
리소스를 유지하면서 스택을 삭제하려면 다음 단계를 완료하세요.
AWS CloudFormation 콘솔
- AWS CloudFormation 콘솔을 엽니다.
- DELETE_FAILED 상태로 멈춘 스택을 선택합니다.
- **삭제(Delete)**를 선택합니다.
참고: 새 창이 열리고 삭제에 실패한 리소스가 나열됩니다.
- 이 창에서 보존하려는 모든 리소스를 선택한 다음 **스택 삭제(Delete stack)**를 선택합니다.
AWS Command Line Interface
참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우, 최신 버전의 AWS CLI를 사용하고 있는지 확인합니다.
다음의 delete-stack 명령을 실행합니다.
$ aws cloudformation delete-stack --stack-name my-stack --retain-resources myresource1 myresource2
참고: my-stack을 사용자의 스택 이름으로 바꿉니다. myresource1 및 myresource2를 삭제에 실패한 리소스의 논리 ID로 바꿉니다.
CloudFormation 스택은 스택을 다시 삭제하려고 하지만 보존하도록 선택한 리소스를 삭제하지 않습니다. 스택 상태가 DELETE_COMPLETE로 변경됩니다.
중요: 불필요한 요금을 피하려면 스택을 삭제할 때 보관된 리소스를 수동으로 삭제해야 합니다.
유효하지 않은 역할로 스택 삭제
지금은 존재하지 않는 서비스 역할을 사용하여 생성한 스택을 삭제하려고 하면 **"DeleteStack 작업을 호출할 때 오류(ValidationError)가 발생했습니다. 역할
은 유효하지 않거나 수임 가능하지 않습니다."** 라는 오류가 발생합니다.
이 오류를 해결하려면 다음 단계를 완료하세요.
- AWS CloudFormation 콘솔을 엽니다.
- 삭제할 스택을 선택하여 세부 정보를 확인합니다.
- 스택 정보(Stack info) 탭에서 스택에 할당된 IAM 역할의 이름을 적어 둡니다.
- 3단계의 IAM 역할과 동일한 이름을 사용하여 AWS Identity and Access Management(IAM) 역할을 생성합니다.
중요: IAM 역할을 생성할 때 스택 내의 리소스를 삭제할 올바른 권한이 있는지 확인합니다.
- AWS CloudFormation 콘솔에서 스택 삭제를 다시 시도합니다.
안정화에 실패한 사용자 지정 리소스에 대한 스택 삭제
예상 시간 안에 안정화에 실패한 사용자 지정 리소스에 대한 스택을 삭제하려면 AWS CloudFormation에서 DELETE_FAILED 상태 또는 DELETE_IN_PROGRESS 상태로 멈춘 AWS Lambda 지원 사용자 지정 리소스 문제를 해결하려면 어떻게 해야 합니까?를 참조하세요.