問題タブ [terraform-template-file]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1651 参照

terraform - Terraform を使用した階層化されたデプロイ

私はTerraformが初めてなので、このようなことが可能かどうかさえわかりません. 例として、Azure リソース グループとキー コンテナーをデプロイするテンプレートがあるとします。次に、仮想マシンを同じリソース グループにデプロイする別のテンプレートがあるとします。キー コンテナーとリソース グループを破棄せずに、仮想マシン テンプレートを使用して破棄することはできますか? 私たちは、すべてを 1 つのテンプレートに入れることなく、大規模なソリューションの各部分を区分しようとしており、他の部分に影響を与えることなく各部分を個別に管理できるようにしたいと考えています。

関連する注意事項として、状態ファイルを Azure ストレージ アカウントに保存しています。展開を複数の区分化された展開に分割する場合...各展開には独自の状態ファイルが必要ですか、それともすべて同じ状態ファイルを使用する必要がありますか?

0 投票する
1 に答える
279 参照

azure - Azure Application Gateway の IP アドレス リストの適切な形式

内部ロード バランサーを使用するように構成された App Service Environment (ASE) の前に配置される Azure にアプリケーション ゲートウェイをデプロイするための Terraform 構成を作成しています。シェル スクリプトを使用して Azure Cloud Shell からテラフォーム構成を実行します。シェル スクリプトでは、AZ CLI コマンドを実行して ASE 内部ロード バランサーの IP アドレスを取得し、それをコマンド ライン変数として Terraform 構成にフィードします。ip_address_list はリストでなければならないというエラーが表示され続けますが、その形式が何を意味するのかわかりません。

以下は、IPアドレスを取得するために使用しているコマンドです。

これは、以下のようにフォーマットされた IP アドレスを返します。シェルスクリプトの一部としてエコーアウトしているので、正常に取得されたことを確認できます。

"10.10.1.11"

以下は、シェル スクリプトで使用している Terraform コマンド ラインです。

以下は、IP アドレスを適用しようとしている Terraform 構成のコードです。

なしで試してみまし[]たが、同じエラーが発生しました。

0 投票する
3 に答える
2433 参照

digital-ocean - 変数に異なる値を提供するさまざまなリソースに Terraform テンプレートを再利用することは可能ですか?

Terraform を使用して、DigitalOcean で Consul を実行する複数のドロップレットをセットアップしています。おそらく私は何か基本的なことを見逃していますが、それらに適切な設定を提供することは驚くほど難しいようです.

各マシンには、パブリックとプライベートの 2 つのネットワーク インターフェイスがあります。bind_addrこのセットアップでは、各ドロップレットのプライベート IP アドレスを指定する必要があるようです。そうしないと、複数のプライベート (?!) アドレスがあるというエラーで consul が終了します。

bind_addr最も簡単な解決策は、次のように、それぞれの場合でほぼ同じであるが、フィールドの値が異なる構成ファイルを使用して各マシンをプロビジョニングすることです。

それはテンプレートの目的ではありませんか?それらをそのように使用する方法がわかりません。テンプレートの変数は、テンプレートが定義されているときに一度だけ提供できるようです。

リソース ブロックにデータ ブロックをネストしようとしましたが、次のようなエラーが発生します。

私が現在使用している回避策は、構成を 2 つの部分 (サーバーとカスタム) に分割し、ファイル プロビジョナーでカスタムの内容をインライン化することです。

機能しますが、いくつかの理由で読みやすさが妨げられます。

  1. すべての引用符をエスケープする必要があります

  2. すべてを 1 行にする必要があります (?)

  3. 構文の強調表示やテキスト エディターからの同様のヘルプはありません

または、外部プログラム ( などenvsubst) を使用してテンプレートをレンダリングするか、組み込みformat関数をファイル関数と一緒に使用することを検討しましたが、それぞれが面倒です。

私が望むものを達成するための簡単な方法はありますか?