繁体   English   中英

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

[英]AWS EC2 - how to make sure an instance is being rebooted?

我想(远程)发出命令以重新启动 EC2 实例,并在成功重新启动后 - 需要确认它已成功。 如何做到这一点?

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

需要捕获的信息(如果可能,类似于带有时间戳的信息):
- 重启尝试
- 重启开始
- 重新启动正在进行
- 重启完成
- 就基础架构而言,重启成功

谢谢。

您可以轮询实例的状态以检查结果。 这是一些可以帮助您的伪代码。 这是使用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. 

希望这可以帮助。

如果您已在EC2中为该区域启用了cloudtrail。 创建指标过滤器并订阅通知。 每次重新启动都会通知您。

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

可以像这样使用 AWS CLI 检查实例 state。 确保替换下面的 YOUR_INSTANCE_ID 和 YOUR_REGION。

aws ec2 describe-instance-status \
  --instance-ids=YOUR_INSTANCE_ID \
  --query='InstanceStatuses[0].InstanceStatus.Status' \
  --region=YOUR_REGION

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM