내용으로 건너뛰기

CloudFormation에서 “Last applied policy cannot be deleted” 오류를 해결하려면 어떻게 해야 합니까?

2분 분량
0

AWS CloudFormation에서 “Last applied policy cannot be deleted” 오류를 해결하려고 합니다.

간략한 설명

CloudFormation 스택 또는 AWS::SQS::QueuePolicy, AWS::S3::BucketPolicyAWS::SNS::TopicPolicy와 같은 정책 리소스를 삭제하려고 할 때 다음과 같은 오류가 표시될 수 있습니다.

"Last applied policy cannot be deleted. Please delete other policies applied to this resource before deleting the last applied policy."

동일한 리소스에 하나의 정책 이후 다른 정책을 차례로 적용하는 경우 두 번째 정책이 마지막으로 적용된 정책이 됩니다. 두 번째 정책을 삭제하려고 하면 CloudFormation에서 정책 삭제를 허용하지 않습니다.

다음 시나리오를 기반으로 이 오류를 해결하십시오.

  • 스택 및 정책 리소스가 DELETE_FAILED 상태입니다.
  • 다른 스택에서 배포한 다른 정책 리소스가 있는 경우 정책 리소스가 삭제됩니다.

해결 방법

참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.

스택 및 정책 리소스가 DELETE_FAILED 상태임

스택을 삭제하려고 했지만 정책 리소스가 삭제되지 않았다면 스택을 다시 삭제하고 리소스를 건너뛰어 보십시오. DELETE_FAILED 상태인 스택과 정책 문제를 해결하려면 다음 작업 중 하나를 수행하십시오.

  • CloudFormation 콘솔을 연 다음 스택 삭제를 선택합니다. 삭제에 실패한 리소스를 보존할 수 있음 팝업 창의 보존할 리소스에서 정책 리소스를 선택합니다.
  • 다음 AWS CLI 명령을 실행합니다.
    aws cloudformation delete-stack --stack-name example-stack-name --retain-resources example-policy-resource-id
    참고: example-stack-name을 삭제에 실패한 스택으로 바꾸십시오. example-policy-resource-id를 삭제에 실패한 정책 리소스의 ID로 바꾸십시오.

위 작업 중 하나를 완료하고 스택을 다시 삭제하려고 해도 보존하도록 선택한 리소스는 삭제되지 않습니다. 스택 상태가 DELETE_COMPLETE으로 변경됩니다.

참고: 불필요한 요금이 청구되지 않도록 스택을 삭제할 때 보존되는 리소스를 수동으로 삭제하십시오. 정책을 적용한 리소스가 삭제된 경우 리소스를 수동으로 삭제할 필요가 없습니다. 대상 리소스를 삭제하면 정책 리소스가 삭제됩니다.

자세한 내용은 DELETE_FAILED 상태에서 멈춘 AWS CloudFormation 스택을 삭제하려면 어떻게 해야 합니까?를 참조하십시오.

동일한 리소스에 적용한 서로 다른 스택에서 정책 리소스 삭제

서로 다른 스택의 여러 정책을 동일한 리소스에 적용한 경우 처음 적용한 정책을 삭제해야 합니다.

예를 들어 ExamplePolicyAexample-stack-A에서 생성하고 정책을 exampleQueue1에 적용합니다. 이후 example-stack-B에서 ExamplePolicyB를 생성하고 정책을 권한이 다른 exampleQueue1에 적용합니다. ExamplePolicyB를 삭제하려고 하면 다음 오류가 표시됩니다.

"Last applied policy cannot be deleted. Please delete other policies applied to this resource before deleting the last applied policy."

ExamplePolicyB를 삭제하려면 먼저 ExamplePolicyA를 삭제해야 합니다.

참고: 새 정책을 생성하기 전에 이전 정책을 삭제하는 것이 바람직합니다.

AWS 공식업데이트됨 2년 전
댓글 없음

관련 콘텐츠