AWS Systems Manager 舰队管理 - 补丁应用、清单收集与 Run Command 自动化
通过 Patch Manager 自动化补丁应用,通过 Run Command 高效执行远程操作。同时介绍 Session Manager 实现的免 SSH Shell 访问。
Systems Manager 的主要功能
Systems Manager 是一项统一管理 EC2 实例和本地服务器运维的服务。安装了 SSM Agent 的实例作为托管节点进行管理,提供补丁应用、命令执行、会话连接、清单收集和参数管理等功能。SSM Agent 已预装在 Amazon Linux 2、Amazon Linux 2023、Ubuntu 和 Windows Server 的 AMI 中。Systems Manager 本身免费使用,仅产生 EC2 实例的费用。
通过 Patch Manager 进行补丁管理
Patch Manager 自动化 OS 和应用程序的补丁应用。通过补丁基线定义要应用的补丁分类(安全、错误修复、功能增强)和严重程度(Critical、Important、Medium、Low),并设置批准规则(如发布后 7 天自动批准等)。通过维护窗口定义补丁应用的计划(如每周日凌晨 2:00 等),在业务时间外自动执行。补丁合规性仪表板可一览整个舰队的补丁应用状况,快速定位未应用补丁的实例。还可设置在补丁应用前自动获取快照,以便在补丁应用后出现问题时进行回滚。
Run Command 与 Session Manager
Run Command 是将 SSM 文档(预定义的命令集)远程执行到托管节点的功能。通过 AWS-RunShellScript 执行 Shell 命令,通过 AWS-RunPowerShellScript 执行 PowerShell 命令。目标可通过标签、资源组或手动选择指定,可同时向数千台实例发送命令。Session Manager 提供基于浏览器的 Shell 访问,无需管理 SSH 密钥或在安全组中开放 SSH 端口。会话日志自动记录到 S3 或 CloudWatch Logs,可审计谁在何时执行了什么命令。 关于 Systems Manager 的详细解析,也可参考Amazon 的相关书籍。
Systems Manager 的定价
Systems Manager 的主要功能(Patch Manager、Run Command、Session Manager、Inventory)免费使用。SSM Agent 的安装和运行也不产生额外费用。产生费用的仅限于高级功能,如 Advanced 参数(Parameter Store 中超过 8 KB 的参数,每月约 0.05 美元/参数)、OpsCenter 的 OpsItem(每 1,000 条约 2.97 美元)、Change Manager 的变更请求(每 1,000 条约 0.326 美元)等。对于所有运行 EC2 的环境,没有理由不启用免费的基本功能。
总结
Systems Manager 是统一和自动化 EC2 舰队运维管理的服务。通过 Patch Manager 自动化补丁应用,通过 Run Command 高效执行远程操作,通过 Session Manager 提供安全的 Shell 访问。免费使用,推荐在所有运行 EC2 的环境中部署。