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

第 6 步:创建 VPC 端点

您可以配置 Amazon Systems Manager 在 Amazon Virtual Private Cloud (Amazon VPC) 中使用接口 VPC 终端节点,以提高托管实例(包括混合环境中的托管实例)的安全性。通过使用接口 VPC 终端节点(接口端点),您可以连接到 Amazon PrivateLink 支持的服务。Amazon PrivateLink 技术允许您使用私有 IP 地址私下访问 Amazon Elastic Compute Cloud (Amazon EC2) 和 Systems Manager API。

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

不要求您配置 Amazon PrivateLink,但推荐进行此配置。有关 Amazon PrivateLink 和 VPC 终端节点的更多信息,请参阅Amazon PrivateLink 和 VPC 终端节点

注意

使用 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 操作

关于 Amazon VPC

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

VPC 终端节点限制

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

aws:domainJoin 插件

如果选择创建 VPC 终端节点,请注意:从使用 aws:domainJoin 插件的 SSM 文档将 Windows Server 实例加入到域的请求将失败,除非您允许流量从您的实例到达公共 Amazon Directory Service 终端节点。此插件需要 Amazon Directory Service,而 Amazon Directory Service 不支持 PrivateLink 终端节点。是否支持使用其他将实例加入域的方法将 Windows Server 实例加入到域,仅取决于 Active Directory 要求(例如,通过使用 DNS 确保能够访问和发现域控制器,以及其他相关要求)。您可以使用 Amazon EC2 用户数据脚本将实例加入域。

跨区域请求

VPC 终端节点不支持跨区域请求—务必在您的存储桶所在的 Amazon Web Services 区域 内创建端点。您可以使用 Amazon S3 控制台或 get-bucket-location 命令来查找存储桶的位置。使用区域特定的 Amazon S3 终端节点访问存储桶;例如,DOC-EXAMPLE-BUCKET.s3-us-west-2.amazonaws.com。有关 Amazon S3 的区域特定端点的更多信息,请参阅 Amazon Web Services 一般参考中的 Amazon S3 端点。如果您使用 Amazon CLI 向 Amazon S3 发起请求,请将默认区域设置为您的存储桶所在的相同区域,或在请求中使用 --region 参数。

VPC 对等连接

VPC 接口终端节点可以通过区域内区域间 VPC 对等连接访问。有关 VPC 接口端点的 VPC 对等连接请求的更多信息,请参阅 Amazon Virtual Private Cloud 用户指南中的 VPC 对等连接 (Quotas)

无法将 VPC 网关端点连接扩展到 VPC 之外。VPC 中的 VPC 对等连接另一端的资源不能使用网关终端节点与网关终端节点服务中的资源进行通信。有关 VPC 网关端点的 VPC 对等连接请求的更多信息,请参阅 Amazon Virtual Private Cloud 用户指南中的 VPC 端点 (Quotas)

传入连接

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

Amazon S3 存储桶

