1. ホーム
  2. amazon-web-services

[解決済み] CloudFormationテンプレートのデバッグを迅速かつ効率的に行うには?

2023-03-19 12:26:25

質問

CloudFormationは、AWSリソーススタックをプログラム的に作成することができる、強力なAWSのサービスです。 アプリケーションのウェブ層のようなAWSリソーススタックをプログラムで作成することができます。 a 高性能コンピューティングクラスター または アプリケーションスタック全体 を1回のAPIコールで実現できます。これは非常に強力です。これを使うことはきっと良いAWSプラクティスとみなされるでしょう。 Chef, Puppet または cloud-init. それをデバッグすると、私は悪徳に追いやられます。

本番の例を見てみましょう。在庫の mongodb クラスタテンプレート は動作しません。特に理由はわかりません。ほとんどいつもそうなので、きっと何か単純なことなのでしょう。私の問題は、何が間違っているのかがわからないことではありません。スタックが失敗するのに20分から30分かかり、さらに、リソースを適切に削除すると仮定しても、削除するのに3、4分かかります。

何が足りないのでしょうか。私は --disable-rollback フラグについて知っていて、それを酸素のように使っています。私はずっと前に、終了メッセージを cfn-signal で終了メッセージを包み、沈没する船からバラストのように放り投げることをずいぶん前に学びました。どうすればテンプレートのデバッグ プロセスを速くすることができるでしょうか、それとも、間違いを犯した 30 分後にその間違いに気づくことになるのでしょうか?

どのように解決するのですか?

この場合 aws cloudformation validate-template コマンドを使用します。これは、テンプレートが有効なJSONまたはYAMLであるかどうかを検証するだけで、キーと値が正しいかどうかは検証しません(たとえば、キーのタイプミスをチェックしません)。