猫でもわかるWeb開発・プログラミング猫でもわかるWeb開発・プログラミング本業エンジニアリングマネージャー。副業Webエンジニア。Web開発のヒントや、副業、日常生活のことを書きます。することはよくあると思います。スタックを3つ用意したり、リリースの単位でスタックを分けたり。使っており、スタックをどのように分割するか考えていました。公式ドキュメントを読んだり、実際に使ってみた結果、考えがまとまったので、記事にします。ように、環境ごとにスタックを分けている人は多いと思います。この場合、ベースのスタックは同じで、環境変数(パラメータ)だけ変更するのが一般的だと思います。他にも、マイクロサービスごとにスタックを分ける同じサービス内で、アプリケーション部分とオペレーション部分で分ける(ログの保存/検索の部分だけ分ける等)などが考えられます。スタックを分けることで、デプロイ時の影響範囲を限定したり、更新頻度が高い部分を分離して更新の衝突を避けたりできます。スタックの分割については触れられています(参考になるかは微妙な印象ですが...)developer.hashicorp.com複数のスタックをまとめてデプロイしたい場合このように必要に応じてスタックを分けますが、デプロイ時に、スタック単体でデプロイしたい場合もあれば、複数のスタックをまとめてデプロイしたい場合もあります。「影響を狭めるために、今回はモニタリングの部分だけ更新したい」「新規の環境構築なので、全部まとめてデプロイしたい」といった場合です。スタックを入れ子にできません。そこで、スタックを分けつつ、必要な場合は複数のスタックを指定してデプロイコマンドを叩くことになります。app2-devワイルドカードで指定するかのどちらかになります。"*-dev"スタックが多いと個別で指定するのが大変なため、ワイルドカードをうまく使えるようにスタックIDを命名していくことが重要になります。上手にスタックIDを命名することで、ワイルドカードを使ってデプロイできることがわかりましたが、いくつか注意点があります。表示された後、デプロイを実行するかどうか尋ねられます。非常に見づらくなります。見づらくなることはありません。この場合、コマンドを実行後、確認無くデプロイされるので注意してください。デプロイする場合はこちらを使うことになるかと思います。コマンドは、マルチスタックに対応していないので注意してください。確認するこになります。よる分岐や、関数(コンストラクタ)の引数によるパラメータの受け渡しなど言語の機能が利用でき、表現力が変わってきます。考えに縛られずに設計していくことが重要になります。機能を使う必要がありません。この場合は基本的に言語の機能を利用するほうが、メンテナンスしやすい設計になると思います。オプションを使うのが良いこの記事に有料部分はありませんが、もし役に立って、お金を払ってもいいと思ったかたは購入をお願いします。スポンサーをお願いしますブログを投稿したらX(twitter)でお知らせしています。