VPC 终端节点策略必须允许访问至少以下 Simple Storage Service (Amazon S3) 存储桶:

  • Patch Manager 用于 Amazon Web Services 区域 中的补丁基准操作的 S3 存储桶。这些存储桶包含由补丁基准服务检索并在实例上运行的代码。每个 Amazon Web Services 区域 都有自己的补丁基准操作存储桶,从中检索运行补丁基准文档的代码。如果无法下载该代码,则补丁基准命令将失败。

    注意

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

    要提供对您的 Amazon Web Services 区域 中存储桶的访问权限,请在您的端点策略中包含以下权限。

    arn:aws:s3:::patch-baseline-snapshot-region/* arn:aws:s3:::aws-ssm-region/*

    region 表示 Amazon Systems Manager 支持的 Amazon Web Services 区域 的标识符,例如 us-east-2 对应美国东部(俄亥俄)区域。有关受支持的 region 值的列表,请参阅 Amazon Web Services 一般参考中的 Systems Manager 服务终端节点中的 Region(区域)列。

    请参阅以下 示例。

    arn:aws:s3:::patch-baseline-snapshot-us-east-2/* arn:aws:s3:::aws-ssm-us-east-2/*
    注意

    这些存储桶在中东(巴林)区域 (me-south-1) 中使用其他命名约定。对于此 Amazon Web Services 区域,请改为使用以下两个存储桶:

    • patch-baseline-snapshot-me-south-1-uduvl7q8

    • aws-patch-manager-me-south-1-a53fc9dce

  • SSM Agent 与 Amazon 托管 S3 存储桶进行通信中列出的 S3 存储桶。

Amazon CloudWatch Logs

如果您不允许您的实例访问互联网,请为 CloudWatch Logs 创建 VPC 终端节点,以使用向 CloudWatch 日志发送日志的功能。有关为 CloudWatch Logs 创建终端节点的更多信息,请参阅 Amazon CloudWatch Logs 用户指南中的为 CloudWatch Logs 创建 VPC 终端节点

混合环境中的 DNS

有关配置 DNS 以在混合环境中使用 Amazon PrivateLink 端点的信息,请参阅 Amazon VPC 用户指南中的用于接口端点的私有 DNS。如果需要使用自己的 DNS,可以使用 Route 53 解析程序。有关更多信息,请参阅 Amazon Route 53 开发人员指南中的解析 VPC 与网络之间的 DNS 查询

为 Systems Manager 创建 VPC 终端节点

使用以下信息可为 Amazon Systems Manager 创建 VPC 接口和网关终端节点。本主题链接到 Amazon VPC 用户指南中的过程。

为 Systems Manager 创建 VPC 终端节点

在此过程的第一步中,您可以为 Systems Manager 创建三个必需的和一个可选的界面终端节点。Systems Manager 需要前三个终端节点才能在 VPC 中运行。仅在使用 Session Manager 功能时需要第四个 com.amazonaws.region.ssmmessages 终端节点。

在第二个步骤中,创建所需的网关终端节点,以便让 Systems Manager 访问 Amazon S3。

注意

region 表示 Amazon Systems Manager 支持的 Amazon Web Services 区域 的标识符,例如 us-east-2 对应美国东部(俄亥俄)区域。有关受支持的 region 值的列表,请参阅亚马逊云科技一般参考中的 Systems Manager 服务终端节点中的 Region(区域)列。

  1. 按照创建接口端点中的步骤操作,创建以下接口端点:

    • com.amazonaws.region.ssm – Systems Manager 服务的端点。

    • com.amazonaws.region.ec2messages – Systems Manager 使用此端点从 SSM Agent 调用到 Systems Manager 服务。

    • com.amazonaws.region.ec2 – 如果您使用 Systems Manager 创建启用 VSS 的快照,则需要确保您具有连接到 EC2 服务的端点。如果未定义 EC2 端点,枚举附加的 Amazon EBS 卷的调用将失败,这会导致 Systems Manager 命令失败。

    • com.amazonaws.region.ssmmessages – 仅当您使用 Session Manager 通过安全数据通道连接到实例时,才需要此端点。有关更多信息,请参阅 Amazon Systems Manager Session Manager参考:ec2messages、ssmmessages 和其他 API 操作

    • com.amazonaws.region.kms – 此端点是可选的。但是,如果要将 Session Manager 或 Parameter Store 参数用于 Amazon Key Management Service (Amazon KMS) 加密,您也可以创建此端点。

    • com.amazonaws.region.logs – 此端点是可选的。但是,如果要将 Amazon CloudWatch Logs (CloudWatch Logs) 用于 Session Manager、Run Command 或 SSM Agent 日志,您也可以创建此端点。

  2. 按照创建网关端点中的步骤操作,为 Amazon S3 创建以下网关端点。

    • com.amazonaws.region.s3 – Systems Manager 使用此端点更新 SSM Agent 和执行修补操作。Systems Manager 还使用此端点执行其它任务,例如,上载要存储在 S3 存储桶中所选择的输出日志,检索存储在存储桶中的脚本或其他文件等。如果与您的实例关联的安全组限制出站流量,则您必须添加一条规则,以允许流量到达 Amazon S3 的前缀列表。有关更多信息,请参阅Amazon PrivateLink指南修改安全组

创建接口 VPC 终端节点策略

您可以为 Amazon Systems Manager 的 VPC 接口终端节点创建策略,在其中可以指定:

  • 可执行操作的委托人

  • 可执行的操作

  • 可被执行操作的资源

有关更多信息,请参阅 Amazon VPC 用户指南中的使用 VPC 终端节点控制对服务的访问权限

示例:允许用户仅获取并列出命令调用

{ "Statement":[ { "Sid":"SSMCommandsReadOnly", "Principal":"*", "Action":[ "ssm:ListCommands", "ssm:ListCommandInvocations", "ssm:GetCommandInvocation" ], "Effect":"Allow", "Resource":"*" } ] }