問題タブ [terraform-provider-aws]
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 - Terraform 循環依存関係の課題
わかりました、これ以外のほとんどは機能しています...
新しい AWS サーバーをそれぞれ Chef Automate に登録するためのユーザー データ テンプレート ファイルがあります。Chef は、ユーザー データ スクリプトで設定された「node_name」によって各クライアントを参照します。これは、デフォルトではインスタンス ID です。しかし、Chef UI または「ナイフ ノード リスト」で表示する場合、インスタンス ID はユーザー フレンドリーではありません。テンプレートを使用して意味のある node_name を書き出すことができました。何かのようなもの:
ただし、インスタンスを再構築すると、新しいインスタンスが同じ名前で新しく生成されたキーで登録しようとするため、Chef からエラーが発生します。
そのため、node_name に乱数サフィックスを追加しました。インスタンスが再構築されるたびに、この乱数を更新したいと考えています。最初の試みは、インスタンス ID を乱数の「キーパー」として設定することでした。これにより、サイクル エラーが発生しました: ( -> 「依存」を意味します) インスタンス -> ユーザー データ -> ランダム -> インスタンス
また、ランダム生成をダンプして、インスタンス ID の部分文字列を node_name に追加することも試みました。同じ問題ですが、サイクルは短くなります: インスタンス -> ユーザー データ -> インスタンス。
これを回避するためのアイデアはありますか?つまり、ユーザー データに挿入される node_name に文字列を追加し、その文字列はインスタンスが終了して再起動されるたびに更新する必要があります。Terraform からのサイクル エラーなし。
amazon-web-services - Terraform 兄弟ディレクトリのコードを使用する方法
兄弟ディレクトリから特定のコードを使用しようとしていますが、そうするのに問題があります。例として、私のファイルがどのように構成されているかについては、以下を参照してください。
brother/main.tf
で作成した定義を使用したいのですがsister/main.tf
、正しい方法がわかりません。モジュールを使用しようとしました:
これを行うと機能しますが、機能しません。コードをインポートして使用することはできますが、何らかの理由で terraform が新しいモジュール名を使用して、新しいリソース名で他のリソースの束を作成しています (意味がある場合)。基本的に、それは目的のリソースを作成しますが、100 以上の不要なリソースも作成します。
使用したい定義を同じsister
ディレクトリに配置することで、これを簡単に機能させることができますが、それはファイルを構造化する方法ではありません。これを行う正しい方法は何ですか?で定義されている IAM ロールがありbrother
、それを で参照したい場合sister
、どうすればよいですか? 前もって感謝します!
編集:
現在のコード:
姉妹/main.tf
兄弟/main.tf
test_assume_role
基本的には、 でarnを使用できるようにしたいと考えていsister/main.tf
ます。
amazon-web-services - セキュリティ グループ定義では自己参照は許可されていません
Terraform で sg を作成しようとしています。
特定の SG のすべてのインスタンスで、それらの間ですべての通信が許可されるようにしたいので、次のように SG 自体をイングレス ルールに追加します。
ただし、実行するterraform plan
と、次のようになります。
ただし、AWS コンソールでは、インバウンド ルールに SG 名を追加することが許可されており、グループ自体 (つまり、自己参照) を追加できることがわかります。
何故ですか?
私もこれを試しましたが成功しませんでした: