

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

# 使用案例和最佳实践


本主题列出了 AWS Systems Manager 工具常见使用案例和最佳实践。如果可用，本主题还包括指向相关博客文章和技术文档的链接。

**注意**  
此处每个章节的标题都是一个指向技术文档中相应章节的有效链接。

**[自动化](systems-manager-automation.md)**
+ 为基础设施创建自助服务自动化运行手册。
+ 使用 Automation（AWS Systems Manager 中的一项工具），简化利用公有 Systems Manager 文档（SSM 文档）或通过创作自己的工作流从 AWS Marketplace 或自定义 AMIs 创建Amazon Machine Images（AMIs）的过程。
+ 使用 `AWS-UpdateLinuxAmi` 和 `AWS-UpdateWindowsAmi` 自动化运行手册，或使用您创建的自定义自动化运行手册，[构建和维护 AMIs](automation-tutorial-update-ami.md)。

**[合规](systems-manager-compliance.md)**
+ 作为最佳安全实践，建议您更新托管式节点使用的 AWS Identity and Access Management（IAM）角色，以限制该节点使用 [PutComplianceItems](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutComplianceItems.html) API 操作的功能。该 API 操作会在指定资源（例如 Amazon EC2 实例或托管式节点）上注册合规性类型及其他合规性详细信息。有关更多信息，请参阅 [配置合规性权限](compliance-permissions.md)。

**[清单](systems-manager-inventory.md)**
+ 将 Inventory（AWS Systems Manager 中的一项工具）与 AWS Config 结合使用，便可随着时间推移审核应用程序配置。

**[Maintenance Windows](maintenance-windows.md)**
+ 制定计划，以在节点上执行可能造成中断的操作，例如操作系统 (OS) 修补、驱动程序更新或软件安装。
+ 有关State Manager与 Maintenance Windows（都是 AWS Systems Manager 中的工具）的差异的更多信息，请参阅[在 State Manager 和 Maintenance Windows 之间选择](state-manager-vs-maintenance-windows.md)。

**[Parameter Store](systems-manager-parameter-store.md)**
+ 使用 Parameter Store（AWS Systems Manager 中的一项工具）集中管理全局配置设置。
+ [AWS Systems ManagerParameter Store 如何使用 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/services-parameter-store.html)。
+ [通过 Parameter Store 参数引用 AWS Secrets Manager 密钥](integration-ps-secretsmanager.md)。

