我想发出命令(远程(重新启动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-cloudtrail-ec2-instance-changes-cloudwatch-alarms-for-cloudwatch-anstance-changes-Div>
实例状态可以与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