本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为您的 Amazon EC2 Auto Scaling 资源配置删除保护
通过配置多层保护,保护您的 Amazon EC2 Auto Scaling 基础设施免遭意外删除。Auto Scaling 提供了多种方法来防止您的 Auto Scaling 群组及其管理的 Amazon EC2 实例删除不必要的资源。
配置 Auto Scaling 群组删除保护
删除保护是一种资源级设置,可防止您的 Amazon EC2 Auto Scaling 组被意外删除。启用删除保护后,会阻止 DeleteAutoScalingGroupAPI 操作成功,要求您先将删除保护设置更新到限制较少的级别,然后才能删除 Auto Scaling 组。
Amazon EC2 Auto Scaling 提供三个级别的删除保护:
- 无(默认)
-
未启用删除保护,这意味着无论是否使用该
ForceDelete选项,都可以删除您的 Auto Scaling 组。使用时,由您ForceDelete的 Auto Scaling 组管理的所有 Amazon EC2 实例也将被强制终止,而不执行终止生命周期挂钩。 - 防止强制删除
-
使用该
ForceDelete选项时,无法删除您的 Auto Scaling 群组。此配置允许删除空的 Auto Scaling 组(没有实例的组)。对于希望防止大规模实例终止但允许清理空组的生产工作负载,建议使用此选项。 - 阻止所有删除
-
无论是否使用该
ForceDelete选项,都无法删除您的 Auto Scaling 群组。此选项为防止意外删除提供了最强的保护。在删除您的 Auto Scaling 组之前,需要明确禁用删除保护。对于很少或永远不应该删除的任务关键型 Auto Scaling 组,建议使用此选项。
删除保护的工作原理
当你在启用删除保护的情况下尝试 DeleteAutoScalingGroupAPI 操作时:
-
Amazon EC2 Auto Scaling 会在处理请求之前验证删除保护设置。
-
如果配置的删除保护级别阻止了删除尝试,则 Amazon EC2 Auto Scaling 会返回
ValidationError。 -
您的 Auto Scaling 组及其 Amazon EC2 实例保持不变。
-
必须先将删除保护设置更新到限制较少的级别,然后才能删除 Auto Scaling 组。
删除保护不会阻止其他操作,例如:
-
更新 Auto Scaling 组配置。
-
终止单个实例。
-
缩放操作(手动或自动)。
-
暂停或恢复进程。
有关如何优雅地处理实例终止的更多信息,请参阅设计您的应用程序以妥善处理实例终止。
配置删除保护
在创建 Auto Scaling 组或更新现有 Auto Scaling 组的设置时,可以设置删除保护。
使用 IAM 策略控制删除权限
使用 Amazon Identity and Access Management (IAM) 策略控制哪些用户和角色可以删除 Auto Scaling 群组。基于 IAM 的控件通过限制身份级别的权限来提供额外的安全保护。
当您想执行以下操作时,IAM 策略特别有用:
-
允许不同的用户对不同级别的 Auto Scaling 操作进行访问。
-
阻止特定用户使用该
ForceDelete选项,即使他们可以执行其他 Auto Scaling 操作。 -
将删除权限限制为特定的 Auto Scaling 群组。
以下策略仅允许在自动扩缩组具有标签时删除该组。environment=development
以下策略使用autoscaling:ForceDelete条件密钥来控制对 DeleteAutoScalingGroup API 操作的访问权限。这可能会阻止某些用户使用该ForceDelete操作,该操作会终止 Auto Scaling 组中的所有 Amazon EC2 实例。
或者,如果您不使用条件键来控制对 Auto Scaling 组 ARNs 的访问,则可以改为指定Resource元素中的资源来控制访问权限。
以下策略向用户授予使用 DeleteAutoScalingGroup API 操作的权限,但仅适用于名称以开头的 Auto Scaling 群组。devteam-
您也可以 ARNs 通过将它们包含在列表中来指定多个。包括 UUID 可确保将访问权授予特定的 Auto Scaling 组。新群组的 UUID 与已删除的同名群组的 UUID 不同。
"Resource": [ "arn:aws:autoscaling:region:account-id:autoScalingGroup:uuid:autoScalingGroupName/devteam-1", "arn:aws:autoscaling:region:account-id:autoScalingGroup:uuid:autoScalingGroupName/devteam-2", "arn:aws:autoscaling:region:account-id:autoScalingGroup:uuid:autoScalingGroupName/devteam-3" ]
有关 Amazon EC2 Auto Scaling 的 IAM 策略的其他示例,包括控制删除权限的策略,请参阅基于身份的策略示例。