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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建 Systems Manager 文档

如果 Systems Manager 公有文档不执行要对 AWS 资源执行的所有操作,您可以创建自己的SSM文档。创建新的 CommandPolicy 文档时,我们建议您使用架构版本 2.2 或更高版本,以便利用最新功能,例如文档编辑、自动版本控制、排序等。

编写 SSM 文档内容

要创建您自己的 SSM 文档内容,请务必了解可用于 SSM 文档的不同架构、功能、插件和语法。我们建议您熟悉以下资源。

AWS 预定义的 SSM 文档可能会执行您所需的一些操作。您可以通过在自定义 aws:runDocument 文档中使用 aws:runCommandaws:executeAutomation 或 SSM 插件来调用这些文档,具体取决于文档类型。您还可以将这些文档的某些部分复制到自定义的 SSM 文档中,并编辑内容以满足您的要求。

提示

创建 SSM 文档内容时,您可能会在测试时多次更改内容并更新 SSM 文档。以下命令使用最新内容更新 SSM 文档,并将文档的默认版本更新为文档的最新版本。

注意

Linux 和 Windows 命令使用 jq 命令行工具筛选 JSON 响应数据。

Linux
latestDocVersion=$(aws ssm update-document \ --content file://path/to/file/documentContent.json \ --name "ExampleDocument" \ --document-format JSON \ --document-version '$LATEST' \ | jq -r '.DocumentDescription.LatestVersion') aws ssm update-document-default-version \ --name "ExampleDocument" \ --document-version $latestDocVersion
Windows
latestDocVersion=$(aws ssm update-document ^ --content file://C:\path\to\file\documentContent.json ^ --name "ExampleDocument" ^ --document-format JSON ^ --document-version "$LATEST" ^ | jq -r '.DocumentDescription.LatestVersion') aws ssm update-document-default-version ^ --name "ExampleDocument" ^ --document-version $latestDocVersion
PowerShell
$content = Get-Content -Path "C:\path\to\file\documentContent.json" | Out-String $latestDocVersion = Update-SSMDocument ` -Content $content ` -Name "ExampleDocument" ` -DocumentFormat "JSON" ` -DocumentVersion '$LATEST' ` | Select-Object -ExpandProperty LatestVersion Update-SSMDocumentDefaultVersion ` -Name "ExampleDocument" ` -DocumentVersion $latestDocVersion

在状态管理器关联中使用 SSM 文档

如果创建适用于 SSM 的 状态管理器 文档,在将文档添加到系统后,必须将该文档与托管实例相关联。有关更多信息,请参阅创建关联.

在状态管理器关联中使用 SSM 文档时,请记住以下详细信息。

  • 通过创建使用不同文档的不同 状态管理器 关联,您可以将多个文档分配给一个目标。

  • 如果您创建具有冲突插件的文档(例如,域加入和从域中删除),则最后一次插件运行将是最终状态。 状态管理器 不会验证文档中的命令或插件的逻辑顺序或合理性。

  • 处理文档时,系统首先应用实例关联,然后应用标记实例组关联。如果实例处于多个标记实例组中,则对应标记实例组的文档不会以任何特定顺序运行。如果实例通过其实例 ID 直接对应多个文档,那么也不存在特定的执行顺序。

  • 如果您更改 SSM 的 状态管理器 策略文档的默认版本,则下次 Systems Manager 将关联应用到实例时,使用该文档的所有关联都将开始使用新的默认版本。

  • 如果您创建使用已与您共享的 SSM 文档的关联,随后,所有者将停止共享文档,您的关联将不再有权访问该文档。但是,如果所有者后来再次与您共享同一个 SSM 文档,您的关联将自动重新映射到该文档。

编写 SSM 文档内容后,您可以通过以下方法之一使用您的内容创建 SSM 文档。