どういうわけかknife ec2 create ...
からパブリックインスタンスのアドレスまたはホスト名を取得したいのですが、そのためのメカニズムが見つかりません。
現在chef-solo
を使用しているので、knife ec2 create
のノードを準備するためにbootstrapテンプレートを使用してchef-solo
を実行する簡単なスクリプトを作成しました。そのスクリプトの中間点(knife ec2 create
が終了した後)で、インスタンスのパブリックIPをコピーして貼り付ける必要があります。これは、ノードに「プッシュ」するために使用されます(クックブック、ロール、data_bags、 Host-dnaなどをノードまで実行し、chef-solo
)を実行します。
bootstrap chef-client
およびchef-server
のノードの場合、新しいノードがchef-server
に到達してプルするため、この問題は発生しません。設定しますが、今のところはchef-solo
を使い続けたいと思います。
http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html をご覧ください
何かのようなもの:
wget http:// 169.254.169.254/latest/meta-data/public-hostname
または最後の部分をに変更します
public-ipv4