2

Amazon EC2 に CoreOS インスタンスがあります。

「$private_ipv4」や「$public_ipv4」など、cloud-config.yml からアクセスできる定義済みの変数がいくつかあります。

「$instance_id」のような EC2 インスタンスの「インスタンス ID」にアクセスする方法はありますか? (「$instance_id」と「$INSTANCE_ID」を試しましたが、どちらも有効になりませんでした)

4

1 に答える 1

3

その変数は組み込まれていませんが、次の 2 つのいずれかを行うことができます。

  1. その値のメタデータ サービスを直接 curl します。

curl http://169.254.169.254/latest/meta-data/instance-id

  1. 環境情報の場合と同じように、「ワンショット」ユニットでそのカールの結果をファイルに書き出してから、そのファイルをユニットにソースします。

書き込みINSTANCE_ID=abc123先のワンショット ユニットと通常のユニットは、ワンショット ( / )/etc/instance-idの contains に依存します。これにより、 $INSTANCE_ID がユニットで使用できるようになります。Requires=instanceid.serviceAfter=instanceid.serviceEnvironmentFile=/etc/instance-id

ユニットでの環境変数の使用に関するその他のドキュメント: https://coreos.com/os/docs/latest/using-environment-variables-in-systemd-units.html#environmentfile-directive

于 2015-08-20T19:29:26.613 に答える