本文会引导你在 Azure 与 AWS Amazon Web Services 之间设置已启用 BGP 的连接。 你将使用已启用 BGP 和主动-主动模式的 Azure VPN 网关,以及具有两个站点到站点连接的 AWS 虚拟专用网关。
体系结构
在此设置中,你会创建以下资源:
蔚蓝
- 一个虚拟网络
- 一个已启用主动-主动模式和 BGP 的虚拟网络网关
- 四个本地网络网关
- 四个站点到站点连接
AWS
- 一个虚拟私有云 (VPC)
- 一个虚拟专用网关
- 两个客户网关
- 两个站点到站点连接,各自具有两个隧道(总共四个隧道)
AWS 上的站点到站点连接有两个隧道,各自具有自己的外部 IP 地址和内部 IPv4 CIDR(用于 BGP APIPA)。 主动-被动 VPN 网关仅支持一个自定义的 BGP APIPA。 需要在 Azure VPN 网关上启用主动-主动模式,才能连接到多个 AWS 隧道。
在 AWS 端,你会为两个 Azure VPN 网关实例中的每个实例创建客户网关和站点到站点连接(总共四个传出隧道)。 在 Azure 中,需要创建四个本地网关和四个连接来接收这四个 AWS 隧道。
选择 BGP APIPA 地址
可以在本教程中将以下值用于 BGP APIPA 配置。
| 隧道 | Azure 自定义 Azure APIPA BGP IP 地址 | AWS BGP 对等 IP 地址 | AWS 内部 IPv4 CIDR |
|---|---|---|---|
| AWS 隧道 1 到 Azure 实例 0 | 169.254.21.2 | 169.254.21.1 | 169.254.21.0/30 |
| AWS 隧道 2 到 Azure 实例 0 | 169.254.22.2 | 169.254.22.1 | 169.254.22.0/30 |
| AWS 隧道 1 至 Azure 实例 1 | 169.254.21.6 | 169.254.21.5 | 169.254.21.4/30 |
| AWS 隧道 2 到 Azure 实例 1 | 169.254.22.6 | 169.254.22.5 | 169.254.22.4/30 |
还可以设置自己的自定义 APIPA 地址。 对于每个隧道,AWS 需要一个位于 APIPA 范围 169.254.0.0/16 内的 /30 IPv4 CIDR 号段。 此 CIDR 还必须处于 VPN 的 Azure 保留 APIPA 范围中,该范围从 169.254.21.0 到 169.254.22.255 。 AWS 使用 /30 内部 CIDR 中 的第一个 IP 地址,Azure 使用第二个 IP 地址。 这意味着,需要在 AWS /30 CIDR 中为两个 IP 地址保留空间。
例如,如果将 AWS 的内部 IPv4 CIDR设置为169.254.21.0/30,AWS 将使用 BGP IP 地址169.254.21.1,而 Azure 使用 IP 地址169.254.21.2。
重要
- APIPA 地址不得在本地 VPN 设备与所有已连接 Azure VPN 网关之间重叠。
- 如果选择在 VPN 网关上配置多个 APIPA BGP 对等地址,还必须使用所选的相应 IP 地址配置所有连接对象。 如果您未能执行此操作,无论存在多少个 IP,所有连接都会使用列表中的第一个 APIPA IP 地址。
先决条件
必须同时具有带活动订阅的 Azure 帐户和 AWS 帐户。 如果还没有 Azure 订阅,可以注册一个试用帐户。
在 Azure 中创建双活 VPN 网关
创建虚拟网络
创建虚拟网络。 可以参阅站点到站点教程了解具体步骤。 在本练习中,我们使用以下示例值:
| 设置 | 价值 |
|---|---|
| Subscription | 如果有多个订阅,请验证是否使用了正确的订阅。 |
| 资源组 | TestRG1 |
| 名称 | VNet1 |
| 位置 | 中国北部 3 |
| IPv4 地址空间 | 10.1.0.0/16 |
| 子网名称 | FrontEnd |
| 子网地址范围 | 10.1.0.0/24 |
创建具有 BGP 的主动-主动 VPN 网关
在本节中,您将创建双活 VPN 网关。 可以参阅站点到站点教程了解具体步骤。 当您到达本教程的“配置”部分时,请使用以下设置启用 BGP 和主动-主动模式。 在本练习中,我们使用以下示例值:
| 设置 | 价值 |
|---|---|
| 姓名 | VNet1GW |
| 区域 | 中国北部 3 |
| 网关类型 | VPN |
| VPN 类型 | 基于路由 |
| SKU | VpnGw2AZ |
| Generation | 第 2 代 |
| 虚拟网络 | VNet1 |
| 网关子网地址范围 | 10.1.1.0/24 |
| 公共 IP 地址 | 新建 |
| 公共 IP 地址名称 | VNet1GWpip |
| 可用区 | 区域冗余 |
| 启用主动-主动模式 | 已启用 |
| 第二个公共 IP 地址 | 新建 |
| 公共 IP 地址 2 名称 | VNet1GWpip2 |
| 可用区 | 区域冗余 |
| BGP 设置 | 价值 |
|---|---|
| 配置 BGP | 已启用 |
| ASN (自治系统编号) | 65000(示例值,必须与 AWS 使用的 ASN 不同) |
| 自定义 Azure APIPA BGP IP 地址 | 将两个地址添加到“自定义 Azure APIPA BGP IP 地址”。 包含从您选择的 APIPA 配置中获取的AWS 隧道 1 到 Azure 实例 0和AWS 隧道 2 到 Azure 实例 0的 IP 地址。 第二个输入仅在添加第一个 APIPA BGP IP 地址后才显示。 示例:169.254.21.2、169.254.22.2 |
| 第二个自定义 Azure APIPA BGP IP地址 | 将两个地址添加至“第二个自定义 Azure APIPA BGP IP 地址”。 请根据您选择的APIPA 配置,包含“AWS 隧道 1 到 Azure 实例 1”和“AWS 隧道 2 到 Azure 实例 1”的 IP 地址。 在您添加第一个 APIPA BGP IP 地址后,第二个输入框才会出现。 示例:169.254.21.6、169.254.22.6 |
创建网关通常需要 45 分钟或更长的时间,具体取决于所选的网关 SKU。 可以在网关的“概述”页上查看部署状态。
若要查看分配给网关的公共 IP 地址,请转到虚拟网络网关门户页面 “设置 -> 属性”。
连接到您的 AWS VPN 网关
在此部分中,你会从 AWS 连接到 Azure VPN 网关。 有关更新的说明,请始终参阅官方 AWS 文档。
创建 VPC
使用下面的值和最新 AWS 文档创建 VPC。
| 设置 | 价值 |
|---|---|
| 名称 | VPC1 |
| CIDR 块 | 10.2.0.0/16 |
确保 CIDR 块不会与在 Azure 中创建的虚拟网络重叠。
创建虚拟专用网关
使用下面的值和最新 AWS 文档创建虚拟专用网关。
| 设置 | 价值 |
|---|---|
| 名称 | AzureGW |
| ASN | Amazon 默认 ASN (64512) |
| Vpc | 附加到VPC1 |
如果选择使用自定义 ASN,请确保它与 Azure 中使用的 ASN 不同。
启用路由传播
使用最新 AWS 文档在虚拟专用网关上启用路由传播。
创建客户网关
使用下面的值和最新 AWS 文档创建两个客户网关。
| 网关 1 设置 | 价值 |
|---|---|
| 名称 | ToAzureInstance0 |
| 路由 | 动态 |
| BGP ASN | 65000 (Azure VPN 网关的 ASN) |
| IP 地址 | Azure VPN 网关的第一个公共 IP 地址。 |
| 网关 2 设置 | 价值 |
|---|---|
| 名称 | ToAzureInstance1 |
| 路由 | 动态 |
| BGP ASN | 65000 (Azure VPN 网关的 ASN) |
| IP 地址 | Azure VPN 网关的第二个公共 IP 地址。 |
可以在虚拟网络网关的“配置”部分中找到 Azure 上的“公共 IP 地址”和“第二个公共 IP 地址” 。
创建站点到站点 VPN 连接
使用下面的值和最新 AWS 文档创建两个站点到站点 VPN 连接。
| 连接 1 设置 | 价值 |
|---|---|
| 名称 | ToAzureInstance0 |
| 目标网关类型 | 虚拟专用网关 |
| 虚拟专用网关 | AzureGW |
| 客户网关 | 现存 |
| 客户网关 | ToAzureInstance0 |
| 路由选项 | 动态 (需要 BGP) |
| 本地 IPv4 网络 CIDR | 0.0.0.0/0 |
| IP 版本内隧道 | IPv4 |
| 在隧道 1 的 IPv4 CIDR 范围内 | 169.254.21.0/30 |
| 隧道 1 的预共享密钥 | 选择安全密钥。 |
| 隧道 2 的 IPv4 CIDR 内部 | 169.254.22.0/30 |
| 隧道 2 的预共享密钥 | 选择安全密钥。 |
| 启动操作 | Start |
| 连接 2 设置 | 价值 |
|---|---|
| 名称 | ToAzureInstance1 |
| 目标网关类型 | 虚拟专用网关 |
| 虚拟专用网关 | AzureGW |
| 客户网关 | 现存 |
| 客户网关 | ToAzureInstance1 |
| 路由选项 | 动态 (需要 BGP) |
| 本地 IPv4 网络 CIDR | 0.0.0.0/0 |
| IP 版本内隧道 | IPv4 |
| 在隧道 1 的 IPv4 CIDR 范围内 | 169.254.21.4/30 |
| 隧道 1 的预共享密钥 | 选择安全密钥。 |
| 隧道 2 的 IPv4 CIDR 内部 | 169.254.22.4/30 |
| 隧道 2 的预共享密钥 | 选择安全密钥。 |
| 启动操作 | Start |
对于 隧道 1 的内部 IPv4 CIDR 和 隧道 2 的内部 IPv4 CIDR,两者的连接请参阅 所选的 APIPA 配置。
从 Azure 连接到 AWS 客户网关
接下来,将 AWS 隧道连接到 Azure。 对于这四个隧道中的每个,将会有本地网络网关和站点到站点连接。
重要
对您四个 AWS 隧道中的每个隧道,使用各自的外部 IP 地址重复以下部分。
创建本地网络网关
使用以下值创建每个本地网络网关。 有关步骤,请参阅 创建本地网络网关。 请确保根据所选的 APIPA 配置为每个隧道使用正确的 外部 IP 地址 和 BGP 对等 IP 地址 ,重复这些步骤以创建每个本地网关。
| 设置 | 价值 |
|---|---|
| 名称 | 新本地网关的名称。 |
| 终结点 | IP地址。 |
| IP 地址 | 要连接到的 AWS 隧道的外部 IP 地址(而不是 BGP 对等 IP 地址)。 |
| 地址空间 | 留空。 |
| “高级”选项卡 | 配置 BGP 设置: 是 |
| 自治系统编号 (ASN) | AWS 虚拟专用网络的 ASN。 如果将您的 ASN 保留为 AWS 默认值,请使用 ASN 64512。 |
| BGP 对等 IP 地址 | 根据 所选的 APIPA 配置输入 AWS BGP 对等 IP 地址。 |
创建连接
在本部分中,将为每个 AWS 隧道创建站点到站点连接。 创建连接时,请确保选择与要连接的隧道对应的本地网络网关,并根据所选的 APIPA 配置输入正确的 BGP 对等 IP 地址。 有关步骤,请参阅 “创建连接”。
重复这些步骤以创建每个所需的连接。
在 “基本信息 ”页上,完成以下设置:
“基本信息”页 价值 连接类型 站点到站点 (IPsec) 名称 输入连接的名称。 示例:AWSTunnel1toAzureInstance0。 在 “设置” 页上,完成以下设置:
设置页面 价值 虚拟网络网关 选择 VPN 网关。 本地网络网关 选择创建的本地网络网关。 共享密钥 (PSK) 输入与在建立 AWS 连接时输入的预共享密钥匹配的共享密钥。 启用 BGP 选择以启用。 启用自定义 BGP 地址 选择以启用。 在“自定义 BGP 地址”下:
- 根据选择的 APIPA 配置输入自定义 BGP 地址。
- 自定义 BGP 地址(AWS 中的内部 IPv4 CIDR)必须与用于此连接的本地网络网关中指定的 IP 地址(AWS 中的外部 IP 地址)匹配 。
- 只会使用两个自定义 BGP 地址中的一个,具体取决于所指定的隧道。
- 从 AWS 连接到 VPN 网关的第一个公共 IP 地址(实例 0)时,仅使用主自定义 BGP 地址。
- 当从 AWS 连接到您的 VPN 网关(实例 1)的第二个公共 IP 地址时,仅使用辅助自定义 BGP 地址。
- 将另一个自定义 BGP 地址保留为默认值。
如果使用默认 APIPA 配置,则可以使用以下地址:
隧道 主用自定义 BGP 地址 次要自定义 BGP 地址 到 Azure 实例 0 的 AWS 隧道 1 169.254.21.2 不使用(选择 169.254.21.6) 到 Azure 实例 0 的 AWS 隧道 2 169.254.22.2 不使用(选择 169.254.21.6) AWS 隧道 1 到 Azure 实例 1 不使用(选择 169.254.21.2) 169.254.21.6 到 Azure 实例 1 的 AWS 隧道 2 不使用(选择 169.254.21.2) 169.254.22.6 配置下列设置:
设置 价值 FastPath 保留默认值(未选中)。 IPsec/IKE 策略 违约 使用基于策略的流量选择器 禁用 DPD 超时(以秒为单位) 保留默认值。 连接模式 可以选择任何可用选项(默认、仅发起方、仅响应方)。 有关详细信息,请参阅 VPN 网关设置 - 连接模式。 保存设置,查看配置,并创建连接。 重复这些步骤以创建其他连接。
在继续下一部分之前,对于四个 AWS 隧道中的每个隧道,请验证你是否具有本地网络网关和连接。
检查连接的状态
这些步骤是可选的,但有助于验证连接是否正常工作。
在 Azure 上检查连接状态
打开 虚拟网络网关 的页面并导航到 “连接” 页。
验证所有 4 个连接是否都显示为“已连接”。
在 Azure 上检查 BGP 对等状态
打开 虚拟网络网关 的页面并导航到 BGP 对等 页。
在“BGP 对等体”表中,验证所有与您指定的对等地址的连接均显示为“已连接”,且正在进行路由交换。
在 AWS 上检查连接状态
- 打开 Amazon VPC 控制台
- 在导航窗格中,选择“站点到站点 VPN 连接”。
- 选择建立的第一个连接,然后选择“隧道详细信息”选项卡。
- 验证两个隧道的状态是否显示为UP。
- 验证两个隧道的“详细信息”是否显示一个或多个 BGP 路由。
后续步骤
有关 VPN 网关的详细信息,请参阅FAQ。