CloudFormationの削除時に “Invalid or cannot be assumed” が発生する

2021.07.29

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

いわさです。

先日、以下のSAMパイプライン機能を試しました。

確認が終わり、SAMパイプラインのCloudFormationスタックを削除したところ、失敗しました。
その後、再度削除しようとした際に、見慣れない現象が起きましたのでご紹介します。

事象

まず、SAMパイプラインのCloudFormationスタックを削除します。

削除に失敗しました。

もう一度削除を試してみます。すると...

削除確認メッセージが表示されます。
通常はこちらに削除失敗リソースが表示されて、スキップするか問われるのですが削除失敗リソースが表示されません。

このままスタックの削除を行うと、失敗しました。
そして、その後は削除処理を受け付けなくなりました。

エラーメッセージで表示されたロールが必要なのですが、削除しようとしているスタックの失敗した削除処理で既に削除されてしまってロールバックできていないため、存在しないというエラーになっているようです。

元々のStack削除失敗の原因は以下のようになっています。

対処方法

対処方法としては、エラーメッセージで表示されていたものと同名のロールを作成し、もう一度削除処理をすることです。
IAMでロールを検索してみます。

エラーメッセージで出てたロールはありません。
ロールを追加しましょう。

CloudFormationの操作出来るように権限を付与しておきます。

ロールを作成できたので、もう一度削除してみましょう。

今度はスタックを削除することができました。

さいごに

同様の事象が発生し、CloudFormationスタックが削除出来ずに困っている方の参考になれば幸いです。
なお、他にもスタック削除で失敗するケースがありますので以下のリンクを参考にトラブルシューティングを行ってみて頂けますと幸いです。

参考