关于 State Manager - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

关于 State Manager

State Manager(Amazon Systems Manager 的一项功能),是一项安全并且可扩展的服务,可以自动将混合和多云基础设施中的托管式节点保持在定义的状态。

State Manager 运行方式如下:

1. 确定要应用于 Amazon 资源的状态。

是否要确保您的托管式节点已配置特定应用程序,如防病毒或防恶意软件应用程序? 是否要自动执行更新 SSM Agent 或其他 Amazon 软件包(如 AWSPVDriver)的过程? 是否需要确保特定端口已关闭或打开? 要开启使用 State Manager,请确定要应用于 Amazon 资源的状态。要应用的状态可决定您使用哪个 SSM 文档来创建 State Manager 关联。

State Manager 关联是指分配给 Amazon 资源的配置。该配置定义要在资源上保持的状态。例如,关联可以指定必须在托管式节点上安装并运行防病毒软件,或必须关闭特定端口。

关联指定了何时应用关联的配置和目标的计划。例如,防病毒软件的关联可能会每天在 Amazon Web Services 账户中的所有托管式节点上运行一次。如果该软件未安装在节点上,则关联可以指示 State Manager 安装该软件。如果已安装该软件,但未运行服务,则关联可以指示 State Manager 开启服务。

2. 确定预配置的 SSM 文档能否帮助您在 Amazon 资源上创建所需的状态。

Systems Manager 包含几十个预先配置的 SSM 文档,可用来创建关联。预先配置的文档已准备就绪,可执行常见任务,例如安装应用程序、配置 Amazon CloudWatch 、运行 Amazon Systems Manager 自动化、运行 PowerShell 和 Shell 脚本、将托管式节点加入 Active Directory 的目录服务域等。

您可以在 Systems Manager 控制台查看所有 SSM 文档。您可以选择文档的名称以了解更多有关每个文档的详情。以下是两个示例:AWS-ConfigureAWSPackageAWS-InstallApplication

3. 创建关联。

您可以使用 Systems Manager 控制台、Amazon Command Line Interface(Amazon CLI),Amazon Tools for Windows PowerShell (Tools for Windows PowerShell) 或 Systems Manager API 创建关联。当创建关联时,需要指定以下信息:

  • 关联的名称。

  • SSM 文档的参数(例如,要在节点上安装的应用程序或要运行的脚本的路径)。

  • 关联目标。您可以通过指定标签、选择单个节点 ID 或在 Amazon Resource Groups 中选择一个组来将托管式节点设为目标。您还可以将当前 Amazon Web Services 区域 和 Amazon Web Services 账户 中的所有托管式节点设为目标。

  • 关于应用状态的时间或频率的计划。您可以指定 cron 或 rate 表达式。有关使用 cron 和 rate 表达式创建计划的更多信息,请参阅 适用于关联的 Cron 和 Rate 表达式

    注意

    State Manager 目前不支持在 cron 表达式中为关联指定月数。

运行命令以创建关联时,Systems Manager 将指定的信息(计划、目标、SSM 文档和参数)绑定到目标资源。当系统尝试访问所有目标并立即 应用关联中指定的状态时,关联的状态最初会显示“待处理”。

注意

如果您创建计划在之前的关联仍在运行时运行的新关联,那么之前的关联将超时,系统会运行新关联。

Systems Manager 会报告在资源中创建关联之请求的状态。您可以在控制台中或(对于托管式节点)使用 DescribeInstanceAssociationsStatus API 操作查看状态详细信息。如果在创建关联时选择将命令输出写入到 Amazon Simple Storage Service (Amazon S3),则还可以在指定的 Amazon S3 存储桶中查看此输出。

有关更多信息,请参阅 在 Systems Manager 中使用关联。

注意

在关联运行期间由 SSM 文档发起的 API 操作未登录 Amazon CloudTrail。

4. 监控并更新。

创建关联之后,State Manager 根据关联中定义的计划重新应用配置。您可以在控制台的 State Manager 页面上或通过直接调用在您创建关联时由 Systems Manager 生成的关联 ID 来查看关联的状态。有关更多信息,请参阅 查看关联历史记录。您可以更新您的关联文档并根据需要重新应用它们。您也可以创建多个关联版本。有关更多信息,请参阅 编辑和创建关联的新版本

何时将关联应用于资源?

在创建关联时,您需要指定用于定义配置的 SSM 文档、目标资源列表,以及应用配置的计划。默认情况下,State Manager 在您创建关联时运行该关联,然后根据您的计划运行该关联。State Manager 还会尝试在以下情况下运行关联:

  • 关联编辑 – State Manager 在用户编辑并将其更改保存到以下任何关联字段 DOCUMENT_VERSIONPARAMETERSSCHEDULE_EXPRESSIONOUTPUT_S3_LOCATION 中后运行关联。

  • 文档编辑 – State Manager 在用户编辑并将更改保存到用于定义关联的配置状态的 SSM 文档中后运行关联。具体来说,关联在对文档进行以下编辑之后运行:

    • 用户指定了一个新的 $DEFAULT 文档版本,该关联使用 $DEFAULT 版本创建。

    • 用户更新文档,然后使用 $LATEST 版本创建了关联。

    • 用户删除创建关联时指定的文档。

  • Parameter Store 参数值更改 – State Manager 在用户编辑关联中定义的参数值之后运行关联。

  • 手动启动 – State Manager 在用户从 Systems Manager 控制台启动或以编程的方式启动时运行关联。

  • 目标更改 – State Manager 在目标实例上发生以下任何活动后运行关联:

    • 实例第一次联机。

    • 实例在错过了计划的关联运行后联机。

    • 实例被停止 30 天以上后联机。

    注意

    目标更新不会影响使用 Systems Manager Automation 创建的关联。