关于 State Manager 关联中的目标和速率控制 - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

关于 State Manager 关联中的目标和速率控制

本主题介绍了状态管理器(Amazon Systems Manager,它可帮助您将关联部署到数十个或数百个实例,同时控制实例数在计划时间运行关联的功能。

Targets

创建状态管理器关联时,您可以选择要在目标部分(Systems Manager 控制台),如此处所示。


                        创建 State Manager 关联时用于将实例设为目标的不同选项

如果使用命令行工具(如Amazon Command Line Interface(Amazon CLI),然后指定targets参数。通过将实例设为目标,您可以配置数十个、数百个或数千个具有关联的实例,而无需指定或选择单个实例 ID。

注意

您只能将 Systems Manager 托管实例设为目标。因此,在创建关联之前,请为 Systems Manager 设置和配置实例。有关更多信息,请参阅 设置 Amazon Systems Manager

在创建关联时,状态管理器包括以下目标选项。

指定实例标签

使用此选项可指定分配给实例的标签键和(可选)标签值。在您运行请求时,系统会在与指定标签键和值匹配的所有实例上查找并尝试创建关联。如果您指定了多个标签,则关联将目标至少具有其中一个标签的任何实例。当系统最初创建关联时,它将运行关联。在此初始运行之后,系统将根据您指定的计划运行关联。

如果您创建新实例并将指定的标签键和值分配给这些实例,系统会自动应用关联,立即运行它,然后根据计划运行它。这适用于关联使用命令或策略文档时,如果关联使用自动化运行簿,则不适用。如果从实例中删除指定的标签,系统将不再在这些实例上运行关联。

在创建关联以运行关联时使用命令或策略文档,最佳做法是使用实例标签,如果关联使用 Automation Runbook,则不适用。如果从实例中删除指定的标签,系统将不再在这些实例上运行关联。

在创建关联以运行 Auto Scaling 组时,最佳做法是使用实例标签。有关更多信息,请参阅 运行 Auto Scaling 组

注意

使用 Amazon Elastic Compute Cloud (Amazon EC2) 标签时,您最多可使用一个标签密钥。如果要使用多个标签密钥定位您的实例,请使用资源组选项。

有关将标签分配给实例的信息,请参阅标记 Amazon EC2 资源中的Amazon EC2 用户指南

手动选择实例

使用此选项可手动选择要在其中创建关联的实例。这些区域有:实例] 窗格 Systems Manager 显示当前 Amazon Web Services 账户 和 Amazon Web Services 区域 。您可以根据需要手动选择任意多个实例。当系统最初创建关联时,它将运行关联。在此初始运行之后,系统将根据您指定的计划运行关联。

注意

如果您希望看到的 Amazon EC2 实例未列出,请参阅Amazon EC2 托管实例可用性疑难解答了解故障排除提示。

删除资源组

使用此选项可在基于 Amazon Resource Groups 标签或基于 Amazon CloudFormation 堆栈的查询返回的所有实例上创建关联。

请注意有关将关联的资源组设为目标的以下详细信息:

  • 如果向组添加新实例,系统会自动将这些实例映射到将资源组设为目标的关联。当系统发现更改时,即会将关联应用于这些实例。在此初始运行之后,系统将根据您指定的计划运行关联。

  • 如果删除资源组,则该组中的所有实例将不再运行关联。作为最佳实践,删除将该组设为目标的关联。

  • 您最多可以将关联的单个资源组设为目标。不支持多个组或嵌套组。

  • 创建关联之后,State Manager 将使用资源组中资源的相关信息定期更新关联。如果您向资源组添加新资源,则系统何时将关联应用于新资源的计划取决于多个因素。您可以在 System Manager 控制台的状态管理器页面中确定关联的状态。

警告

一个Amazon Identity and Access Management(IAM) 用户、组或角色,有权创建将 Amazon EC2 实例资源组设为目标的关联,自动具有组中所有实例的根级控制权。应只允许受信任的管理员创建关联。

有关 Resource Groups 的详细信息,请参阅什么是Amazon Resource Groups?中的Amazon Resource Groups用户指南

选择所有实例

使用此选项可将当前 Amazon Web Services 账户 和 Amazon Web Services 区域 。在您运行请求时,系统会在当前 Amazon Web Services 账户 和 Amazon Web Services 区域 。当系统最初创建关联时,它将运行关联。在此初始运行之后,系统将根据您指定的计划运行关联。如果您创建新实例,系统会自动应用关联,立即运行它,然后根据计划运行它。

速率控制

您可以通过指定并发值和错误阈值来控制关联在实例上的执行。并发值指定可以同时运行关联的实例数量。错误阈值指定关联执行可以失败的次数,超过该次数后 Systems Manager 向已配置该关联的每个实例发送命令来停止运行该关联。此命令停止关联运行,直至下一次计划执行。并发和错误阈值功能统称为速率控制


                        创建状态管理员关联时不同的速率控制选项

Concurrency

并发通过允许您指定只有特定数量的实例可以一次处理一个关联,来帮助限制对实例的影响。您可以指定实例的绝对数量(如 20),也可以指定目标实例集的百分比(如 10%)。

状态管理器并发具有以下限制和局限性:

  • 如果选择使用目标创建关联,但不指定并发值,则 State Manager 自动强制实施 50 个实例的最大并发。

  • 如果在使用并发的关联运行时,与目标条件匹配的新实例变为在线状态,则新实例将在未超出并发值时运行关联。如果超出并发值,则会在当前的关联执行间隔内忽略这些实例。在满足并发要求的情况下,这些实例将在下一个计划间隔内运行关联。

  • 如果更新一个使用并发的关联,并且在更新时有一个或多个实例在处理该关联,则允许正在运行该关联的任何实例完成。尚未开始的关联将停止。关联运行完成后,因为关联已更新,所以所有目标实例都将立即再次运行该关联。当关联再次运行时,将强制执行并发值。

错误阈值

错误阈值指定允许关联执行失败的次数,超过该次数后 Systems Manager 向已配置该关联的每个实例发送命令。此命令停止关联运行,直至下一次计划执行。您可以指定绝对数量的错误 (如 10),也可以指定目标集百分比 (如 10%)。

例如,如果指定错误的绝对数为 3,则状态管理器将在返回第四个错误时发送停止命令。如果指定 0,则 State Manager 会在返回第一个错误结果后发送停止命令。

如果为 50 个关联指定错误阈值 10%,则状态管理器将在返回第六个错误时发送停止命令。在达到错误阈值时,允许完成已经运行的关联,但是其中一些关联可能失败。要确保错误数不超过为错误阈值指定的数量,请将 Concurrency (并发) 值设置为 1,以便一次只处理一个关联。

状态管理器错误阈值具有以下限制:

  • 为当前间隔实施错误阈值。

  • 有关每个错误的信息(包括步骤级别详细信息)都记录在关联历史记录中。

  • 如果选择使用目标创建关联,但不指定错误阈值,则状态管理器自动强制实施 100% 失败的阈值。