🥶

Cloudformationで管理しているリソースを手動で削除してしまった対応

2022/01/05に公開

起こったこと

Cloudformation(今回はLambda周辺リソースだったのでSAM)でデプロイしたIAMRoleを誤ってコンソールから手動で削除した。その結果、Lambdaが動かなくなった。

原因

年末のリソース棚卸の際に作業者が誤って削除した。
※そもそもそのような権限を与えていたインフラ管理者である私の運用が悪かったです。

理想的な対応

IAMRoleを手動で作成してCloudformationリソースのアップデートをする
https://aws.amazon.com/jp/premiumsupport/knowledge-center/failing-stack-updates-deleted/

実際の対応

  1. (IAMRoleを手動で作成することはせずに)Cloudformationのアップデートをかけて更新に失敗を確認。
  2. 一度Lambdaを含むリソース群のCloudformationスタックを削除して、新しく作り直すことを決定。
  3. スタック削除に時間がかかり(結果的には約40分後に削除にFailしていた)、別名のスタック名、関数名で作成することにした
    4.新しく作成したLambdaが正常に動作することを確認した。

Lambdaが約40分削除できなかった理由は以下のQiitaに記載されていることと関係あるかもしれません。
ENIではないですが、Lambda関数を削除する際に紐づいたIAMRole(既にコンソールから削除されている)をCloudformationが削除しに行ったのかも。
https://qiita.com/meno-m/items/605b8d044f529ea118a1

Discussion