我想对 Amazon EC2 Auto Scaling 组中的 Amazon Elastic Compute Cloud (Amazon EC2) 实例进行故障排除。
解决方法
**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
如果 EC2 Auto Scaling 组中的 EC2 实例处于 InService(正在使用)状态,您无法停止、启动或重启该实例。您只能终止实例。
要停止、启动、重启 EC2 Auto Scaling 组中的实例或对其进行故障排除,请使用以下方法之一。
暂时将该实例从自动扩缩组中移除
要从自动扩缩组中移除实例以便对其进行更新或故障排除,请将实例状态从 InService(正在使用)更改为 Standby(备用)。
将该实例从自动扩缩组中分离
将该实例从自动扩缩组中分离,使其成为独立实例,以便执行故障排除操作。对实例进行故障排除后,请将该实例重新附加到自动扩缩组。
暂停终止和运行状况检查进程
暂时暂停终止和运行状况检查进程,自动扩缩组就不会终止未通过状态检查的实例。
要使用 Amazon EC2 控制台暂停进程,请完成以下步骤:
- 打开 Amazon EC2 控制台。
- 在导航窗格中,选择 Auto Scaling groups(自动扩缩组)。
- 选择包含受影响实例的自动扩缩组。
- 选择 Edit(编辑)。
- 在 Advanced configurations(高级配置)下,对于 Suspended processes(已暂停的进程),选择 Terminate(终止)和 HealthCheck(运行状况检查)。
重要事项:您必须暂停终止和运行状况检查进程。如果未选择运行状况检查,则当您停止或重启该实例时,它会变得不正常。在这种情况下,当您恢复终止进程时,由于运行状况检查失败,EC2 Auto Scaling 会替换实例。
- 选择 Update(更新)。
- 执行故障排除或更新操作。
- 返回到 Auto Scaling groups(自动扩缩组)页面。
- 选择包含受影响实例的自动扩缩组。
- 选择 Edit(编辑)。
- 对于 Suspended processes(已暂停的进程),清除 Terminate(终止)和 HealthCheck(运行状况检查)。
- 选择 Update(更新)。
要使用 AWS CLI 暂停进程,请完成以下步骤:
- 要暂停 EC2 Auto Scaling 进程,请运行以下 suspend-processes 命令:
aws autoscaling suspend-processes --auto-scaling-group-name autoscalinggroupname --scaling-processes Terminate HealthCheck
**注意:**请将 autoscalinggroupname 替换为您的 EC2 Auto Scaling 组的名称。
- 执行故障排除或更新操作。
- 要恢复进程,请运行以下 resume-processes 命令:
aws autoscaling resume-processes --auto-scaling-group-name autoscalinggroupname --scaling-processes Terminate HealthCheck
**注意:**请将 autoscalinggroupname 替换为您的 EC2 Auto Scaling 组的名称。
相关信息
暂停和恢复 Amazon EC2 Auto Scaling 进程