【问题标题】:Getting startup timestamp of Amazon EC2 instance获取 Amazon EC2 实例的启动时间戳
【发布时间】:2011-11-12 15:52:42
【问题描述】:
我正在为 EC2 编写 Java 代码,它将使用来自 SQS 的消息。我的代码将运行一个小时,然后检查队列以确定它是否应该自行关闭(由于没有足够的项目来保证再处理一个小时)或继续运行。为了使它工作,我需要知道实例计费开始的精确时间戳,以便我可以增加一小时并在必要时在一小时结束前几分钟关闭。
我如何最好使用 java SDK 获取我的 java 代码当前运行的 EC2 实例的启动时间戳(AWS 开始按实例小时计费的时间)?
【问题讨论】:
标签:
amazon-ec2
amazon-web-services
amazon-sqs
【解决方案1】:
如果对uptime 进行炮击或将date +%s > /etc/started-at 放入您的引导脚本对于您的口味来说过于依赖平台,您可以执行DescribeInstances SOAP 调用并取出launchTime 字段。
要发现正在运行的机器的实例 id,您可以(从机器内部)进行 http GET,例如
curl http://169.254.169.254/latest/meta-data/instance-id