通过对资源栈组执行偏差检测,您可以确定属于该资源栈组的任何资源栈实例是否与它们的预期配置不同或已经存在偏差。

前提条件

请确保您已经创建资了源栈组,操作方法请参见创建资源栈组

背景信息

ROS对资源栈组执行偏差检测时,会对与资源栈组中的每个资源栈实例关联的资源栈执行偏差检测。ROS将资源栈中的每个资源的当前状态与该资源的预期状态(通过资源栈的模板以及指定输入参数定义)进行比较,如果资源的当前状态不同于预期状态,则认为该资源已经存在偏差。

  • 如果资源栈中的一个或多个资源已经存在偏差,则将资源栈本身视为已经存在偏差,并将与资源栈关联的资源栈实例也视为已经存在偏差。
  • 如果资源栈组中的一个或多个资源栈实例已经存在偏差,则将资源栈组本身视为已经存在偏差。

偏差检测判定标准是是在ROS外部对资源栈进行的更改,直接通过ROS对资源栈进行的更改(而不是在资源栈组级别)不会被视为存在偏差。例如,假设您具有一个与资源栈组的资源栈实例关联的资源栈。如果您使用ROS更新该资源栈来使用不同模板,则不会被视为偏差,即使该资源栈现在具有与属于资源栈组的其他资源栈不同的模板。这是因为,该资源栈仍与它在ROS中的预期模板和参数配置相匹配。

在资源栈组偏差检测时,ROS会分别对资源栈组中的每个资源栈执行偏差检测,它在确定资源栈是否偏离时考虑所有覆盖的参数值。如果直接对与资源栈实例关联的资源栈执行偏差检测,则无法从资源栈组页面中查看这些偏差结果。

检测偏差(控制台)

  1. 登录ROS控制台
  2. 在左侧导航栏单击资源栈组
  3. 资源栈组列表中,单击资源栈组名称。
  4. 详细信息页面,选择1>检测偏差资源栈组检测偏差
    说明 ROS会弹出提示窗口,说明已经为选定的资源栈组启动偏差检测。
  5. 在弹出的检测偏差对话框,填写最大并发账户数容错信息,单击确认
  6. (可选)单击操作页签,找到偏差检测操作,单击查看偏差详细信息,可以监控偏差检测操作进度。
    操作
    说明
    • 您每次只能对给定资源栈组运行一次偏差检测操作。即使您关闭信息窗口,ROS也会继续执行偏差检测操作。
    • 偏差检测操作可能需要几分钟,具体时间取决于资源栈组中包含的资源栈实例数量以及资源栈组中包含的资源数量。
  7. 单击实例页签,查看偏差检测结果。结果
    说明
    • 您可以在资源栈ID列查看与每个资源栈实例关联的资源栈ID,在偏差状态列查看该资源栈的偏差状态。如果资源栈的一个或多个资源已偏离,则认为资源栈已偏离。
    • 要查看与特定资源栈实例关联的资源栈的偏差检测结果,您可以记录资源栈实例的阿里云账号、资源栈名称和地域,登录包含资源栈实例的阿里云账户查看偏差结果,详情请参见检测资源栈的偏差状态

检测偏差(阿里云CLI)

使用aliyun ros在资源栈组上检测偏差。

命令 描述
DetectStackGroupDrift 对资源栈组启动偏差检测操作。
GetStackGroupOperation 查询资源栈组偏差检测操作的状态。
StopStackGroupOperation 停止资源栈组的偏差检查操作。

在偏差检测操作完成后,可以通过以下命令返回所需的偏差信息:

  • 使用GetStackGroup返回有关资源栈组的详细信息,包括有关资源栈组上次完成的偏差操作的详细信息(不包括有关正在执行的偏差操作的信息)。
  • 使用ListStackInstances返回属于资源栈组的资源栈实例列表,包括每个实例的偏差状态和上次偏差检查时间。
  • 使用GetStackInstance返回有关特定资源栈实例的详细信息,包括其偏差状态和上次偏差检查时间。