4

SQSからのメッセージを消費するEC2用のJavaコードを書いています。私のコードは1時間実行されてから、キューを確認して、それ自体をシャットダウンするか(さらに1時間の処理を保証するのに十分なアイテムがないため)、実行を継続するかを決定します。これを機能させるには、インスタンスの請求が開始された正確なタイムスタンプを知る必要があります。これにより、インスタンスに1時間を追加し、必要に応じて時間が経過する数分前にシャットダウンできます。

Javaコードが現在JavaSDKを使用して実行されているEC2インスタンスの起動タイムスタンプ(AWSがインスタンス時間の請求を開始する時間)を取得するにはどうすればよいですか?

4

1 に答える 1

3

ブートスクリプトへのシェル化uptimeまたはドロップdate +%s > /etc/started-atがプラットフォームに依存しすぎて好みに合わない場合は、DescribeInstances SOAP 呼び出しを実行してlaunchTimeフィールドを抜き出すことができます。

実行中のマシンのインスタンス ID を検出するには、(マシン内から) 次のような http GET を作成できます。

curl http://169.254.169.254/latest/meta-data/instance-id
于 2011-09-08T04:16:23.980 に答える