我想发出命令(远程)来重启EC2实例,并在成功重启后 - 需要确认它是否成功。怎么做到这一点?
如何(以编程方式)知道EC2实例已重启?
需要捕获的信息(如果可能,类似于带有时间戳的信息):
- 重启尝试
- 重启开始了
- 重启正在进行中
- 重启已完成
- 就基础设施可以告诉
感谢。
答案 0 :(得分:2)
您可以轮询实例的状态以检查结果。这是一些可以帮助你的伪代码。这是使用AWS Java SDK。进程在其他语言SDK中类似。
// Call the AWS Ec2 Describe Instance API.
DescribeInstancesRequest describeRequest = new DescribeInstancesRequest().withInstanceIds("yourInstanceId");
DescribeInstancesResult result = ec2Client.describeInstances(describeRequest);
// Fetch the required instance's status.
InstanceState status = result.getReservations().get(0).getInstances().get(0).getState();
// Check if instance status is Running.
Objects.equals(status.getName(), InstanceStateName.Running.toString());
// Continue the loop until instance is started running.
希望这会有所帮助。
答案 1 :(得分:1)
如果您在EC2中为该地区启用了cloudtrail。创建指标筛选器并订阅通知。每次重启都会通知您。