4

我正在为 EC2 编写 Java 代码,它将使用来自 SQS 的消息。我的代码将运行一个小时,然后检查队列以确定它是否应该自行关闭(由于没有足够的项目来保证再处理一个小时)或继续运行。为了使其工作,我需要知道实例计费开始的精确时间戳,以便我可以添加一小时并在必要时在一小时结束前几分钟关闭。

如何最好使用 Java SDK 获取我的 Java 代码当前正在运行的 EC2 实例的启动时间戳(AWS 开始为实例小时计费的时间)?

4

1 回答 1

3

如果对您的引导脚本进行脱壳uptimedate +%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 回答