本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为您的 Amazon A EC2 uto Scaling 资源配置删除保护
通过配置多层保护,保护您的 Amazon A EC2 uto Scaling 基础设施免遭意外删除。Auto Scaling 提供了多种方法来防止您的 Auto Scaling 组及其管理的亚马逊 EC2 实例删除不必要的资源。
配置 Auto Scaling 群组删除保护
删除保护是一项资源级设置,可防止您的 Amazon A EC2 uto Scaling 群组被意外删除。启用删除保护后,会阻止 DeleteAutoScalingGroupAPI 操作成功,要求您先将删除保护设置更新到限制较少的级别,然后才能删除 Auto Scaling 组。
Amazon A EC2 uto Scaling 提供三个级别的删除保护:
- 无(默认)
-
未启用删除保护,这意味着无论是否使用该
ForceDelete选项,都可以删除您的 Auto Scaling 组。使用时,由您ForceDelete的 Auto Scaling 组管理的所有 Amazon EC2 实例也将被强制终止,而无需执行终止生命周期挂钩。 - 防止强制删除
-
使用该
ForceDelete选项时,无法删除您的 Auto Scaling 群组。此配置允许删除空的 Auto Scaling 组(没有实例的组)。对于希望防止大规模实例终止但允许清理空组的生产工作负载,建议使用此选项。 - 阻止所有删除
-
无论是否使用该
ForceDelete选项,都无法删除您的 Auto Scaling 群组。此选项为防止意外删除提供了最强的保护。在删除您的 Auto Scaling 组之前,需要明确禁用删除保护。对于很少或永远不应该删除的任务关键型 Auto Scaling 组,建议使用此选项。
删除保护的工作原理
在启用删除保护的情况下尝试 DeleteAutoScalingGroupAPI 操作时:
-
Amazon A EC2 uto Scaling 会在处理请求之前验证删除保护设置。
-
如果配置的删除保护级别阻止了删除尝试,则 Amazon A EC2 uto Scaling 会返回
ValidationError。 -
您的 Auto Scaling 组及其亚马逊 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 A EC2 uto Scaling 的 IAM 策略的其他示例,包括控制删除权限的策略,请参阅基于身份的策略示例。