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

问题描述 投票:0回答:4

我想(远程)发出命令来重新启动 EC2 实例,并在成功重新启动后 - 需要确认其是否成功。如何实现这一目标?

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

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

谢谢。

amazon-web-services amazon-ec2 command-line-interface reboot
4个回答
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. 

希望这有帮助。


2
投票

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

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


0
投票

可以使用 AWS CLI 检查实例状态,如下所示。请务必替换下面的 YOUR_INSTANCE_ID 和 YOUR_REGION。

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

0
投票

运行“正常运行时间”

连接到机器并运行

uptime

来源https://man7.org/linux/man-pages/man1/uptime.1.html

© www.soinside.com 2019 - 2024. All rights reserved.