View a markdown version of this page

配置最佳实践 - AWS 规范性指导

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

配置最佳实践

本节详细描述了最严格的场景,即所有通信仅通过私有通道进行,并详细说明了每个区域的要求和要构建的相应组件。

本节根据前面讨论的注意事项,描述了最严格场景(仅通过私有网络复制)的配置,如第一张图所示。您可以跳过最严格配置部分来配置这两种混合场景:

  • 对于支持源端公有 HTTPS 出口和私有暂存区域资源的混合场景,不需要 Amazon S3 接口 VPC 端点。

  • 对于支持源端公有 HTTPS 出口和公有暂存区域资源的混合场景,暂存区域子网中不需要任何 VPC 端点。

以下各节假设初始 MGN 配置已经完成,如博客文章 “加速迁移” AWS Transform MGN和 “如何使用新版 AWS Transform MGN Lift-and-Shift 进行迁移” 中所述)。本讨论侧重于限制性场景特定的组件,并假设私有暂存子网没有与互联网的连接。

子网和路由配置

对于限制性场景,您可以在暂存 VPC 的私有子网中配置所需的 AWS 资源。该子网没有与互联网的连接(没有作为默认路由连接到路由表的互联网网关)。相反,该子网使用与 AWS Site-to-Site VPN 网关关联的虚拟网关(通过 IPsec 隧道连接到本地网关);或者,该子网连接到传输网关或 Direct Connect 服务,为本地数据中心提供私有互连。

您将使用该私有子网作为 Application Migration Service 管理的复制相关资源的暂存子网,并使用 VPC 端点通过该子网配置所有所需的网络访问权限,如下一节所述。

VPC 端点配置

现在,您需要在暂存子网中创建 VPC 终端节点,以便为本地子网中的复制服务器和 MGN 代理提供连接。

以下是您需要的 VPC 端点的完整列表:

  • MGN 和 Amazon EC2 接口终端节点,它们提供自己的弹性网络接口,其中包含私有 IP 地址和私有 DNS 名称,供复制服务器和代理使用。(代理将仅使用 MGN 端点。)

  • Amazon S3 网关端点,这些端点可在子网路由表中提供特定路由(通过前缀列表)。复制服务器将使用此项。

  • Amazon S3 接口端点,这些端点为特定弹性网络接口提供私有子网中的专用私有 IP 地址。MGN 代理将通过特定的 DNS 名称使用此地址。

接下来的章节将详细介绍 VPC 端点的工作原理。下表列出了为暂存私有子网创建的所有端点。(请注意,Amazon S3 网关端点没有预调配网络接口,但确实在子网的路由表中预调配了特定的前缀列表,本指南后续章节中将对此进行介绍。)

AWS 服务 VPC 端点类型 私有 DNS 相关子网

Amazon EC2

接口

已启用

暂存私有子网

MGN

接口

已启用

暂存私有子网

Amazon S3

接口

不可用

暂存私有子网

Amazon S3

网关

不可用

连接到暂存私有子网的路由表

您可以创建可选的 VPC 终端节点,以便通过访问私有隔离子网上的 EC2 实例 AWS Systems Manager,如 Systems Manager 文档中的创建 VPC 终端节点中所述。

AWS 服务 VPC 端点类型 私有 DNS 相关子网

Systems Manager (系统管理员)

接口

已启用

暂存私有子网

ssmmessages

接口

已启用

暂存私有子网

ec2messages

接口

已启用

暂存私有子网

AWS Key Management Service (AWS KMS)

接口

已启用

暂存私有子网

日志

接口

已启用

暂存私有子网

VPC 接口终端节点

创建接口端点还会为给定接口端点预调配的每个子网创建一个特定的弹性网络接口。例如,Application Migration Service 接口端点在暂存 VPC 的私有子网中预调配,具有与该子网内 IP 地址关联的弹性网络接口,并且还有三个可从子网解析为此 IP 地址的 DNS 名称:

  • 私有 DNS 名称 mgn.<region>.amazonaws.com

  • 基于端点 ID(vpce-xxx)的两个 DNS 名称,名称中分别包含和不包含区域:vpce-xxx-<region>.<service-name>vpce-xxx.<service-name>

这使得在子网中运行的任何实例,如果使用 VPC 中的默认动态主机配置协议(DHCP)选项集配置,且同时启用 DNS 属性 enableDnsHostnamesenableDnsSupport,则可以:

  • 将 MGN (mgn.<region>.amazonaws.com) 的 DNS 名称解析为分配给 elastic network interface 的私有 IP 地址。

  • 仅使用本地网络连接到 MGN。

这修复了在暂存子网中运行的任何实例(例如 MGN 复制服务器或转换服务器)与任何 AWS 服务 在子网中配置了接口终端节点的实例(例如 Amazon EC2、MGN、Systems Manager 等)的连接问题。 AWS KMS

