cloud-init から ec2 メタデータ サービスを無効にする

cloud-init から ec2 メタデータ サービスを無効にする

AWS EC2 イメージを VirtualBox に変換し、ローカルで実行しています。正常に動作しますが、起動時に AWS メタデータ サービスへの呼び出しを無効にする方法がわかりません。

2015-09-25 19:29:29,932 - url_helper.py[WARNING]: Calling 'http://169.254.169.254/2009-04-04/meta-data/instance-id' failed [50/120s]: request error [(<urllib3.connectionpool.HTTPConnectionPool object at 0x7fb78650efd0>, 'Connection to 169.254.169.254 timed out. (connect timeout=50.0)')]
2015-09-25 19:30:20,987 - url_helper.py[WARNING]: Calling 'http://169.254.169.254/2009-04-04/meta-data/instance-id' failed [101/120s]: request error [(<urllib3.connectionpool.HTTPConnectionPool object at 0x7fb78652cb90>, 'Connection to 169.254.169.254 timed out. (connect timeout=50.0)')]
2015-09-25 19:30:39,011 - url_helper.py[WARNING]: Calling 'http://169.254.169.254/2009-04-04/meta-data/instance-id' failed [119/120s]: request error [(<urllib3.connectionpool.HTTPConnectionPool object at 0x7fb78650ee10>, 'Connection to 169.254.169.254 timed out. (connect timeout=17.0)')]
2015-09-25 19:30:40,015 - DataSourceEc2.py[CRITICAL]: Giving up on md from ['http://169.254.169.254/2009-04-04/meta-data/instance-id'] after 120 seconds
2015-09-25 19:31:43,509 - util.py[WARNING]: Failed to fetch password from virtual router 192.168.128.1

cloud-init のどこでこれらを無効にできますか? これらの呼び出しは最終的にはタイムアウトしますが、VirtualBox イメージの起動に 2 分以上かかります。

答え1

本当にVirtualBoxでクラウドイメージを使いたいのであれば、.vmdkec2 amiの代わりにCanonicalが生成したものをお勧めします。クラウドなしのデータソース私のバージョンの VirtualBox はすでに .vmdk でネイティブに動作します (または透過的に変換します。よくわかりません)。

詳しい手順については、この答えさらにあります。

答え2

1 回限りの VirtualBox の場合、@ching の回答は問題ありません。ただし、テンプレートを作成し、cloud-init で設定する必要がある場合は、 にオーバーライド ファイルを作成するのが「正しい」方法です/etc/cloud/cloud.cfg.d/。 のファイルは/etc/cloud/cloud.cfg.d/の値をオーバーライドします/etc/cloud.cfg

例:

価値/etc/cloud/cloud.cfg

datasource_list: [ Ec2, None ]

新しいファイル/etc/cloud/cloud.cfg.d/99_overrides.cfg

datasource_list: [ None ]

ここでは、EC2 の代わりに VMware、ConfigDrive などの他のプロバイダーを追加できます。これは、EC2 メタデータの場合と同様にプロビジョニングするのに非常に便利です。

見る:https://cloudinit.readthedocs.io/en/latest/topics/datasources.html

答え3

systemctl disable cloud-config.service
systemctl disable cloud-final.service 
systemctl disable cloud-init.service 
systemctl disable cloud-init-local.service 

関連情報