

• AWS Systems Manager CloudWatch 控制面板在 2026 年 4 月 30 日之后将不再可用。客户可以像现在一样继续使用 Amazon CloudWatch 控制台来查看、创建和管理其 Amazon CloudWatch 控制面板。有关更多信息，请参阅 [Amazon CloudWatch 控制面板文档](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)。

# 使用 Systems Manager 管理 EC2 实例
<a name="systems-manager-setting-up-ec2"></a>

完成此部分中的任务，为 AWS Systems Manager 设置和配置角色、权限以及初始资源。本节中介绍的任务通常由 AWS 账户 和系统管理员执行。完成这些步骤后，贵企业中的用户可以使用 Systems Manager 来配置、管理和访问 Amazon Elastic Compute Cloud (Amazon EC2) 实例。

**注意**  
如果您计划使用 Systems Manager 来管理和配置本地计算机，请按照 [使用 Systems Manager 管理混合和多云环境中的节点](systems-manager-hybrid-multicloud.md) 中的设置步骤操作。如果您计划在[混合和多云](operating-systems-and-machine-types.md#supported-machine-types)环境中使用 Amazon EC2 实例*和*非 EC2 计算机，请先按照下列步骤操作。本节以建议顺序介绍一些步骤，这些步骤配置要在您的 Systems Manager 操作中使用的角色、用户、权限和初始资源。

如果您已使用其他 AWS 服务，则表示您已完成这些步骤中的一部分。但是，其他步骤是特定于 Systems Manager 的。因此，建议您完整阅读本节内容，确保自己做好使用所有 Systems Manager 工具的准备。

**Topics**
+ [配置 Systems Manager 所需的实例权限](setup-instance-permissions.md)
+ [使用适用于 Systems Manager 的 VPC 端点提高 EC2 实例的安全性](setup-create-vpc.md)

# 配置 Systems Manager 所需的实例权限
<a name="setup-instance-permissions"></a>

默认情况下，AWS Systems Manager 没有在您的实例上执行操作的权限。您可以使用 AWS Identity and Access Management（IAM）角色在账户级别提供实例权限，也可以使用实例配置文件在实例级别提供实例权限。如果您的应用场景允许，我们建议使用“默认主机管理配置”在账户级别授予访问权限。

**注意**  
您可以跳过此步骤，并允许 Systems Manager 在设置统一控制台时为您的实例应用所需的权限。有关更多信息，请参阅 [设置 AWS Systems Manager](systems-manager-setting-up-console.md)。

## EC2 实例权限的建议配置
<a name="default-host-management"></a>

“默认主机管理配置”允许 Systems Manager 自动管理您的 Amazon EC2 实例。在您打开此设置后，在 AWS 区域 和已安装 SSM Agent 版本 3.2.582.0 或更高版本的 AWS 账户 中，使用实例元数据服务版本 2（IMDSv2）的所有实例都将自动变为托管实例。“默认主机管理配置”不支持实例元数据服务版本 1。有关过渡到 IMDSv2 的信息，请参阅《Amazon EC2 用户指南》**中的[过渡到使用实例元数据服务版本 2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-transition-to-version-2.html)。有关检查您的实例上安装的 SSM Agent 版本的信息，请参阅 [正在检查 SSM Agent 版本号](ssm-agent-get-version.md)。有关更新 SSM Agent 的信息，请参阅 [自动更新 SSM Agent](ssm-agent-automatic-updates.md#ssm-agent-automatic-updates-console)。托管实例具有以下好处：
+ 可以使用 Session Manager 安全地连接到您的实例。
+ 可以使用 Patch Manager 执行自动补丁扫描。
+ 可以使用 Systems Manager 清单查看有关您的实例的详细信息。
+ 可以使用 Fleet Manager 追踪和管理实例。
+ 可以自动保持 SSM Agent 处于最新状态。

Fleet Manager、Inventory、Patch Manager和Session Manager都是 AWS Systems Manager 中的工具。

“默认主机管理配置”允许在不使用实例配置文件的情况下进行实例管理，并可确保 Systems Manager 有权管理相应区域和账户中的所有实例。如果提供的权限不足以满足您的应用场景要求，您还可以向“默认主机管理配置”创建的默认 IAM 角色添加策略。或者，如果您不需要默认 IAM 角色提供的所有功能的权限，可以创建自己的自定义角色和策略。对您为“默认主机管理配置”选择的 IAM 角色所做的任何更改，都适用于相应区域和账户中的所有托管 Amazon EC2 实例。有关“默认主机管理配置”所用策略的更多信息，请参阅 [AWS 托管式策略：AmazonSSMManagedEC2InstanceDefaultPolicy](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonSSMManagedEC2InstanceDefaultPolicy)。有关“默认主机管理配置”的更多信息，请参阅[使用默认主机管理配置自动管理 EC2 实例](fleet-manager-default-host-management-configuration.md)。

**重要**  
使用默认主机管理配置注册的实例将在 `/lib/amazon/ssm` 或 `C:\ProgramData\Amazon` 目录中本地存储注册信息。如果移除这些目录或其中的文件，将导致实例无法使用默认主机管理配置获取连接到 Systems Manager 所需的凭证。在这些情况下，您必须使用实例配置文件为您的实例提供所需的权限，或者重新创建实例。

**注意**  
此过程仅由管理员执行。在允许个人配置或修改“默认主机管理配置”时，实施最低权限访问。您必须在要自动管理 Amazon EC2 实例的每个 AWS 区域 中打开“默认主机管理配置”。

**打开“默认主机管理配置”设置**  
您可以从 Fleet Manager 控制台打开“默认主机管理配置”。要使用 AWS 管理控制台 或您的首选命令行工具成功完成此过程，您必须拥有 [GetServiceSetting](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetServiceSetting.html)、[ResetServiceSetting](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_ResetServiceSetting.html) 和 [UpdateServiceSetting](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_UpdateServiceSetting.html) API 操作的权限。此外，您还必须有权获得 `AWSSystemsManagerDefaultEC2InstanceManagementRole` IAM 角色的 `iam:PassRole` 权限。以下是示例策略。将每个*示例资源占位符*替换为您自己的信息。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetServiceSetting",
                "ssm:ResetServiceSetting",
                "ssm:UpdateServiceSetting"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:servicesetting/ssm/managed-instance/default-ec2-instance-management-role"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "arn:aws:iam::111122223333:role/service-role/AWSSystemsManagerDefaultEC2InstanceManagementRole",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "ssm.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

在开始之前，如果您已将实例配置文件附加到您的 Amazon EC2 实例，请移除允许该 `ssm:UpdateInstanceInformation` 操作的任何权限。在使用“默认主机管理配置”权限之前，SSM Agent 将尝试使用实例配置文件权限。如果您在实例配置文件中允许该 `ssm:UpdateInstanceInformation` 操作，则该实例将不使用“默认主机管理配置”权限。

1. 访问 [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)，打开 AWS Systems Manager 控制台。

1. 在导航窗格中，请选择 **Fleet Manager**。

1. 在**账户管理**下拉列表中选择**配置默认主机管理配置**。

1. 打开**启用默认主机管理配置**。

1. 选择用于为实例启用 Systems Manager 工具的 IAM角色。我们建议使用“默认主机管理配置”提供的默认角色。它包含使用 Systems Manager 管理您的 Amazon EC2 实例所需的最低权限集合。如果您更喜欢使用自定义角色，则该角色的信任策略必须允许 Systems Manager 作为可信实体。

1. 选择**配置**以完成设置。

在打开“默认主机管理配置”后，您的实例可能需要最长 30 分钟才能使用所选角色的凭证。您必须在要自动管理 Amazon EC2 实例的每个区域中打开“默认主机管理配置”。

## EC2 实例权限的替代配置
<a name="instance-profile-add-permissions"></a>

您可以使用 AWS Identity and Access Management（IAM）实例配置文件来授予单个实例级别的访问权限。实例配置文件是一个容器，可在启动时将 IAM 角色信息传递给 Amazon Elastic Compute Cloud (Amazon EC2) 实例。您可以把一个或多个定义所需权限的 IAM policy 附加到新角色或已创建的角色上，以便为 Systems Manager 创建实例配置文件。

**注意**  
可以使用Quick Setup（AWS Systems Manager 中的一项工具），在您 AWS 账户中的所有实例上快速配置实例配置文件。Quick Setup还可创建 IAM 服务角色（或*担任*角色），该角色允许 Systems Manager 代表您在实例上安全地运行命令。在使用 Quick Setup 时，您可以跳过该步骤（步骤 3）和步骤 4。有关更多信息，请参阅 [AWS Systems Manager Quick Setup](systems-manager-quick-setup.md)。

请注意以下有关创建 IAM 实例配置文件的详细信息：
+ 如果您在[混合和多云](operating-systems-and-machine-types.md#supported-machine-types)环境中为 Systems Manager 配置非 EC2 计算机，则无需为它们创建实例配置文件。相反，您必须将服务器和 VM 配置为使用 IAM 服务角色。有关更多信息，请参阅[在混合和多云环境中创建 Systems Manager 所需的 IAM 服务角色](hybrid-multicloud-service-role.md)。
+ 如果更改 IAM 实例配置文件，实例凭证可能需要一些时间才能刷新。刷新后，SSM Agent 才会处理请求。要加快刷新过程，您可以重新启动 SSM Agent或重新启动实例。

根据您是为实例配置文件创建新角色还是为现有角色添加所需权限，请使用以下过程之一。<a name="setup-instance-profile-managed-policy"></a>

**为 Systems Manager 托管实例创建实例配置文件（控制台）**

1. 访问：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)，打开 IAM 控制台。

1. 在导航窗格中，选择**角色**，然后选择**创建角色**。

1. 对于 **Trusted entity type**（可信实体类型），选择 **AWS 服务**。

1. 在 **Use case**（应用场景）下，选择 **EC2**，然后选择 **Next**（下一步）。

1. 在 **Add permissions**（添加权限）页面上，请执行以下操作：
   + 使用**搜索**字段查找 **AmazonSSMManagedInstanceCore** 策略。选中其名称旁边的复选框，如下图所示。  
![\[该复选框在 AmazonSSMManagedInstanceCore 行中处于选中状态。\]](http://docs.aws.amazon.com/zh_cn/systems-manager/latest/userguide/images/setup-instance-profile-2.png)

     即使您搜索其他策略，控制台也会保留您选择的内容。
   + 如果您在上一过程中创建了自定义 S3 存储桶策略 [（可选）为 S3 存储桶访问创建自定义策略](#instance-profile-custom-s3-policy)，请搜索该策略并选中其名称旁边的复选框。
   + 如果您打算将实例加入 Directory Service 管理的 Active Directory，请搜索 **AmazonSSMDirectoryServiceAccess** 并选中其名称旁边的复选框。
   + 如果您打算使用 Eventbridge 或 CloudWatch Logs 来管理或监控您的实例，请搜索 **CloudWatchAgentServerPolicy** 并选中其名称旁边的复选框。

1. 选择**下一步**。

1. 对于**Role name**（角色名称），请输入新实例配置文件的名称，例如 **SSMInstanceProfile**。
**注意**  
记下角色名称。在创建希望使用 Systems Manager 进行管理的新实例时，将选择该角色。

1. （可选）对于 **Description**（描述），更新此实例配置文件的描述。

1. （可选）对于 **Tags**（标签），添加一个或多个标签键值对，以组织、跟踪或控制此角色的访问，然后选择 **Create role**（创建角色）。系统将让您返回到 **角色** 页面。<a name="setup-instance-profile-custom-policy"></a>

**将 Systems Manager 的实例配置文件权限添加到现有角色（控制台）**

1. 访问：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)，打开 IAM 控制台

1. 在导航窗格中，选择**角色**，然后选择要与 Systems Manager 操作关联的实例配置文件关联的现有角色。

1. 在 **Permissions**（权限）选项卡上，选择 **Add Permissions, Attach policies**（添加权限，附上策略）。

1. 在 **Attach policy**（附上策略）页面上，执行以下操作：
   + 使用**搜索**字段查找 **AmazonSSMManagedInstanceCore** 策略。选中其名称旁边的复选框。
   + 如果您已经创建了自定义 S3 存储桶策略，请搜索该策略并选中其名称旁边的复选框。有关实例配置文件的自定义 S3 存储桶策略的信息，请参阅 [（可选）为 S3 存储桶访问创建自定义策略](#instance-profile-custom-s3-policy)。
   + 如果您打算将实例加入 Directory Service 管理的 Active Directory，请搜索 **AmazonSSMDirectoryServiceAccess** 并选中其名称旁边的复选框。
   + 如果您打算使用 Eventbridge 或 CloudWatch Logs 来管理或监控您的实例，请搜索 **CloudWatchAgentServerPolicy** 并选中其名称旁边的复选框。

1. 选择**附加策略**。

有关如何更新角色以包含可信实体或进一步限制访问的信息，请参阅 *IAM 用户指南*中的[修改角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html)。

## （可选）为 S3 存储桶访问创建自定义策略
<a name="instance-profile-custom-s3-policy"></a>

只有在 Systems Manager 操作中使用 VPC 端点或使用您自己的 S3 存储桶时，才需要为 Amazon S3 访问创建自定义策略。您可以将此策略附加到由“默认主机管理配置”创建的默认 IAM 角色，或您在之前的过程中创建的实例配置文件。

有关您在以下策略中提供访问权限的 AWS 托管 S3 存储桶的信息，请参阅 [SSM Agent 与 AWS 托管 S3 存储桶进行通信](ssm-agent-technical-details.md#ssm-agent-minimum-s3-permissions)。

1. 访问：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)，打开 IAM 控制台。

1. 在导航窗格中，选择 **Policies (策略)**，然后选择 **Create policy (创建策略)**。

1. 选择 **JSON** 选项卡，并将原定设置文本替换为以下内容。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "s3:GetObject",
               "Resource": [
                   "arn:aws:s3:::aws-ssm-us-east-2/*",
                   "arn:aws:s3:::aws-windows-downloads-us-east-2/*",
                   "arn:aws:s3:::amazon-ssm-us-east-2/*",
                   "arn:aws:s3:::amazon-ssm-packages-us-east-2/*",
                   "arn:aws:s3:::us-east-2-birdwatcher-prod/*",
                   "arn:aws:s3:::aws-ssm-distributor-file-us-east-2/*",
                   "arn:aws:s3:::aws-ssm-document-attachments-us-east-2/*",
                   "arn:aws:s3:::patch-baseline-snapshot-us-east-2/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject",
                   "s3:PutObject",
                   "s3:PutObjectAcl",
                   "s3:GetEncryptionConfiguration"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket/*",
                   "arn:aws:s3:::amzn-s3-demo-bucket"
               ]
           }
       ]
   }
   ```

------
**注意**  
只有在使用 VPC 端点时，才需要使用第一个 `Statement` 元素。  
只有在 Systems Manager 操作中使用您创建的 S3 存储桶时，才需要使用第二个 `Statement` 元素。  
只有在您打算为其他账户中的 S3 存储桶提供跨账户访问支持时，才需要使用 `PutObjectAcl` 访问控制列表权限。  
如果您的 S3 存储桶配置为使用加密，则 `GetEncryptionConfiguration` 元素是必需的。  
如果您的 S3 存储桶配置为使用加密，则 S3 存储桶根（例如 `arn:aws:s3:::amzn-s3-demo-bucket`）必须列在**资源**部分。您的用户、组或角色必须配置为有权访问根存储桶。

1. 如果在操作中使用 VPC 端点，请执行以下操作：

   在第一个 `Statement` 元素中，将每个*区域*占位符替换为将使用该策略 AWS 区域 的标识符。例如，对于美国东部 (俄亥俄) 区域，请使用 `us-east-2`。有关支持的 *region* 值的列表，请参阅《Amazon Web Services 一般参考》**中的 [Systems Manager service endpoints](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region) 的 **Region** 列。
**重要**  
我们建议您避免在该策略中使用通配符 (\$1) 以替代特定区域。例如，使用 `arn:aws:s3:::aws-ssm-us-east-2/*` 而不使用 `arn:aws:s3:::aws-ssm-*/*`。使用通配符可能会提供对您不打算授予访问权限的 S3 存储桶的访问。如果要将实例配置文件用于多个区域，我们建议每个区域重复使用第一个 `Statement` 元素。

   -或者-

   如果在操作中不使用 VPC 端点，您可以删除第一个 `Statement` 元素。

1. 如果在 Systems Manager 操作中使用您自己的 S3 存储桶，请执行以下操作：

   在第二个 `Statement` 元素中，将 *amzn-s3-demo-bucket* 替换为您的账户中的 S3 存储桶的名称。将在 Systems Manager 操作中使用该存储桶。它将 `"arn:aws:s3:::my-bucket-name/*"` 作为资源，以便为存储桶中的对象提供权限。有关为存储桶或存储桶中的对象提供权限的更多信息，请参阅 [Amazon Simple Storage Service 用户指南](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html)中的 *Amazon S3 操作*主题，以及 AWS 博客文章 [IAM policy、存储桶策略和 ACL！Oh, My\$1 (Controlling Access to S3 Resources)](https://aws.amazon.com/blogs/security/iam-policies-and-bucket-policies-and-acls-oh-my-controlling-access-to-s3-resources/)。
**注意**  
如果您使用多个存储桶，请提供每个存储桶的 ARN。有关存储桶的权限，请参阅以下示例。  

   ```
   "Resource": [
   "arn:aws:s3:::amzn-s3-demo-bucket1/*",
   "arn:aws:s3:::amzn-s3-demo-bucket2/*"
                  ]
   ```

   - 或者 -

   如果在 Systems Manager 操作中不使用您自己的 S3 存储桶，您可以删除第二个 `Statement` 元素。

1. 选择**下一步：标签**。

1. （可选）通过选择 **Add tag**（添加标签）并输入策略的首选标签来添加标签。

1. 选择**下一步：审核**。

1. 在 **Name**（名称）中，输入用于标识此策略的名称，例如 **SSMInstanceProfileS3Policy**。

1. 选择**创建策略**。

## 托管实例的其他策略注意事项
<a name="instance-profile-policies-overview"></a>

本部分介绍了一些策略，您可以将这些策略添加到由“默认主机管理配置”或您的 AWS Systems Manager 实例配置文件创建的默认 IAM 角色中。要为实例和 Systems Manager API 之间的通信提供权限，我们建议您创建反映系统需求和安全要求的自定义策略。根据您的操作计划，您可能需要具有在其他策略的一个或多个策略中表示的权限。

**策略：`AmazonSSMDirectoryServiceAccess`**  
只有在您打算将 Windows Server 的 Amazon EC2 实例加入 Microsoft AD 目录时才需要。  
该 AWS 托管策略允许 SSM Agent 代表您访问 AWS Directory Service，以处理托管实例加入域的请求。有关更多信息，请参阅 *AWS Directory Service 管理指南*中的[无缝加入 Windows EC2 实例](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/launching_instance.html)。

**策略：`CloudWatchAgentServerPolicy`**  
只有在您打算在实例上安装并运行 CloudWatch 代理，以读取实例上的指标和日志数据并将其写入到 Amazon CloudWatch 时才需要。这些操作可以帮助您监控、分析和快速响应存在的问题或对您的 AWS 资源的更改。  
仅当您将使用 Amazon EventBridge 或 Amazon CloudWatch Logs 等功能时，由“默认主机管理配置”或实例配置文件创建的默认 IAM 角色才需要此策略。（您还可以创建限制性更强的策略，例如，限制对特定 CloudWatch Logs 日志流的写入访问。）  
使用 EventBridge 和 CloudWatch Logs 功能是可选的。但是，如果您决定使用这些功能，我们建议您在开始执行 Systems Manager 配置过程时就设置这些功能。有关更多信息，请参阅 *[Amazon EventBridge User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/)* 和 *[Amazon CloudWatch Logs User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/)*。
要创建拥有其他 Systems Manager 工具权限的 IAM 策略，请参阅以下资源：  
+ [使用 IAM 策略限制对 Parameter Store 参数的访问](sysman-paramstore-access.md)
+ [设置自动化](automation-setup.md)
+ [步骤 2：验证或添加 Session Manager 的实例权限](session-manager-getting-started-instance-profile.md)

## 将 Systems Manager 实例配置文件附加到实例（控制台）
<a name="attach-instance-profile"></a>

以下步骤介绍了如何使用 Amazon EC2 控制台将 IAM 实例配置文件附加到 Amazon EC2 实例。

1. 登录 AWS 管理控制台，打开 Amazon EC2 控制台：[https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)。

1. 在导航窗格中的 **Instances** 下，选择 **Instances**。

1. 导航至并从列表中选择您的 EC2 实例。

1. 在**操作** 菜单中，选择**安全**、**修改 IAM 角色**。

1. 对于 **IAM role (IAM 角色)**，选择您使用 [EC2 实例权限的替代配置](#instance-profile-add-permissions) 中的过程创建的实例配置文件。

1. 选择 **Update **IAM role****（更新 IAM 角色）。

有关将 IAM 角色附加到实例的更多信息，请选择以下操作之一，具体取决于您选择的操作系统类型：
+ 《Amazon EC2 用户指南》**中的[将 IAM 角色附加到实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#attach-iam-role)
+ 《Amazon EC2 用户指南》**中的[将 IAM 角色附加到实例](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/iam-roles-for-amazon-ec2.html#attach-iam-role)

继续[使用适用于 Systems Manager 的 VPC 端点提高 EC2 实例的安全性](setup-create-vpc.md)。

# 使用适用于 Systems Manager 的 VPC 端点提高 EC2 实例的安全性
<a name="setup-create-vpc"></a>

您可以配置 AWS Systems Manager 在 Amazon Virtual Private Cloud（Amazon VPC）中使用接口 VPC 端点，以提高托管式节点（包括[混合和多云](operating-systems-and-machine-types.md#supported-machine-types)环境中的非 EC2 实例）的安全状况。通过使用接口 VPC 端点（接口端点），您可以连接到 AWS PrivateLink 支持的服务。AWS PrivateLink 技术允许您使用私有 IP 地址私下访问 Amazon Elastic Compute Cloud (Amazon EC2) 和 Systems Manager API。

AWS PrivateLink 将托管实例、Systems Manager 和 Amazon EC2 之间的所有网络流量限制在 Amazon 网络以内。这意味着您的托管实例无法访问 Internet。如果您使用 AWS PrivateLink，则无需互联网网关、NAT 设备或虚拟私有网关。

不要求您配置 AWS PrivateLink，但推荐进行此配置。有关 AWS PrivateLink 和 VPC 端点的更多信息，请参阅[AWS PrivateLink 和 VPC 端点](https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-overview.html)。

**注意**  
使用 VPC 端点的替代方法是，在托管实例上允许出站 Internet 访问。在这种情况下，托管实例还必须允许以下端点的 HTTPS（端口 443）出站流量：  
`ssm.region.amazonaws.com`
`ssmmessages.region.amazonaws.com`
`ec2messages.region.amazonaws.com`
SSM Agent 将在云中启动所有与 Systems Manager 服务的连接。因此，您无需为 Systems Manager 配置防火墙以允许入站流量到达您的实例。  
有关对这些端点的调用的更多信息，请参阅 [参考：ec2messages、ssmmessages 和其他 API 操作](systems-manager-setting-up-messageAPIs.md)。  
如果您在*仅*支持 IPv6 的环境中使用 Systems Manager，则还必须允许出站流量发往以下端点：  
`ssm.region.api.aws`
`ssmmessages.region.api.aws`
`ec2messages.region.api.aws`
有关双堆栈服务端点的更多信息，请参阅《AWS 通用参考指南》**中的 [Dual stack endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#dual-stack-endpoints)。  
您还必须确保可从您的节点访问补丁操作存储桶，如[参考：用于修补操作的 Amazon S3 存储桶](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-operations-s3-buckets.html)中所述。

**关于 Amazon VPC**  
您可以使用 Amazon Virtual Private Cloud (Amazon VPC) 在 AWS 云 内您自己的逻辑隔离区域中定义虚拟化网络，我们称之为 *虚拟私有云 (VPC) *。可在 VPC 中启动实例等 AWS 资源。您的 VPC 与您可能在自己的数据中心中运行的传统网络极为相似，同时享有使用来自 AWS 的可扩展基础设施的优势。您可以配置您的 VPC；您可以选择它的 IP 地址范围、创建子网并配置路由表、网关和安全设置。您可以将您的 VPC 中的实例连接到网络。您可以将您的 VPC 连接到公司的数据中心，并将 AWS 云 作为数据中心的延伸。要保护各个子网中的资源，您可以利用多种安全层，包括安全组和网络访问控制列表。有关更多信息，请参阅[《Amazon VPC 用户指南》](https://docs.aws.amazon.com/vpc/latest/userguide/)。

**Topics**
+ [VPC 端点限制](#vpc-requirements-and-limitations)
+ [为 Systems Manager 创建 VPC 端点](#create-vpc-endpoints)
+ [创建接口 VPC 端点策略](#create-vpc-interface-endpoint-policies)

## VPC 端点限制
<a name="vpc-requirements-and-limitations"></a>

在配置 Systems Manager 的 VPC 端点之前，请注意以下限制。

**VPC 对等连接**  
VPC 接口端点可以通过*区域内*和*区域间* VPC 对等连接访问。有关 VPC 接口端点的 VPC 对等连接请求的更多信息，请参阅*《Amazon Virtual Private Cloud 用户指南》*中的 [VPC 对等连接 (Quotas)](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#vpc-limits-peering)。

无法将 VPC 网关端点连接扩展到 VPC 之外。VPC 中的 VPC 对等连接另一端的资源不能使用网关端点与网关端点服务中的资源进行通信。有关 VPC 网关端点的 VPC 对等连接请求的更多信息，请参阅[《Amazon Virtual Private Cloud 用户指南》](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#vpc-limits-endpoints)中的 *VPC 端点 (Quotas)*

**传入连接**  
附加到 VPC 端点的安全组必须允许从托管实例的私有子网通过端口 443 进行传入连接。如果不允许传入连接，则托管实例无法连接到 SSM 和 EC2 端点。

**DNS 解析**  
如果您使用自定义 DNS 服务器，则必须将针对 `amazonaws.com` 域的任何查询的条件转发器添加到 VPC 的 Amazon DNS 服务器。

**S3 存储桶**  
VPC 端点策略必须允许访问至少 [SSM Agent 与 AWS 托管 S3 存储桶进行通信](ssm-agent-technical-details.md#ssm-agent-minimum-s3-permissions) 中列出的 Amazon S3 存储桶。

**注意**  
如果您使用本地防火墙并计划使用 Patch Manager，还必须允许该防火墙访问适当的补丁基准端点。

**Amazon CloudWatch Logs**  
如果您不允许您的实例访问互联网，请为 CloudWatch Logs 创建 VPC 端点，以使用向 CloudWatch 日志发送日志的功能。有关为 CloudWatch Logs 创建端点的更多信息，请参阅《Amazon CloudWatch Logs 用户指南》**中的[为 CloudWatch Logs 创建 VPC 端点](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch-logs-and-interface-VPC.html#create-VPC-endpoint-for-CloudWatchLogs)。

**混合和多云环境中的 DNS**  
有关配置 DNS 以在[混合和多云](operating-systems-and-machine-types.md#supported-machine-types)环境中与 AWS PrivateLink 端点一起使用的信息，请参阅*《Amazon VPC 用户指南》*中的[用于接口端点的私有 DNS](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#vpce-private-dns)。如果需要使用自己的 DNS，可以使用 Route 53 解析程序。有关更多信息，请参阅*《Amazon Route 53 开发人员指南》*中的[解析 VPC 与网络之间的 DNS 查询](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver.html)。

## 为 Systems Manager 创建 VPC 端点
<a name="create-vpc-endpoints"></a>

使用以下信息为 AWS Systems Manager 创建 VPC 接口端点。本主题链接到*《Amazon VPC 用户指南》*中的过程。

**注意**  
*region* 表示 AWS Systems Manager 支持的 AWS 区域 的标识符，例如 `us-east-2` 对应美国东部（俄亥俄州）区域。有关支持的 *region* 值的列表，请参阅*《Amazon Web Services 一般参考》*中的 [Systems Manager service endpoints](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region) 的 **Region** 列。

按照[创建接口端点](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#create-interface-endpoint)中的步骤操作，创建以下接口端点：
+ **`com.amazonaws.region.ssm`** – Systems Manager 服务的端点。
+ **`com.amazonaws.region.ec2messages`** – Systems Manager 使用此端点从 SSM Agent 调用到 Systems Manager 服务。从 SSM Agent 的版本 3.3.40.0 开始，只要可用，Systems Manager 就会使用 `ssmmessages:*` 端点（Amazon Message Gateway Service）而非 `ec2messages:*` 端点（Amazon Message Delivery Service）。
+ **`com.amazonaws.region.ec2`** – 如果您使用 Systems Manager 创建启用 VSS 的快照，则需要确保您具有连接到 EC2 服务的端点。如果未定义 EC2 端点，枚举附加的 Amazon EBS 卷的调用将失败，这会导致 Systems Manager 命令失败。
+ **`com.amazonaws.region.s3`**：Systems Manager 使用此端点更新 SSM Agent。如果选择检索存储在存储桶中的脚本或其他文件，或将输出日志上传到存储桶，Systems Manager 也会使用此端点。如果与您的实例关联的安全组限制出站流量，则您必须添加一条规则，以允许流量到达 Amazon S3 的前缀列表。有关更多信息，请参阅*《AWS PrivateLink 指南》*中的[修改安全组](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-gateway.html#vpc-endpoints-security)。
+ **`com.amazonaws.region.ssmmessages`** – 对于 Run Command，SSM Agent 需要此端点才能与 Systems Manager 服务通信，并且在您使用 Session Manager 通过安全数据通道连接到您的实例时需要此端点。有关更多信息，请参阅[AWS Systems Manager Session Manager](session-manager.md)和[参考：ec2messages、ssmmessages 和其他 API 操作](systems-manager-setting-up-messageAPIs.md)。
+ （可选）**`com.amazonaws.region.kms`** – 如果要对 Session Manager 或 Parameter Store 参数使用 AWS Key Management Service (AWS KMS) 加密，请创建此端点。
+ （可选）**`com.amazonaws.region.logs`**：如果要将 Amazon CloudWatch Logs (CloudWatch Logs) 用于 Session Manager、Run Command 或 SSM Agent 日志，请创建此端点。

有关 SSM Agent 必须能够访问的 AWS 托管 S3 存储桶的信息，请参阅 [SSM Agent 与 AWS 托管 S3 存储桶进行通信](ssm-agent-technical-details.md#ssm-agent-minimum-s3-permissions)。如果您正在 Systems Manager 操作中使用虚拟私有云（VPC）端点，则必须在 Systems Manager 的 EC2 实例配置文件中或在[混合和多云](operating-systems-and-machine-types.md#supported-machine-types)环境中的非 EC2 托管式节点的服务角色中提供显式权限。

## 创建接口 VPC 端点策略
<a name="create-vpc-interface-endpoint-policies"></a>

您可以为 AWS Systems Manager 的 VPC 接口端点创建策略，在其中可以指定：
+ 可执行操作的主体
+ 可执行的操作
+ 可被执行操作的资源

有关更多信息，请参阅《Amazon VPC 用户指南》**中的[使用 VPC 端点控制对服务的访问权限](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html)。