VPC 网关端点

对于 Amazon S3 等服务,由于每个存储桶都有自己的 DNS 名称,因此无法预调配固定的 DNS 名称。在这种情况下,您将使用 VPC 网关端点。 

创建 Amazon S3 网关端点还会创建一个特定的前缀列表对象,其中包含子网目标列表(采用 CIDR 表示法),可以将其添加到子网路由表中。因此,通过内部连接可访问解析为此列表中所包含 IP 地址的 S3 存储桶的 DNS 名称。 

预调配 Amazon S3 网关端点时,您可以指定路由表中应包含该前缀列表 ID(PL-<id>)的子网。生成的暂存私有子网的路由表必须包含该前缀列表 ID,如以下示例路由表所示:

目标位置 Target

pl-<id>

vpce-<id-of-S3-Gateway-VPC-endpoint>

任何其他路由(例如,源子网 CIDR)

任何目标,例如虚拟网关 ID

本地 CIDR

"local"

DNS 解析器入站端点

上一节中描述的配置对于在 AWS 子网内运行的实例来说已经足够了,因为它们已经配置为使用内部 Amazon Route 53 DNS 服务器。但是,本地源服务器需要额外的步骤才能与之 AWS 服务 私下通信。特别是,MGN 代理必须从 Amazon S3 下载安装程序,然后使用文档中提供的 DNS 名称与 MGN 通信。 On-premises 服务器使用其默认 DNS 服务器来解析这些 DNS 名称,从而生成公有 IP 地址。通过 HTTPS/TCP 端口 443 与这些地址的通信最终会被公司防火墙阻止。

为防止这种情况,您需要配置源服务器或其默认 DNS 服务器,以使用 Amazon Route 53 Resolver 解析这些特定的 DNS 名称或子域区域(即完整的 *.<region>.amazonaws.com 区域)。这可以通过创建 R oute 53 Resolver 入站终端节点来配置,该入站终端节点与 VPC 接口终端节点类似,在专用私有子网中创建了一个专用的弹性网络接口 AWS,因此能够将 DNS 请求转发到 Amazon Route 53 Resolver。 

弹性网络接口安全组

每个弹性网络接口都有一个与之关联的专用安全组,该安全组必须允许该弹性网络接口及相应端点的预期流量。因此,DNS 解析器终端节点的安全组应允许入站 UDP 端口 53(有时还有 TCP 端口 53)进行 DNS 请求,而大多数其他服务(MGN、Amazon EC2、Systems Manager 等)的终端节点安全组需要启用入站端 HTTPS/TCP 口 443。

在源服务器上安装 MGN 代理

要在源服务器上安装 MGN 代理,您需要在代理的命令行参数中提供 MGN 和 Amazon S3 接口终端节点的 DNS 名称(请参阅 MGN 文档中的在安全网络上安装代理)。 

对于 MGN 终端节点,您可以使用与之关联的任何 DNS 名称(私有 DNS 字段 (mgn.<region>.amazonaws.com) 或 VPC-specific DNS 名称 (vpce-<VPC-id>-<suffix>.mgn.<region>.vpce.amazonaws.com)),并提供一个参数:。--endpoint <FQDN>实际上,如果您跳过此参数,代理将使用指定的 AWS 区域 来重建默认 DNS FQDN (mgn.<region>.amazonaws.com),并使用 FQDN 访问应用程序迁移服务控制平面。在大多数情况下,只要该 FQDN 从源服务器正确解析为在暂存子网中创建的 MGN VPC 终端节点的 elastic network interface 的私有 IP 地址,则该默认行为就足够了。 

Amazon S3 接口端点不会有一个私有 DNS 名称(因为每个 S3 存储桶都有自己的名称),因此不支持该选项。但是,Amazon S3 接口端点仍有一个与其关联的弹性网络接口。它还具有特定的私有 IP 和通配符 DNS 名称(格式为.vpce-<VPC-ID>-<suffix>.s3.<region>.vpce.amazonaws.com或 Region-specific。 vpce-<VPC-ID>-<suffix>-<region>.s3.<region>.vpce.amazonaws.com) 可以解析到这个私有 IP。

该通配符 DNS 名称可用于 --s3-endpoint 参数,如下所示:

aws-replication-installer-init.py --region <region> --aws-access-key-id <MGN_IAM_ACCESS_KEY>  --aws-secret-access-key <MGN_IAM_SECRET> --no-prompt \ --endpoint vpce-<VPC-id>-<suffix>.mgn.<region>.vpce.amazonaws.com --s3-endpoint vpce-<VPC-ID>-<suffix>-<region>.s3.<region>.vpce.amazonaws.com

下一节提供了配置 MGN(包括所有必需的 VPC 终端节点)以及在 Windows 和 Linux 源服务器上使用 VPC 终端节点部署代理的示例。该章节将介绍手动部署和自动部署。