LoginSignup
7
3

More than 5 years have passed since last update.

CloudFormationのカスタムリソースでハマったこと

Last updated at Posted at 2018-03-20

CFnで実装されていないリソースの制御ができるのでカスタムリソースには助けられていますが、エラーを分かりやすく出力してくれないのが困ったところ。

カスタムリソースが作成できない

カスタムリソースの利用目的

  • Lambda関数の起動

現象

  • カスタムリソースが作成できない
  • CloudWatchのログを見ろとエラー文には書かれているが、見にいってもなにも出力されていない
Failed to create resource. See the details in CloudWatch Log Stream

原因

解決方法

  • try/exceptなど例外処理をしっかり行い応答オブジェクトを返すことがないパターンをなくす
  • 公式で紹介されているcfs-responseモジュールを利用する
  • Lambda関数を CloudFormation Create Resource イベントのテストなどでcfnresponse.send以外のエラーが出ないことを確認する

カスタムリソースがCREATE_IN_PROGRESSのまま終わらない

カスタムリソースの利用目的

  • Lambda関数の起動

現象

  • スタックのカスタムリソースの項目が CREATE_IN_PROGRESS のまま終わらない
  • 作成中なのでスタックを削除することはできない

やってみたこと

  • スタックを停止させるとカスタムリソースが DELETE_IN_PROGRESS に変わるが、これも終わらない
  • スタック自体のステータスも DELETE_IN_PROGRESS になるがスタックの削除はできない

原因

解決方法

  • スタックを削除できるようにするには待つしかない(DELETE_IN_PROGRESS になってから1時間ほど)
  • Lambda関数を CloudFormation Create Resource イベントのテストなどでcfnresponse.send以外のエラーが出ないことを確認する

参考

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3