2

そのため、Amazon EC2 インスタンス内で Java プログラムを実行しています。プログラムで独自のタグを取得する方法はありますか? describeTags() 関数を使用して新しい AmazonEC2Client をインスタンス化しようとしましたが、null しか返されません。どんな助けでもありがとうございました。

編集: より明確にするために、インスタンスは、いくつかの計算のみを実行するためにスピンアップされた無人ワーカー マシンになります。

4

3 に答える 3

1

ユーザーデータを使用するのが最も簡単な解決策かもしれませんが、OP はタグ付けについて具体的に尋ねていました。しかし、それはできます。2 つの Amazon サービスを組み合わせて使用​​したいと考えています。

  1. まず、インスタンス ID を取得する必要があります。これは、インスタンス内から URL にアクセスすることで実現できます。

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

  2. リソース ID を取得したら、Amazon の EC2 API を使用してタグにアクセスします。Java を使用しているとのことでしたので、Amazon が提供するAWS SDKを使用することをお勧めします。describeTagsこの SDK 内には、 ( documentation )というメソッドがあります。リソース ID をフィルターの 1 つとして使用して、インスタンスに特定のタグを取得できます。サポートされているフィルターは

    tag key
    resource-id
    resource-type
    

cloud-init などを使用して起動時にこの取得を行い、必要に応じて後で使用できるようにタグをサーバーにキャッシュすることをお勧めします。

于 2013-08-13T19:15:21.957 に答える