**[Patch Manager](patch-manager.md)**
+ 使用Patch Manager（AWS Systems Manager 中的一项工具）可大规模推出补丁，在节点中提高实例集合规可见性。
+  [将 Patch Manager 与 AWS Security Hub CSPM 集成在一起](patch-manager-security-hub-integration.md)，以便在实例集中的节点不合规时收到提醒，并从安全角度监控实例集的修补状态。使用 Security Hub CSPM 需支付费用。有关更多信息，请参阅[定价](https://aws.amazon.com/security-hub/pricing/)。
+ 为[避免意外覆盖合规性数据](patch-manager-compliance-data-overwrites.md)，每次仅使用一种方法来扫描托管节点的补丁合规性。

**[Run Command](run-command.md)**
+ [使用 EC2 Run Command 在不使用 SSH 访问的情况下大规模地管理实例](https://aws.amazon.com/blogs/aws/manage-instances-at-scale-without-ssh-access-using-ec2-run-command/)。
+ 使用 AWS CloudTrail 审核由 Run Command（AWS Systems Manager 中的一项工具）进行或代表其进行的所有 API 调用。
+ 当您使用 Run Command 发送命令时，不要包含纯文本格式的敏感信息，例如密码、配置数据或其他密钥。您账户中的所有 Systems Manager API 活动都将记录在 AWS CloudTrail 日志的 S3 存储桶中。这意味着任何有权访问该 Amazon S3 存储桶的用户都能够查看这些密钥的纯文本值。因此，我们建议您创建和使用 `SecureString` 参数，以便加密您在 Systems Manager 操作中使用的敏感数据。

  有关更多信息，请参阅 [使用 IAM 策略限制对 Parameter Store 参数的访问](sysman-paramstore-access.md)。
**注意**  
预设情况下，CloudTrail 提交到您存储桶的日志文件是用 Amazon S3 托管加密密钥 (SSE-S3) 通过 Amazon [服务器端加密](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html)进行加密的。要提供可直接管理的安全层，您可以改为将[服务器端加密与 AWS KMS 托管密钥 (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html) 结合起来用于 CloudTrail 日志文件。  
有关更多信息，请参阅《AWS CloudTrail 用户指南》**中的[使用 AWS KMS 托管式密钥（SSE-KMS）加密 CloudTrail 日志文件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/encrypting-cloudtrail-log-files-with-aws-kms.html)。
+ [使用 Run Command 中的目标和速率控制功能执行暂存的命令操作](send-commands-multiple.md)。
+ [借助 AWS Identity and Access Management（IAM）策略，将精细访问权限用于 Run Command（以及其余 Systems Manager 工具）](security_iam_id-based-policy-examples.md#customer-managed-policies)。

**[Session Manager](session-manager.md)**
+ [使用 AWS CloudTrail 记录您的 AWS 账户中的会话活动](session-manager-auditing.md)。
+ [使用 Amazon CloudWatch Logs 或 Amazon S3 记录 AWS 账户 中的会话数据](session-manager-logging.md)。
+ [控制用户会话对实例的访问](session-manager-getting-started-restrict-access.md)。
+ [限制对会话中命令的访问](session-manager-restrict-command-access.md)。
+ [关闭或打开 SSM 用户账户管理权限](session-manager-getting-started-ssm-user-permissions.md)。

**[State Manager](systems-manager-state.md)**
+ [使用预配置的 `AWS-UpdateSSMAgent` 文档，至少每月更新 SSM Agent 一次](state-manager-update-ssm-agent-cli.md)。
+ (Windows) 将 PowerShell 或 DSC 模块上载到 Amazon Simple Storage Service (Amazon S3)，并使用 `AWS-InstallPowerShellModule`。
+ 使用标签为节点创建应用程序组。然后使用 `Targets` 参数而不是指定各个节点 ID 来将节点设为目标。
+ [使用 Systems Manager 自动修复 Amazon Inspector 生成的结果](https://aws.amazon.com/blogs/security/how-to-remediate-amazon-inspector-security-findings-automatically/)。
+ [对 SSM 文档使用集中式配置存储库，并在整个组织中共享文档](documents-ssm-sharing.md)。
+ 有关 State Manager 与 Maintenance Windows 的差异的更多信息，请参阅 [在 State Manager 和 Maintenance Windows 之间选择](state-manager-vs-maintenance-windows.md)。

**[托管式节点](fleet-manager-managed-nodes.md)**
+ Systems Manager 需要准确的时间参考以执行其操作。如果节点的日期和时间设置不正确，它们可能与 API 请求的签名日期不匹配。这可能会导致错误或功能不完整。例如，时间设置不正确的节点不会包含在您的托管式节点列表中。

  有关在节点上设置时间的更多信息，请参阅[为 Amazon EC2 实例设置时间](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html)。
+ 在 Linux 托管节点上，请[验证 SSM Agent 的签名](verify-agent-signature.md)。

**更多信息**  
+ [Systems Manager 的安全最佳实践](security-best-practices.md)

# 删除 Systems Manager 资源和构件


作为最佳实践，如果您不再需要查看有关这些资源的数据，或者不再需要以任何方式使用构件，我们建议您删除 Systems Manager 资源和构件。下表列出了 Systems Manager 的各个工具或构件，以及指向有关删除 Systems Manager 创建的资源或构件的详细信息的链接。


****  

| 功能或构件 | Details | 
| --- | --- | 
|  Application Manager  |  您无法在 Application Manager 中删除应用程序，但您可以通过删除底层[标签](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_RemoveTagsFromResource.html)、[Resource Groups](https://docs.aws.amazon.com/ARG/latest/userguide/deleting-resource-groups.html) 或 [AWS CloudFormation 堆栈](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-delete-stack.html)，从服务中删除应用程序。  | 
|  自动化  |  如果您使用 Systems Manager 自动化创建 AWS 资源，则必须使用相应的 AWS 管理控制台 手动删除这些资源。如果您创建了自定义运行手册，则可删除底层 SSM 文档。有关更多信息，请参阅 [删除自定义 SSM 文档](deleting-documents.md)。  | 
|  Change Calendar  |  您可以删除更改日历和更改日历事件。有关更多信息，请参阅 [删除更改日历](change-calendar-delete.md) 和 [删除 Change Calendar 事件](change-calendar-delete-event.md)。  | 
|  Change Manager  |  您可以删除更改模板。有关更多信息，请参阅 [删除更改模板](change-templates-delete.md)。  | 
|  Compliance  |  Systems Manager Compliance 自动显示有关 Patch Manager 修补和 State Manager 关联的合规性数据。您无法删除此数据。如果您将资源数据同步配置为将合规性数据集中在 S3 存储桶中，则可删除该同步。有关更多信息，请参阅 [删除用于 Compliance 的资源数据同步](systems-manager-compliance-delete-RDS.md)。  | 
|  Distributor  |  您可以在 Distributor 中删除程序包。有关更多信息，请参阅 [删除 Distributor 软件包](distributor-working-with-packages-dpkg.md)。  | 
|  Explorer  |  您可以断开与 Explorer 从中收集 OpsData 的源的连接。有关更多信息，请参阅 [编辑 Systems Manager Explorer 数据源](Explorer-using-editing-data-sources.md)。 您还可以删除 Explorer 用于将来自多个 AWS 区域和账户的 OpsData 及 OpsItems 聚合到单个 Amazon Simple Storage Service（Amazon S3）存储桶的资源数据同步。有关更多信息，请参阅 [删除 Systems Manager Explorer 资源数据同步](Explorer-using-resource-data-sync-delete.md)。有关删除 S3 存储桶的信息，请参阅*《Amazon Simple Email Service 开发人员指南》*中的[删除存储桶](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html)。  | 
|  Fleet Manager  |  您无法使用 Fleet Manager 删除托管式节点。而必须使用 Amazon Elastic Compute Cloud（Amazon EC2）。有关更多信息，请参阅[终止您的实例 (Linux)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html) 和[终止您的实例 (Windows)](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/terminating-instances.html)。  | 
|  清单  |  您可以通过删除用于定义时间表和从中收集元数据的资源的 State Manager 关联，来停止 Inventory 数据收集。有关更多信息，请参阅 [停止数据收集和删除清单数据](systems-manager-inventory-delete.md)。 如果您不再需要使用 AWS Systems Manager Inventory 来查看有关您的 AWS 资源的元数据，那么我们还建议删除用于库存数据收集的资源数据同步。有关更多信息，请参阅 [删除 Inventory 资源数据同步](systems-manager-inventory-delete.md#systems-manager-inventory-delete-RDS)。  | 
|  Maintenance Windows  |  您可以删除维护时段、维护时段目标和维护时段任务。有关更多信息，请参阅 [使用控制台更新或删除维护时段资源](sysman-maintenance-update.md)。  | 
|  OpsCenter  |  您可以使用 AWS Command Line Interface 或 AWS SDK 来调用 [DeleteOpsItem](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DeleteOpsItem.html) API 操作，从而删除单个 OpsItem。您无法在 AWS 管理控制台 中删除 OpsItem。有关更多信息，请参阅 [删除 OpsItems](OpsCenter-delete-OpsItems.md)。  | 
|  Parameter Store  |  您可以删除已创建的参数。有关更多信息，请参阅 [从 Parameter Store 中删除参数](deleting-parameters.md)。  | 
|  Patch Manager  |  您可以删除自定义补丁基准。有关更多信息，请参阅 [更新或删除自定义补丁基准](patch-manager-update-or-delete-a-patch-baseline.md)。  | 
|  快速设置功能  |  您可以删除快速设置创建的关联。关联由 State Manager 存储和处理。有关更多信息，请参阅 [删除关联](systems-manager-state-manager-delete-association.md)。  | 
|  Run Command  |  在某一命令完成处理后，有关该命令的信息将存储在**命令历史记录**选项卡中。您无法从**命令历史记录**选项卡中删除信息。  | 
|  自动化  |  在某一自动化完成处理后，有关该自动化的信息将存储在**执行**选项卡中。您无法从**执行**选项卡中删除信息。  | 
|  服务相关角色  |  Systems Manager 可[为某些工具](using-service-linked-roles.md)自动创建服务相关角色。您可以删除这些角色。有关更多信息，请参阅 [删除 Systems Manager 的 `AWSServiceRoleForAmazonSSM` 服务相关角色](using-service-linked-roles-service-action-1.md#delete-service-linked-role-service-action-1)。  | 
|  Session Manager  |  Session Manager 不会在您终止会话后保留有关您的资源的数据。要终止会话，请参阅 [结束会话](session-manager-working-with-sessions-end.md)。  | 
|  SSM Agent  |  您可以从节点中手动卸载 SSM Agent。有关更多信息，请参阅以下主题。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/systems-manager/latest/userguide/systems-manager-best-practices-delete-resources.html)  | 
|  State Manager  |  您可以删除关联。有关更多信息，请参阅 [删除关联](systems-manager-state-manager-delete-association.md)。  | 
|  Systems Manager 文档服务  |  您不能删除由 AWS 或 AWS 支持 提供的运行手册，但可以删除自定义运行手册。有关更多信息，请参阅 [删除自定义 SSM 文档](deleting-documents.md)。  | 

# 在 State Manager 和 Maintenance Windows 之间选择


State Manager和 Maintenance Windows（都是 AWS Systems Manager 中的工具）可在托管式节点上执行一些相似类型的更新。您选择哪一项取决于您是需要自动执行系统合规性，还是在指定的时间段内执行高优先级、时效性强的任务。

## State Manager 和 Maintenance Windows：关键使用案例


State Manager（AWS Systems Manager 中的一项工具）可为 AWS 账户中的托管式节点和 AWS 资源设置目标状态配置，并加以保持。您可以将配置和目标的组合定义为关联对象。如果您希望使账户中的所有托管式节点保持一致状态，使用 Amazon EC2 Auto Scaling 生成新节点，或者对账户中的托管式节点具有严格的合规性报告要求，则建议使用State Manager工具。

State Manager 的主要使用案例如下：
+ **Auto Scaling 方案：**State Manager 可以手动或通过 Auto Scaling 组监控账户内启动的所有新节点。如果账户中存在以该新节点为目标（通过标签或所有节点设为目标）的任何关联，则该特定关联将自动应用于该新节点。
+ **合规性报告：**State Manager可为账户中的资源推动所需状态的合规性报告。
+ **支持所有节点：**State Manager 可将给定账户内的所有节点设为目标。

**维护时段**可在给定时段内对 AWS 资源执行一项或多项操作。您可以定义具有开始时间和结束时间的单个维护时段。您可以指定多个任务在此维护时段内运行。如果您的高优先级操作包括修补托管式节点、在更新期间对节点运行多种类型的任务，或者控制何时可在节点上运行更新操作，则使用 Maintenance Windows（AWS Systems Manager 中的一项工具）。

Maintenance Windows 的主要使用案例如下：
+ **运行多个文档：**维护时段可以运行多个任务。每个任务均可使用不同的文档类型。因此，您可以在一个维护时段内使用不同的任务构建复杂的工作流。
+ **修补：**维护时段可为用特定标签或资源组标记的单个区域内的所有托管式节点提供修补支持。由于修补通常涉及关闭节点（例如，从负载均衡器中删除节点）、修补和后期处理（将节点重新投入生产），因此可在给定补丁时段内以一系列任务的形式实现修补。
**注意**  
使用维护时段，您的修补操作仅限于单个账户中的单个区域。使用在Quick Setup（Systems Manager 中的一项工具）中创建的补丁策略，您可以为在 AWS Organizations 中创建的组织中的部分或全部账户和区域配置补丁。有关更多信息，请参阅 [Quick Setup 中的补丁策略配置](patch-manager-policies.md)。
+ **时段操作：**维护时段可使一组或多组操作在特定时段内开始。维护时段不会在该时段之外开始。已开始的操作将一直持续到完成，即便其完成时间超出该时段。

下表对 State Manager 和 Maintenance Windows 的主要功能进行了比较。


| 功能 | State Manager | Maintenance Windows | 
| --- | --- | --- | 
|  **CloudFormation 集成**  |  AWS CloudFormation 模板支持 State Manager 关联。  |  CloudFormation 模板支持维护时段、时段目标和时段任务。  | 
|  **Compliance**  |  每个 State Manager 关联都会报告与目标资源的所需状态相关的合规性。可以使用 Compliance Dashboard (合规性控制面板) 聚合和查看报告的合规性。  |  不适用。  | 
|  **配置管理集成**  |  State Manager 支持外部目标状态解决方案，如 Microsoft PowerShell Desired State Configuration（DSC）、Ansible Playbook 和 Chef Recipe。可以使用 State Manager 关联来测试配置管理解决方案是否有效，并在准备就绪时将其配置更改应用于您的节点。  |  不适用。  | 
|  **文档**  |  对于 AWS 资源，例如 Amazon Simple Storage Service (Amazon S3) 存储桶，State Manager 配置可定义为策略文档（用于收集库存信息）、自动化运行手册；而对于托管式节点，则可定义为 Systems Manager 命令文档（SSM 文档）。  |  Maintenance Windows 配置可以定义为自动化文档（使用可选批准工作流的多步操作）或 SSM 文档（托管式节点的所需状态）。  | 
|  监控  |  State Manager 可以监控节点的配置、关联或状态的更改（例如，新节点联机）。当 State Manager 检测到这些更改时，给定关联将重新应用于最初通过该关联设为目标的节点。  |  不适用。  | 
|  **任务中的优先级**  |  不适用。  |  可以为维护时段内的任务分配优先级。优先级相同的所有任务都将并行运行。优先级较低的任务将在优先级较高的任务达到最终状态后运行。无法有条件地运行任务。优先级较高的任务达到其最终状态后，下一优先级的任务开始运行，而不考虑上一个任务的状态。  | 
|  **安全控制**  |  在大型机群中部署配置时，State Manager 支持两种安全控制。可以使用最大并发数来定义应用的配置应该包含的并发节点或资源的数量。您可以定义一个最大错误率，如果在整个机群中发生一定数量或百分比的错误，该错误率可用于暂停 State Manager 关联。  |  在大型机群中部署配置时，维护时段支持两种安全控制。可以使用最大并发数来定义应用的配置应该包含的并发节点或资源的数量。您可以定义一个最大错误率，如果在整个机群中发生一定数量或百分比的错误，该错误率可用于暂停维护时段中的操作。  | 
|  计划编制  |  您可以按需、以特定 Cron 间隔、以给定速率或在创建后运行 State Manager 关联。如果您希望以一致和及时的方式保持资源的所需状态，这将非常有用。  适用于 State Manager 关联的 Cron 表达式不支持 months（月份）字段，例如表示三月的 `03` 或 `MAR`。如果您需要每月或每季度进行一次配置更新，则维护时段最适合满足您的需求。有关更多信息，请参阅 [参考：适用于 Systems Manager 的 Cron 和 Rate 表达式](reference-cron-and-rate-expressions.md)。   |  维护时段支持多种计划编制选项，包括 `at` 表达式（例如 `"at(2021-07-07T13:15:30)"`）、Cron 和速率表达式、带偏移的 Cron、指定维护时段何时应该运行的开始时间和结束时间，以及指定何时在给定时段内停止计划编制的截止时间。  | 
|  **设置目标**  |  State Manager 关联可以使用节点 ID、标签或资源组将一个或多个节点设为目标。State Manager 可将给定账户内的所有托管式节点设为目标。  |  维护时段可以使用节点 ID、标签或资源组将一个或多个节点设为目标。  | 
|  **维护时段内的任务**  |  不适用。  |  维护时段可以支持一个或多个任务，其中每个任务都将特定的 自动化运行手册或 Command 文档操设为目标。除非为不同任务设置了不同的优先级，否则一个维护时段内的所有任务都将并行运行。 总的来说，维护时段支持四种类型的任务： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/systems-manager/latest/userguide/state-manager-vs-maintenance-windows.html)  | 