AWS Systems Manager
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

SSM 文档架构和功能

Systems Manager 文档当前使用以下架构版本。

  • Command 型文档可以使用 1.2、2.0 和 2.2 版架构。如果目前使用架构 1.2 文档,建议创建使用 2.2 版架构的文件。

  • Policy 型文档必须使用 2.0 版或更高版本的架构。

  • Automation 型文档必须使用 0.3 版架构。

  • 您可以创建 JSON 或 YAML 格式的文档。

通过为 CommandPolicy 文档使用最新架构版本,您可以利用以下功能。

2.2 版架构文档功能

功能 详细信息

编辑文档

文档现在可以更新。如果版本为 1.2,对文档的任何更新都需要另存为其他名称。

自动版本控制

对文档的任何更新都会创建一个新版本。这不是架构版本,而是文档版本。

默认版本

如果您拥有某个文档的多个版本,可以指定哪个版本是默认文档。

顺序

文档中的插件或步骤按指定的顺序运行。

跨平台支持

跨平台支持可让您为同一个 SSM 文档中的不同插件指定不同操作系统。跨平台支持在某个步骤中使用 precondition 参数。

注意

您必须将实例上的 SSM 代理更新到最新版本才能使用新的 Systems Manager 功能和 SSM 文档功能。有关更多信息,请参阅使用 Run Command 更新 SSM 代理

下表列出了主要架构版本之间的区别。

版本 1.2 版本 2.2(最新版本) 详细信息

runtimeConfig

mainSteps

在版本 2.2 中,mainSteps 部分替换了 runtimeConfig 部分。mainSteps 部分启用了 Systems Manager,以便依顺序运行步骤。

属性

inputs

在版本 2.2 中,inputs 部分替换了 properties 部分。inputs 部分接受步骤参数。

命令

runCommand

在版本 2.2 中,inputs 部分接收 runCommand 参数,而不是 commands 参数。

id

action

在版本 2.2 中,Action 替换了 ID。这只是更改了名称。

不适用

name

在版本 2.2 中,name 是用户定义的任意步骤名称。

使用前提条件参数

在 2.2 版或更高版本架构中,您可以使用 precondition 参数为每个插件指定目标操作系统。precondition 参数支持 platformType 和值 WindowsLinux

对于使用 2.2 版或更高版本架构的文档,如果未指定 precondition,每个插件将被运行或跳过,具体取决于插件与操作系统的兼容性。对于使用 2.0 版或更低版本架构的文档,不兼容的插件将会引发错误。

例如,在 2.2 版架构文档中,如果未指定 precondition,将会列出 aws:runShellScript 插件,该步骤在 Linux 实例上运行,但系统会在 Windows 实例上跳过该步骤,因为 aws:runShellScript 与 Windows 实例不兼容。但是,对于 2.0 版架构文档,如果您指定 aws:runShellScript 插件,然后在 Windows 实例上运行文档,执行将会失败。本节稍后将介绍在 SSM 文档中使用前提条件参数的示例。