

• Amazon Systems Manager CloudWatch 控制面板在 2026 年 4 月 30 日之后将不再可用。客户可以像现在一样继续使用 Amazon CloudWatch 控制台来查看、创建和管理其 Amazon CloudWatch 控制面板。有关更多信息，请参阅 [Amazon CloudWatch 控制面板文档](https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)。

# 了解 State Manager 关联中的目标和速率控制
<a name="systems-manager-state-manager-targets-and-rate-controls"></a>

本主题介绍State Manager工具。此工具可帮助您将关联部署到数十个或数百个节点，同时控制在计划时间运行关联的节点数。State Manager是 Amazon Systems Manager 中的一项工具。

## 使用目标
<a name="systems-manager-state-manager-targets-and-rate-controls-about-targets"></a>

在创建 State Manager 关联时，选择在 Systems Manager 控制台中的**Targets**（目标）部分中要配置哪些节点，如下所示。

![\[创建 State Manager 关联时用于将节点设为目标的不同选项\]](http://docs.amazonaws.cn/systems-manager/latest/userguide/images/state-manager-targets.png)


如果使用命令行工具（如Amazon Command Line Interface (Amazon CLI)）创建关联，请指定 `targets` 参数。通过将节点设为目标，您可以配置数十个、数百个或数千个具有关联的节点，而无需指定或选择单个节点 ID。

每个托管节点最多可以有 20 个关联作为目标。

State Manager 在创建关联时包括以下目标选项。

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

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

**注意**  
如果您将自动化运行手册与 State Manager 结合使用，但由于标记限制的原因，您无法实现特定目标，请考虑将自动化运行手册与 Amazon EventBridge 结合使用。有关更多信息，请参阅 [基于 EventBridge 事件运行自动化](running-automations-event-bridge.md)。有关将 State Manager 与自动化运行手册结合使用的信息，请参阅[使用 State Manager 关联调度自动化](scheduling-automations-state-manager-associations.md)。

作为最佳实践，我们建议在创建使用命令或策略文档的关联时使用标签。我们还建议在创建运行自动扩缩组的关联时使用标签。有关更多信息，请参阅 [运行 Auto Scaling 组](systems-manager-state-manager-asg.md)。

**注意**  
请注意以下信息。  
在 Amazon Web Services 管理控制台中使用标签创建定位节点的关联时，只能为自动关联指定一个标签键，为命令关联指定五个标签键。关联中指定的*所有*标签键当前都必须分配给该节点。如果没有分配给该节点，则 State Manager 无法将该节点作为关联目标。
如果要使用控制台，*并且*希望通过对自动关联使用多个标签键，对命令关联使用五个标签键来定位节点，请将标签键分配给 Amazon Resource Groups 组并将节点添加到该组。然后，在创建 State Manager 关联时您可以在**目标**列表中选择**资源组**选项。
您可以使用 Amazon CLI 指定最多五个标签键。如果使用 Amazon CLI，则 `create-association` 命令中指定的*所有*标签键当前都必须分配给该节点。如果没有分配给该节点，则 State Manager 无法将该节点作为关联目标。

**手动选择节点**  
使用此选项可手动选择要在其中创建关联的节点。**Instances**（实例）窗格显示当前 Amazon Web Services 账户 和 Amazon Web Services 区域 中所有的 Systems Manager 托管式节点。您可以根据需要手动选择任意多个节点。当系统最初创建关联时，它将运行关联。在此初始运行之后，系统将根据您指定的计划运行关联。

**注意**  
如果未列出您希望看到的托管式节点，请参阅 [排除托管式节点可用性的问题](fleet-manager-troubleshooting-managed-nodes.md) 以获取故障排除技巧。

**选择资源组**  
使用此选项可在基于 Amazon Resource Groups 标签或基于 Amazon CloudFormation 堆栈的查询返回的所有节点上创建关联。

以下为有关将关联的 Resource Groups 设为目标的详细信息。
+ 如果向组添加新节点，系统会自动将这些节点映射到将资源组设为目标的关联。当系统发现更改时，即会将关联应用于这些节点。在此初始运行之后，系统将根据您指定的计划运行关联。
+ 如果您创建了以资源组为目标的关联，并且为该组指定了 `AWS::SSM::ManagedInstance` 资源类型，那么根据设计，该关联将在[混合和多云](operating-systems-and-machine-types.md#supported-machine-types)环境中的 Amazon Elastic Compute Cloud（Amazon EC2）实例和非 EC2 节点上运行。

  反之亦然。如果您创建了以资源组为目标的关联，并且为该组指定了 `AWS::EC2::Instance` 资源类型，那么根据设计，该关联将同时在[混合和多云](operating-systems-and-machine-types.md#supported-machine-types)环境中的非 EC2 节点和（Amazon EC2）实例上运行。
+ 如果您创建了将某个资源组作为目标的关联，则分配给该资源组的标签键不得超过五个，或者为任何一个标签键指定的值不得超过五个。如果这些条件中的任何一个适用于分配给您的资源组的标签和键，则该关联将无法运行并返回 `InvalidTarget` 错误。
+ 如果您使用标签创建以资源组为目标的关联，则无法为标签值选择**（空值）**选项。
+ 如果删除资源组，则该组中的所有实例将不再运行关联。作为最佳实践，删除将该组设为目标的关联。
+ 您只能将关联的单个资源组设为目标。不支持多个组或嵌套组。
+ 创建关联后，State Manager 会使用资源组中资源的相关信息定期更新关联。如果您向资源组添加新资源，则系统何时将关联应用于新资源的计划取决于多个因素。您可以在 Systems Manager 控制台的 State Manager 页面上决定关联的状态。

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

有关 Resource Groups 的详细信息，请参阅[什么是 Amazon Resource Groups ?](https://docs.amazonaws.cn/ARG/latest/userguide/)中的*Amazon Resource Groups 用户指南*。

**选择所有节点**  
使用此选项可将当前 Amazon Web Services 账户 和 Amazon Web Services 区域 中的所有节点设为目标。在您运行请求时，系统会在当前 Amazon Web Services 账户 和 Amazon Web Services 区域 中的所有节点上查找并尝试创建关联。当系统最初创建关联时，它将运行关联。在此初始运行之后，系统将根据您指定的计划运行关联。如果您创建新节点，系统会自动应用关联，立即运行它，然后根据计划运行它。

## 使用速率控制
<a name="systems-manager-state-manager-targets-and-rate-controls-about-controls"></a>

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

![\[创建 State Manager 关联时不同的速率控制选项\]](http://docs.amazonaws.cn/systems-manager/latest/userguide/images/state-manager-rate-controls.png)


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

State Manager 并发具有以下限制：
+ 如果选择使用目标创建关联，但不指定并发值，则State Manager 自动强制实施 50 个节点的最大并发。
+ 如果在使用并发的关联运行时，与目标条件匹配的新节点变为线上状态，则新节点将在未超出并发值时运行关联。如果超出并发值，则会在当前的关联执行间隔内忽略这些节点。在满足并发要求的情况下，这些节点将在下一个计划间隔内运行关联。
+ 如果更新一个使用并发的关联，并且在更新时有一个或多个节点在处理该关联，则允许正在运行该关联的任何节点完成。尚未开始的关联将停止。关联运行完成后，因为关联已更新，所以所有目标节点都将立即再次运行该关联。当关联再次运行时,将强制执行并发值。

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

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

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

State Manager 错误阈值具有以下限制：
+ 为当前间隔强制实施错误阈值。
+ 有关每个错误的信息（包括步骤级别详细信息）都记录在关联历史记录中。
+ 如果选择使用目标创建关联，但不指定错误阈值，则 State Manager 自动强制实施 100% 失败的阈值。