AWS EC2 - 如何确保正在重新启动实例?

时间:2018-02-07 05:51:01

标签: amazon-web-services amazon-ec2 command-line-interface reboot

我想发出命令(远程)来重启EC2实例,并在成功重启后 - 需要确认它是否成功。怎么做到这一点?

如何(以编程方式)知道EC2实例已重启?

需要捕获的信息(如果可能,类似于带有时间戳的信息):
- 重启尝试
- 重启开始了 - 重启正在进行中 - 重启已完成
- 就基础设施可以告诉

重启成功

感谢。

2 个答案:

答案 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。创建指标筛选器并订阅通知。每次重启都会通知您。

https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudwatch-alarms-for-cloudtrail.html#cloudwatch-alarms-for-cloudtrail-ec2-instance-changes