应用场景和最佳实践
本主题列出了 AWS Systems Manager 功能的常见应用场景和最佳实践。如果可用,本主题还包括指向相关博客文章和技术文档的链接。
注意
此处每个章节的标题都是一个指向技术文档中相应章节的有效链接。
自动化
-
为基础设施创建自助服务自动化运行手册。
-
使用 AWS Systems Manager 的自动化功能,简化使用公有 Systems Manager 文档(SSM 文档)或通过创作自己的工作流从 AWS Marketplace 或自定义 AMIs 创建 Amazon Machine Images (AMIs) 的过程。
-
使用
AWS-UpdateLinuxAmi
和AWS-UpdateWindowsAmi
自动化运行手册,或使用您创建的自定义自动化运行手册,构建和维护 AMIs。
清单
-
将 AWS Systems Manager 的 Inventory 功能与 AWS Config 结合使用,以便随着时间推移审计应用程序配置。
Maintenance Windows
-
制定计划,以在节点上执行可能造成中断的操作,例如操作系统 (OS) 修补、驱动程序更新或软件安装。
-
有关 AWS Systems Manager 的功能 State Manager 与 Maintenance Windows 的差异的信息,请参阅 在 State Manager 和 Maintenance Windows 之间选择。
Parameter Store
-
使用 AWS Systems Manager 的功能 Parameter Store 集中管理全局配置设置。
Patch Manager
-
使用 AWS Systems Manager 的功能 Patch Manager 以大规模推出补丁,并在您的节点中提高机群合规可见性。
-
将 Patch Manager 与 AWS Security Hub 集成在一起,以便在机群中的节点不合规时收到提醒,并从安全角度监控机群的修补状态。使用 Security Hub 需支付费用。有关更多信息,请参阅 定价
。 -
为避免意外覆盖合规性数据,每次仅使用一种方法来扫描托管节点的补丁合规性。
Run Command
-
使用 AWS CloudTrail 审计由 AWS Systems Manager 的功能 Run Command 进行或代表其进行的所有 API 调用。
当您使用 Run Command 发送命令时,不要包含纯文本格式的敏感信息,例如密码、配置数据或其他密钥。您账户中的所有 Systems Manager API 活动都将记录在 AWS CloudTrail 日志的 S3 存储桶中。这意味着任何有权访问该 Amazon S3 存储桶的用户都能够查看这些密钥的纯文本值。因此,我们建议您创建和使用
SecureString
参数,以便加密您在 Systems Manager 操作中使用的敏感数据。有关更多信息,请参阅 使用 IAM 策略限制对 Parameter Store 参数的访问。
注意
预设情况下,CloudTrail 提交到您存储桶的日志文件是用 Amazon S3 托管加密密钥 (SSE-S3) 通过 Amazon 服务器端加密进行加密的。要提供可直接管理的安全层,您可以改为将服务器端加密与 AWS KMS 托管密钥 (SSE-KMS) 结合起来用于 CloudTrail 日志文件。
有关更多信息,请参阅《AWS CloudTrail 用户指南》中的使用 AWS KMS 托管式密钥(SSE-KMS)加密 CloudTrail 日志文件。
-
借助 AWS Identity and Access Management (IAM) 策略,将精细访问权限用于 Run Command(以及所有 Systems Manager 功能)。
State Manager
-
(Windows) 将 PowerShell 或 DSC 模块上载到 Amazon Simple Storage Service (Amazon S3),并使用
AWS-InstallPowerShellModule
。 -
使用标签为节点创建应用程序组。然后使用
Targets
参数而不是指定各个节点 ID 来将节点设为目标。 -
有关 State Manager 与 Maintenance Windows 的差异的更多信息,请参阅 在 State Manager 和 Maintenance Windows 之间选择。
托管式节点
-
Systems Manager 需要准确的时间参考以执行其操作。如果节点的日期和时间设置不正确,它们可能与 API 请求的签名日期不匹配。这可能会导致错误或功能不完整。例如,时间设置不正确的节点不会包含在您的托管式节点列表中。
有关在节点上设置时间的更多信息,请参阅为 Amazon EC2 实例设置时间。
-
在 Linux 托管节点上,请验证 SSM Agent 的签名。