問題タブ [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.
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
terraform - Terraform remote-exec 変数の受け渡し
新しく作成された aws_instance のスクリプトに変数を渡そうとしていますが、方法がわかりません。ここに私が持っているものがあります:
Zookeeper_ips_list に正しい IP リストがあることを確認しました。
terraform apply を介して取得するエラーは次のとおりです。
したがって、基本的には、このマシンを作成し、IP のリストを渡されるプロビジョナー スクリプトを起動して、構成を実行できるようにしたいと考えています。
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) を許可し、個々のセキュリティ グループには指定しないことを考えました。
セキュリティに悪影響を与えるでしょうか?
azure - プライベート IP ではアクセスできるがパブリック IP ではアクセスできない nginx にアクセスできない
Terraform を使用してリソースを作成していますが、サブネット 172.1.0.0 にノードがあり、セキュリティ グループやルールがノードに割り当てられていません。ノードには 22 と 80 の 2 つのエンドポイントがあります。
nmap を使用して、ポートが開いていることを確認しました。
ノードに nginx をインストールして実行するcurl 172.1.0.4
とcurl 127.0.0.1
、curl 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 構成を投稿できます。
docker - Terraform: リモート exec を使用したファイルの編集
Terraform を使用して GOMaster と GOServer をプロビジョニングし、新しくプロビジョニングされた gomaster に goserver を登録するユース ケースがあります。
以下は、私が使用しているテラフォームのレシピです。Terraform は docker サーバー自体にもインストールされており、そこからこのレシピを実行しています。
goagent リソースのリモート実行部分が機能していません。私の仮定は、プロビジョニングされた goagent にログインし、指定された sed コマンドに従ってその中のファイルを変更することでした。しかし、代わりに docker ホストに ssh を実行し、ファイルを変更しています。何か不足していますか?リモート デバイスの接続ブロックで ipaddress または hostname を指定する必要がありますか?
amazon-web-services - Terraform ルックアップの問題
これは、terraform plan を実行したときに得られるものです。以前のバージョンでは以前は機能していたので、基本的に concat は文字列ではなくリストを返します。
コンパイルされたバージョンのterraformを使用しています
amazon-web-services - Terraform で cache_nodes.0.address を取得できません
以下を使用してエラスティック キャッシュ ノード アドレスを取得しようとしています。
このエラーの取得:
id
の代わりに取得しようとするとcache_nodes.0.address
、動作しますが、elasticache ノード アドレスが必要です。どうすればそれを手に入れることができるかについてのアイデア。
アップデート
さらに詳しい情報:
以下のスニペットは、3 つの ecc ノードを作成します
ここで、以下を使用してこれらすべてのクラスターの route53 エントリを作成したいと思います。たとえば、最初のクラスターでは、以下のコードを使用していますが、機能します。count を使用していないときに作業しました。つまり、1 つのクラスターとそのためのルート 43 エンドポイントのみです。