我正在编写EC2的java代码,它将使用来自SQS的消息。我的代码将运行一小时,然后检查队列以确定它是否应该自行关闭(由于没有足够的项目来保证处理另一小时)或继续运行。为了实现这一点,我需要知道实例计费开始时的准确时间戳,这样我就可以增加一小时,并在必要时在小时结束前关闭几分钟。
如何使用java SDK优先获取我的java代码当前正在运行的EC2实例的启动时间戳(AWS开始计算实例小时的时间)?
答案 0 :(得分:2)
如果对uptime
进行炮轰或将date +%s > /etc/started-at
删除到你的bootcript中太依赖于平台,那么你可以执行DescribeInstances SOAP调用并取出launchTime
字段。
要发现正在运行的计算机的实例ID,您可以(在计算机内)创建一个http GET,例如
curl http://169.254.169.254/latest/meta-data/instance-id