且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

防止误删的神器-ECS实例删除保护

更新时间:2021-07-22 07:30:21

背景:

当您的ECS实例承载着关键性的业务时,却由于

  • 管理链路的复杂
  • 技术操作的疏忽
  • 多层沟通的误解


从而带来难以挽回的重大经济损失。
为了避免类似情况发生,一款避免误删的神器悄然问世了,那就是“实例释放保护”,通过它只要简单的设置,就能够保护您的实例免受意外删除。

该功能仅适用于按量付费实例,不支持预付费和抢占实例,可以避免实例被用户在控制台或API操作而释放,但不会影响阿里云对实例进行的合规释放行为,如自动释放或欠费释放。

实例删除保护:

实例删除保护功能是通过设置实例保护属性DeletionProtection来达到保护实例的目的。该属性有两个状态:

  • True:保护实例免受删除
  • False:不保护实例免受删除(默认值)
    当您想保护实例免受误删除,您可以将该属性设置为True,默认值为False。需要了解的是,释放保护属性可以避免实例被用户误操作而释放,但不会影响阿里云正常对实例进行的释放行为,包括以下场景:
  • 按量付费实例由于账号欠费后超过15天而产生的释放操作
  • 按量实例设置了自动释放时间,到期后自动释放操作
  • 按量付费实例因为安全合规等因素而产生对实例的停止或释放操作
  • 弹性伸缩组伸缩活动创建的按量付费实例,在执行缩容活动时,如果实例是由ECS创建并且伸缩模式是释放模式(Release)的情况下,该实例被移出伸缩组并释放的操作。

操作演示:

您可以在以下两种方式开启 实例删除保护 功能

创建实例时开启

当您在创建ECS时,可以选择是否开启实例删除保护,默认不开启。两种途径开启实例删除保护功能
1.通过阿里云官网购买页开启

防止误删的神器-ECS实例删除保护

如上图所示,通过勾选“实例删除保护”则开启了实例删除保护功能。
2.通过API设置开启
通过API创建时,可以通过设置DeletionProtection参数来指定是否开启实例删除保护功能,默认不开启,API使用参考:

创建后修改

当您的实例创建过程中并未设置该属性,可以通过修改实例属性的方式来开启实例删除保护功能。
1.通过阿里云官网开启
防止误删的神器-ECS实例删除保护

上图所示,选择实例设置->修改信息,弹出修改信息界面
防止误删的神器-ECS实例删除保护

然后点击勾选框开启实例释放保护,同时这里也可以去除实例保护设置。
2.通过API设置开启
通过API修改时,可以通过设置DeletionProtection来指定确定是否开启实例删除保护功能,默认不开启,
API使用参考:

查询实例是否开启删除保护

可以通过两种方式查询实例是否设置实例删除保护属性
1.通过阿里云官网查询

防止误删的神器-ECS实例删除保护

如上图所示打开实例详情页,在左下方中可以看到是否开启实例删除保护。
2.通过API查询
通过API查询时,返回参数带有DeletionProtection返回值,通过该值可以知道实例是否设置实例删除保护功能。API使用参考:
DescribeInstances

使用限制:

  1. 该属性仅支持按量付费实例,不支持预付费和抢占实例。
  2. 该属性只能限制用户是否允许释放实例,对系统释放操作不受影响,如按量付费实例欠费后的释放操作、弹性伸缩组伸缩活动释放的操作。

FAQ

Q:为什么会需要实例释放保护的功能?
A:当用户创建的某些实例用于关键业务运行或绑定某类license,或由用户授权云服务创建的实例正在提供服务,可能会出现被用户误释放的情况,造成不可挽回的损失和业务影响。因此,ECS实例提供“释放保护”功能,避免实例在控制台或通过API由用户直接释放。

Q:可以对哪些类型的实例配置释放保护?
A:仅支持按量付费实例,不支持预付费和抢占实例。

Q:释放保护功能如何设定?可以修改吗?
A:当用户创建实例时,可以通过控制台或API参数来设定释放保护属性;在实例未释放前,用户都可以通过控制台或API修改释放保护属性。

Q:在哪些情况下实例设置了释放保护但仍然会被释放?
A:释放保护属性可以避免实例被用户误操作而释放,但不会影响阿里云正常对实例进行的释放行为,包括以下场景:

  • 按量付费实例由于账号欠费后超过15天而产生的释放操作
  • 实例因为安全合规等因素而产生对实例的停止或释放操作
  • 按量实例设置了自动释放时间,到期后自动释放操作
  • 弹性伸缩组伸缩活动创建的按量付费或抢占式实例,在执行缩容活动时,如果实例是由ECS创建并且伸缩模式是释放模式(Release)的情况下,该实例被移出伸缩组并释放的操作。