そのため、Amazon EC2 インスタンス内で Java プログラムを実行しています。プログラムで独自のタグを取得する方法はありますか? describeTags() 関数を使用して新しい AmazonEC2Client をインスタンス化しようとしましたが、null しか返されません。どんな助けでもありがとうございました。
編集: より明確にするために、インスタンスは、いくつかの計算のみを実行するためにスピンアップされた無人ワーカー マシンになります。
そのため、Amazon EC2 インスタンス内で Java プログラムを実行しています。プログラムで独自のタグを取得する方法はありますか? describeTags() 関数を使用して新しい AmazonEC2Client をインスタンス化しようとしましたが、null しか返されません。どんな助けでもありがとうございました。
編集: より明確にするために、インスタンスは、いくつかの計算のみを実行するためにスピンアップされた無人ワーカー マシンになります。
ユーザーデータを使用するのが最も簡単な解決策かもしれませんが、OP はタグ付けについて具体的に尋ねていました。しかし、それはできます。2 つの Amazon サービスを組み合わせて使用したいと考えています。
まず、インスタンス ID を取得する必要があります。これは、インスタンス内から URL にアクセスすることで実現できます。
http://169.254.169.254/latest/meta-data/instance-id
リソース ID を取得したら、Amazon の EC2 API を使用してタグにアクセスします。Java を使用しているとのことでしたので、Amazon が提供するAWS SDKを使用することをお勧めします。describeTags
この SDK 内には、 ( documentation )というメソッドがあります。リソース ID をフィルターの 1 つとして使用して、インスタンスに特定のタグを取得できます。サポートされているフィルターは
tag key
resource-id
resource-type
cloud-init などを使用して起動時にこの取得を行い、必要に応じて後で使用できるようにタグをサーバーにキャッシュすることをお勧めします。