web-dev-qa-db-ja.com

テスト用にCloudFormationスタックを最初にデプロイする適切な方法は何ですか?

私は最初のCFスタックを作成していますが、構文と使用可能なパラメーターがまだ完全にわからないため、最初の試行でデプロイが失敗します。 CLIを介してjsonとテンプレート自体を検証していますが、展開時に問題が発生し、ロールバックまたはエラーが発生する可能性があります。更新ではなく新しいスタックの場合、展開が失敗して更新できないので、スタックを完全に破棄して、新しいものを再展開する必要があります。

私はこの問題にどう対処するか疑問に思っていました。削除されたスタックがコンソールにない場合でも、CLIは以前に作成および破棄されたすべてのスタックを一覧表示し、クリーンではありません。もちろん、スタックが失敗の原因となった問題を修正した後、スタックを更新することはできません。スタックが完全に新しいスタックであるかのように、すべてを再デプロイする必要があります。

これについて何か考えはありますか?どのようにして最初のスタックを作成しましたか?

1
Chris

スタックの最初の「作成」は成功する必要があります。成功しない場合は、削除する必要があります。その後の更新は失敗し、スタックを削除せずにロールバックできます。コンソールで削除する傾向がありますが、もちろん「aws cloudformation delete-stack」を使用できます。

CLIでスタックの一覧を表示する必要はありません。コンソールを使用するだけなので、何が表示されるのかわかりません。スタックが削除されるとすぐに、再び作成できます。コマンドでその状態を検出できます

aws cloudformation wait stack-delete-complete --profile profilename --stack-name stack-name

導入の鍵は、導入することがわかっている単純なスタックを導入し、後で複雑さを追加することです。 AWSの例からコピーして貼り付けることができる、デプロイする1つのリソースを除くすべてをコメント化することで、これを行うことができます。 Visual Studio Codeは、「Control-Shift-/」の組み合わせでこれを簡単にし、大きなブロックをコメント/コメント解除します。

YAML形式のCloudFormationの使用を検討する必要がありますが、はるかに簡単です。

0
Tim