

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

# 使用 Systems Manager 自动化文档
<a name="systems-manager-automation-docs"></a>

AWS Systems Manager 让您可以查看和控制自己的基础架构 AWS。Systems Manager 提供了统一的用户界面，因此您可以查看来自多个 AWS 服务的操作数据，并自动执行跨 AWS 资源的操作任务。

[Systems Manager 文档](https://docs.aws.amazon.com//systems-manager/latest/userguide/sysman-systems-manager-docs.html)定义 Systems Manager 对您的托管式实例执行的操作。自动化文档是一种 Systems Manager 文档，用于执行常见的维护和部署任务，如创建或更新亚马逊机器映像（AMI）。本主题概述了如何使用创建、编辑、发布和删除自动化文档 AWS Toolkit for Visual Studio Code。

**Topics**
+ [假设和先决条件](#systems-manager-assumptions)
+ [Systems Manager 自动化文档的 IAM 权限](#systems-manager-permissions)
+ [创建新的 Systems Manager 自动化文档](#systems-manager-create)
+ [打开现有的 Systems Manager 自动化文档](#systems-manager-open)
+ [编辑 Systems Manager 自动化文档](#systems-manager-edit)
+ [发布 Systems Manager 自动化文档](#systems-manager-publish)
+ [删除 Systems Manager 自动化文档](#systems-manager-delete)
+ [删除 Systems Manager 自动化文档](#systems-manager-run)
+ [排查 Toolkit for VS Code 中 Systems Manager 自动化文档的问题](systems-manager-troubleshoot.md)

## 假设和先决条件
<a name="systems-manager-assumptions"></a>

在您开始之前，请确保：
+ 您已经安装了 Visual Studio Code 和最新版本的 AWS Toolkit for Visual Studio Code。有关更多信息，请参阅 [安装 AWS Toolkit for Visual Studio Code](setup-toolkit.md)。
+ 您熟悉 Systems Manager。有关更多信息，请参阅 [AWS Systems Manager 用户指南](https://docs.aws.amazon.com//systems-manager/latest/userguide/what-is-systems-manager.html)**。
+ 熟悉 Systems Manager Automation 使用案例。有关更多信息，请参阅 *AWS Systems Manager 用户指南*中的 [AWS Systems Manager 自动化](https://docs.aws.amazon.com//systems-manager/latest/userguide/systems-manager-automation.html)。

## Systems Manager 自动化文档的 IAM 权限
<a name="systems-manager-permissions"></a>

在 Toolkit for VS Code 中，您必须拥有一个凭证配置文件，其中包含创建、编辑、发布和删除 Systems Manager 自动化文档所必需的 AWS Identity and Access Management （IAM）权限。以下策略文档定义了可在委托人策略中使用的必要 IAM 权限：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:ListDocuments",
                "ssm:ListDocumentVersions",
                "ssm:DescribeDocument",
                "ssm:GetDocument",
                "ssm:CreateDocument",
                "ssm:UpdateDocument",
                "ssm:UpdateDocumentDefaultVersion",
                "ssm:DeleteDocument"
            ],
            "Resource": "*"
        }
    ]
}
```

------

有关如何更新策略的信息，请参阅 *IAM 用户指南*中的[创建 IAM 策略](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_create.html)。有关如何设置凭证配置文件的信息，请参阅 [AWS IAM 证书](setup-credentials.md)。

## 创建新的 Systems Manager 自动化文档
<a name="systems-manager-create"></a>

您可以在 `JSON` 或 `YAML` 中使用 Visual Studio Code 创建新的自动化文档。当您创建新的自动化文档时，它将显示在无标题文件中。你可以命名你的文件并将其保存在 VS Code 中，但是文件名是不可见的 AWS。

**创建新的自动化文档**

1. 打开 VS Code。

1. 在**视图**菜单中，选择**命令面板**以打开“命令面板”。

1. 在“命令面板”中，输入 **AWS Toolkit 在本地创建新的 Systems Manager 文档**。

1. 为 Hello World 示例选择其中一个初学者模板。

1. 选择 `JSON` 或 `YAML`。

   新的自动化文档已成功创建。

**注意**  
您在 VS Code 中创建的新自动化文档不会自动显示在 AWS中。必须先将其发布到， AWS 然后才能运行它。

## 打开现有的 Systems Manager 自动化文档
<a name="systems-manager-open"></a>

您可以使用 AWS 资源管理器查找现有的 Systems Manager 自动化文档。当您打开现有的自动化文档后，它将在 VS Code 中显示为无标题文件。

**打开自动化文档**

1. 打开 VS Code。

1. 从左侧导航栏中，选择 **AWS** 以打开 AWS Explorer。

1. 在 AWS 资源管理器中，对于 S **ystems M** anager，选择要打开的文档上的下载图标，然后选择文档版本。该文件将以该版本的格式打开。或者，您也可以选择**以 JSON 格式下载**或**以 YAML 格式下载**。

**注意**  
在 VS Code 中将自动化文档保存为本地文件，不会使其显示在 AWS中。在执行 AWS 之前，需要将其发布到。

## 编辑 Systems Manager 自动化文档
<a name="systems-manager-edit"></a>

如果您拥有任何自动化文档，则它们会显示在 AWS 资源管理器中 System **s Manager 文档的 “归我所有**” 类别中。您可以拥有中已存在的自动化文档 AWS，也可以拥有之前 AWS 从 VS Code 发布到的新文档或更新的文档。

当您在 VS Code 中打开自动化文档进行编辑时，您可以利用它完成的操作会比在 AWS 管理控制台中更多。例如：
+ `JSON` 和 `YAML` 格式均有架构验证。
+ 文档编辑器中有一些代码段可供您创建任何自动化步骤类型。
+ `JSON` 和 `YAML` 中的各种选项都支持自动完成。

### 使用版本
<a name="systems-manager-edit-default-version"></a>

Systems Manager 自动化文档使用版本进行变更管理。您可以在 VS Code 中为 Systems Manager 自动化文档选择默认版本。

**要设置默认版本**
+ 在 AWS 资源管理器中，导航到要设置默认版本的文档，打开该文档的上下文（右键单击）菜单，然后选择**设置默认版本**。
**注意**  
如果选择的文档只有一个版本，则无法更改默认版本。

## 发布 Systems Manager 自动化文档
<a name="systems-manager-publish"></a>

在 VS Code 中编辑自动化文档后，可以将其发布到 AWS。

**发布您的自动化文档**

1. 打开您想要使用[打开现有的 Systems Manager 自动化文档](#systems-manager-open)中概述的流程进行发布的自动化文档。

1. 执行您想要发布的更改。有关更多信息，请参阅 [编辑 Systems Manager 自动化文档](#systems-manager-edit)。

1. 在打开文件的右上角，选择上传图标。

1. 在发布工作流程对话框中，选择要将自动化文档发布到的 AWS 区域。

1. 如果您要发布新文档，请选择**快速创建**。否则，请选择**快速更新**以更新该 AWS 区域中的现有自动化文档。

1. 输入此自动化文档的名称。

当您将现有 Automation 文档的更新发布到时 AWS，会向该文档添加一个新版本。

## 删除 Systems Manager 自动化文档
<a name="systems-manager-delete"></a>

您可以删除 VS Code 中的自动化文档。删除自动化文档将删除该文档以及该文档的所有版本。

**重要**  
删除是一个无法撤消的破坏性操作。
删除已经运行的自动化文档不会删除启动时创建或修改的 AWS 资源。

**删除您的自动化文档**

1. 打开 VS Code。

1. 从左侧导航栏中，选择 **AWS** 以打开 AWS Explorer。

1. 在 AWS 资源管理器中，对于 **Systems Manager**，打开要删除的文档的上下文（右键单击）菜单，然后选择**删除文档**。

## 删除 Systems Manager 自动化文档
<a name="systems-manager-run"></a>

将 Automation 文档发布到后 AWS，您可以运行该文档以在您的 AWS 账户中代表您执行任务。要运行自动化文档，可以使用、Systems Manager APIs AWS CLI、或 AWS Tools for PowerShell。 AWS 管理控制台有关如何运行自动化文档的说明，请参阅《AWS Systems Manager 用户指南》**中的[运行简单的自动化](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)。

或者，如果您想在 Systems Manager 中 AWS SDKs 使用其中一个 APIs 来运行自动化文档，请参阅 [AWS SDK 参考资料](https://aws.amazon.com/getting-started/tools-sdks/)。

**注意**  
执行自动化文档可能会在中创建新资源， AWS 并可能产生账单费用。我们强烈建议您在启动自动化文档之前先了解自动化文档将在您的账户中创建什么。

# 排查 Toolkit for VS Code 中 Systems Manager 自动化文档的问题
<a name="systems-manager-troubleshoot"></a>

**我已将自动化文档保存到 VS Code 中，但未在 AWS 管理控制台中看到它。**  
将自动化文档保存到 VS Code 中，不会将自动化文档发布到 AWS。有关发布自动化文档的更多信息，请参阅[发布 Systems Manager 自动化文档](systems-manager-automation-docs.md#systems-manager-publish)。

**发布自动化文档失败，出现权限错误。**  
确保您的 AWS 凭证配置文件具有发布 Automation 文档所需的权限。有关权限策略的示例，请参阅 [Systems Manager 自动化文档的 IAM 权限](systems-manager-automation-docs.md#systems-manager-permissions)。

**我已将我的自动化文档发布到 AWS，但我没有在中看到它 AWS 管理控制台。**  
请确保您已将文档发布到您正在浏览的同一 AWS 区域 AWS 管理控制台。

**我已经删除了自动化文档，但仍在为其创建的资源付费。**  
删除自动化文档不会删除它创建或修改的资源。您可以通过[AWS 账单管理控制台](https://console.aws.amazon.com/billing/home)识别您创建的 AWS 资源，查看您的费用，然后从中选择要删除的资源。