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

创建 SSM 文档

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

编写 SSM 文档内容

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

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

提示

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

注意

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

Linux & macOS
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 文档

您可以克隆 Amazon Systems Manager 文档,使用 Systems Manager 文档控制台创建 SSM 文档。克隆 SSM 文档将内容从现有文档复制到可以修改的新文档中。

克隆 SSM 文档

  1. 访问 https://console.aws.amazon.com/systems-manager/,打开 Amazon Systems Manager 控制台。

  2. 在导航窗格中,选择 文档

    -或者-

    如果首先打开 Amazon Systems Manager 主页,选择菜单图标 ( ) 打开导航窗格,然后选择导航窗格中的文档

  3. 在搜索框中,输入要克隆的文档的名称。

  4. 选择要克隆的文档的名称,然后选择操作下拉菜单中的克隆文档

  5. 根据需要修改文档,然后选择创建文档保存文档。

在 State Manager 关联中使用 SSM 文档

如果创建适用于 State Manager (Amazon Systems Manager 的一种功能)的 SSM 文档,在将文档添加到系统后,必须将该文档与托管实例相关联。有关更多信息,请参阅 创建关联

在关联中使用 State Manager SSM 文档时,请记住以下详细信息。

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

  • 如果创建的文档含有互相冲突的插件(例如,加入域的插件和从域中删除的插件),则最终状态取决于最后运行的插件。State Manager 不会验证文档中的命令或插件的逻辑顺序或合理性。

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

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

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

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