問題タブ [terraform]

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 投票する
1 に答える
1913 参照

terraform - openstack 用の hashicorp ボールトで terraform を使用するには?

terraform を使用して、プライベート オープンスタック クラウドにサーバーをプロビジョニングしています。terraform を実行するには、terraform スクリプトが openstack クラウドのユーザー名とパスワードにアクセスできる必要があります。したがって、この情報を秘密のファイルに保存し、これを暗号化したいと思います (ansible Vault のラインに沿ったもの)。ただし、hashicorp ボールトを terraform で使用するために私が見つけた唯一の例はAWSです。では、openstack インスタンスのプロビジョニングに使用する 2 つの変数を含むボールト値を読み取ることができる Terraform スクリプトを作成するにはどうすればよいでしょうか?

参考までに、Vault シークレット バックエンドをマウントする方法を次に示します。

vault mount generic

私のシークレットは次のようになります (json ファイルに書き込まなかった場合)。

vault write generic/logins usernames=myUserName psswrds=myPassword

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

terraform - Terraform remote-exec 変数の受け渡し

新しく作成された aws_instance のスクリプトに変数を渡そうとしていますが、方法がわかりません。ここに私が持っているものがあります:

Zookeeper_ips_list に正しい IP リストがあることを確認しました。

terraform apply を介して取得するエラーは次のとおりです。

したがって、基本的には、このマシンを作成し、IP のリストを渡されるプロビジョナー スクリプトを起動して、構成を実行できるようにしたいと考えています。

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

amazon-web-services - Terraform を使用して AWS VPC セキュリティ グループを作成しようとすると、サイクル エラーが発生します

2 つの VPC セキュリティ グループを作成したいと考えています。

1 つは VPC の Bastion ホスト用で、もう 1 つはプライベート サブネット用です。

するとterraform plan、次のエラーが返されます。

PrivateSG から BastionSG のイングレス ルールをコメント アウトすると、プランは正常に実行されます。

また、BastionSG から PrivateSG のエグレス ルールをコメント アウトすると、正常に実行されます。

パブリック/プライベート サブネットと Bastion ホストを使用して VPC を構築するためのAWS シナリオ 2 では、セットアップしようとしているアーキテクチャについて説明しています。

AWS コンソールを介して構成されたまったく同じ設定があり、正常に再生されます。

Terraform がそれを受け入れないのはなぜですか? Bastion セキュリティ グループを Private セキュリティ グループに接続する別の方法はありますか?

編集

私が理解しているように、2 つの秒グループの間に循環参照があり、AWS では有効であっても何らかの形で中断する必要があります。

そこで、Bastion sec グループからのすべてのアウトバウンド トラフィック (0.0.0.0/0) を許可し、個々のセキュリティ グループには指定しないことを考えました。

セキュリティに悪影響を与えるでしょうか?

0 投票する
0 に答える
173 参照

azure - プライベート IP ではアクセスできるがパブリック IP ではアクセスできない nginx にアクセスできない

Terraform を使用してリソースを作成していますが、サブネット 172.1.0.0 にノードがあり、セキュリティ グループやルールがノードに割り当てられていません。ノードには 22 と 80 の 2 つのエンドポイントがあります。

nmap を使用して、ポートが開いていることを確認しました。

ノードに nginx をインストールして実行するcurl 172.1.0.4curl 127.0.0.1curl 0.0.0.0デフォルトの nginx ページが表示されます。

ただし、実行中curl <public ip>またはcurl <dns name>ハングすると、

curl: (56) Recv failure: Connection reset by peer

私のiptablesルールは次のとおりです。

ノードのパブリック IP で nginx にアクセスできないのはなぜですか?

ノードは仮想ネットワーク内172.1.0.0/16にあり、172.1.0.0/24必要に応じて Terraform 構成を投稿できます。

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

docker - Terraform: リモート exec を使用したファイルの編集

Terraform を使用して GOMaster と GOServer をプロビジョニングし、新しくプロビジョニングされた gomaster に goserver を登録するユース ケースがあります。

以下は、私が使用しているテラフォームのレシピです。Terraform は docker サーバー自体にもインストールされており、そこからこのレシピを実行しています。

goagent リソースのリモート実行部分が機能していません。私の仮定は、プロビジョニングされた goagent にログインし、指定された sed コマンドに従ってその中のファイルを変更することでした。しかし、代わりに docker ホストに ssh を実行し、ファイルを変更しています。何か不足していますか?リモート デバイスの接続ブロックで ipaddress または hostname を指定する必要がありますか?

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

amazon-web-services - Terraform ルックアップの問題

これは、terraform plan を実行したときに得られるものです。以前のバージョンでは以前は機能していたので、基本的に concat は文字列ではなくリストを返します。

コンパイルされたバージョンのterraformを使用しています

0 投票する
0 に答える
516 参照

amazon-web-services - Terraform で cache_nodes.0.address を取得できません

以下を使用してエラスティック キャッシュ ノード アドレスを取得しようとしています。

このエラーの取得:

idの代わりに取得しようとするとcache_nodes.0.address、動作しますが、elasticache ノード アドレスが必要です。どうすればそれを手に入れることができるかについてのアイデア。

アップデート

さらに詳しい情報:

以下のスニペットは、3 つの ecc ノードを作成します

ここで、以下を使用してこれらすべてのクラスターの route53 エントリを作成したいと思います。たとえば、最初のクラスターでは、以下のコードを使用していますが、機能します。count を使用していないときに作業しました。つまり、1 つのクラスターとそのためのルート 43 エンドポイントのみです。