不変インフラストラクチャにおける構成の変更

不変インフラストラクチャにおける構成の変更

不変のインフラストラクチャを使用している人は、異なる環境間での構成の変更をどのように処理しているのでしょうか? ロールごとに 1 つの AMI を作成し、それをすべての環境で使用する良い方法を思いつきません。

私が言いたいのは、開発、ステージング、本番環境にデプロイできる単一の ami を構築し、その環境に適した ELB などを指定する方法です。現時点で考えられる選択肢は次のとおりです。

  • 環境ごと、ロールごと (本番 Web サーバー、本番アプリケーション サーバー、ステージング Web サーバーなど) に AMI を構築します。これでは、同じイメージをすべての環境にプッシュするという II の目的が達成されないようです。
  • ほぼ完成した AMI を構築し、起動後、ELB に追加する前に最終構成を実行します。これは近いように思えますが、何かが欠けているように感じます。

AMI の作成時などに、一連のパラメータを AMI に渡す方法はありますか? 他の人は不変のインフラストラクチャをどのように使用していますか?

ありがとう。

答え1

ボックスフューズ私たちは不変のインフラストラクチャに生きています。次の 2 つのアプローチを組み合わせることをお勧めします。

  1. すべての環境に対して可能な限り多くの構成を AMI に直接焼き付けます (実行時に正しいセットを自動選択します)
  2. 残りの設定をインスタンスとして渡すユーザーデータマシン/環境に必要な値を持つ環境をエクスポートするシェル スクリプト (cloud-init)

関連情報