我想终止我的 Amazon Elastic Compute Cloud(Amazon EC2)实例。
解决方法
**注意:**如果在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
由于以下原因,您的 Amazon EC2 实例可能无法终止。
实例启用停止保护
启用停止保护后,您无法终止 EC2 实例。要检查停止保护是否已开启并将其关闭,您可以使用 AWS CLI 或 Amazon EC2 控制台。
使用 AWS CLI
要检查 EC2 实例是否已启用停止保护,请运行以下 describe-instance-attribute 命令:
aws ec2 describe-instance-attribute --instance-id i-1234567890 --attribute disableApiStop
如果输出返回 true,请为该实例开启停止保护。
要关闭停止保护以便终止实例,请运行以下 modify-instance-attribute 命令:
aws ec2 modify-instance-attribute --instance-id i-1234567890 --no-disable-api-stop
使用 Amazon EC2 控制台
要从 Amazon EC2 控制台检查停止保护状态,请完成以下步骤:
- 打开 Amazon EC2 控制台。
- 选择 Actions(操作)。
- 选择 Instance settings(实例设置)。
- 选择 Change stop protection(更改停止保护)。
如果选中 Enable(启用),请取消选中该复选框以关闭停止保护。
实例启用终止保护
启用终止保护后,您无法终止 EC2 实例。要检查终止保护是否已开启并将其关闭,您可以使用 AWS CLI 或 Amazon EC2 控制台。
使用 AWS CLI
要检查 EC2 实例是否已开启终止保护,请运行以下 describe-instance-attribute 命令:
aws ec2 describe-instance-attribute --instance-id i-1234567890 --attribute disableApiTermination
如果输出返回 true,请为该实例开启终止保护。
要关闭终止保护以便终止实例,请运行以下 modify-instance-attribute 命令:
aws ec2 modify-instance-attribute --instance-id i-1234567890 --no-disable-api-termination
使用 Amazon EC2 控制台
要从 Amazon EC2 控制台检查终止保护状态,请完成以下步骤:
- 打开 Amazon EC2 控制台。
- 选择 Actions(操作)。
- 选择 Instance settings(实例设置)。
- 选择 Change termination protection(更改终止保护)。
如果终止保护已开启,请选择 Yes, Disable(是的,禁用),然后选择 Save(保存)以关闭终止保护。
附加到您的 IAM 实体的 IAM 策略不包括终止实例的权限
要终止实例,您的 AWS Identity and Access Management (IAM) 实体的 IAM 策略必须显式允许 TerminateInstances API 操作。
策略示例:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:TerminateInstances",
"Resource": [
"arn:aws:ec2:us-west-2:123456789012:instance/i-0abcd1234efgh5678",
"arn:aws:ec2:us-west-2:123456789012:instance/i-1wxyz9876lmno4321"
]
}
]
}
如果将 AmazonEC2FullAccess 或 AdministratorAccess AWS 托管式策略附加到您的 IAM 实体,则该实体有权执行 TerminateInstances 操作。如果 AmazonEC2FullAccess 或 AdministratorAccess 未连接到您的 IAM 实体,则您必须编辑客户管理型策略以允许 TerminateInstances 操作。或者,创建允许 TerminateInstances 操作的客户管理型策略。
实例是自动扩缩组的一部分
当您终止属于自动扩缩组的实例时,自动扩缩组可能会启动替换实例。替换实例允许自动扩缩组保持预期的实例数。要终止实例并调整自动扩缩组的大小,请在 AWS CLI 中运行 terminate-instance-in-auto-scaling-group 命令。
相关信息
终止 Amazon EC2 实例