你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文会引导你在 Azure 与 AWS Amazon Web Services 之间设置已启用 BGP 的连接。 你将使用已启用 BGP 和主动-主动模式的 Azure VPN 网关,以及具有两个站点到站点连接的 AWS 虚拟专用网关。
体系结构
在此设置中,你会创建以下资源:
Azure
- 一个虚拟网络
- 一个已启用主动-主动模式和 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 |
---|---|---|---|
到 Azure 实例 0 的 AWS 隧道 1 | 169.254.21.2 | 169.254.21.1 | 169.254.21.0/30 |
到 Azure 实例 0 的 AWS 隧道 2 | 169.254.22.2 | 169.254.22.1 | 169.254.22.0/30 |
到 Azure 实例 1 的 AWS 隧道 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 在 CIDR 中使用 /30 的第一个 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 订阅,可以激活 MSDN 订户权益或注册获取免费帐户。
第 1 部分:在 Azure 中创建主动-主动 VPN 网关
创建 VNet
创建虚拟网络。 可以参阅站点到站点教程了解具体步骤。
在本练习中,我们使用以下示例值:
- 订阅:如果有多个订阅,请确保使用正确的订阅。
- 资源组:TestRG1
- 名称:VNet1
- 位置:美国东部
- IPv4 地址空间:10.1.0.0/16
- 子网名称:FrontEnd
- 子网地址范围:10.1.0.0/24
创建具有 BGP 的主动-主动 VPN 网关
在本部分中,你将创建主动-主动 VPN 网关。 可以参阅站点到站点教程了解具体步骤。
在本练习中,我们使用以下示例值:
名称:VNet1GW
区域:美国东部
网关类型:VPN
VPN 类型:基于路由
SKU:VpnGw2AZ
代系:第 2 代
虚拟网络:VNet1
网关子网地址范围:10.1.1.0/24
公共 IP 地址:新建
公共 IP 地址名称:VNet1GWpip
可用性区域:区域冗余
启用主动-主动模式:已启用
第二个公共 IP 地址:新建
公共 IP 地址 2 名称:VNet1GWpip2
可用性区域:区域冗余
BGP 值:配置 BGP 时,请注意以下设置:
对于“配置 BGP”选择“已启用”,以显示 BGP 配置部分 。
填写“自治系统编号(ASN)”。 此 ASN 必须与 AWS 使用的 ASN 不同。
- 示例:65000
将两个地址添加到“自定义 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 地址”。 包括AWS 隧道 1 到 Azure 实例 1以及AWS 隧道 2 到 Azure 实例 1的 IP 地址,这些都来自您选择的APIPA 配置。 只有在你添加了第一个 APIPA BGP IP 地址后,第二个输入项才会出现。
- 示例:169.254.21.6、169.254.22.6
选择“查看 + 创建” ,运行验证。 验证通过后,选择“创建” 以部署 VPN 网关。 创建网关通常需要 45 分钟或更长的时间,具体取决于所选的网关 SKU。 可以在网关的“概述”页上查看部署状态。
若查看分配给网关的公共 IP 地址,请转到门户中的虚拟网络网关,然后导航到“设置”->“属性”。
第 2 部分:从 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 的预共享密钥:选择安全密钥
- 启动操作:启动
站点到站点连接 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 的预共享密钥:选择安全密钥
- 启动操作:启动
对于两个连接的“隧道 1 的内部 IPv4 CIDR”和“隧道 2 的内部 IPv4 CIDR”,请参阅选择的 APIPA 配置。
第 3 部分:从 Azure 连接到 AWS 客户网关
接下来,将 AWS 隧道连接到 Azure。 对于这四个隧道中的每个隧道,你同时具有本地网络网关和站点到站点连接。
重要
对您的四个 AWS 隧道中的每个隧道使用其各自的外部 IP 地址重复以下部分。
创建本地网络网关
重复这些说明以创建每个本地网关。
在 Azure 门户中,从市场中导航到“本地网络网关”资源,然后选择“创建”。
选择与您用于创建虚拟网络网关相同的“订阅”、“资源组”和“区域”。
为本地网络网关输入名称。
将“IP 地址”保留为“终结点”的值 。
对于 IP 地址,请输入要创建的隧道的 外部 IP 地址(来自 AWS)。
将“地址空间”留空,然后选择“高级” 。
在“高级”选项卡上,配置以下设置:
- 对于“配置 BGP 设置”选择“是” 。
- 对于“自治系统编号 (ASN)”,请输入您 AWS VPN 的 ASN。 如果您将 ASN 保留为 AWS 默认值,请使用 ASN 64512。
- 对于 BGP 对等 IP 地址,请根据您选择的 APIPA 配置输入 AWS BGP 对等 IP 地址。
创建连接
重复这些步骤以创建每个所需的连接。
打开虚拟网络网关的页面,导航到“连接”页面 。
在“连接”页面,选择“+ 添加”。
在“基本信息”页面,完成以下值:
- 连接类型:站点到站点 (IPsec)
- 名称:输入连接的名称。 示例:AWSTunnel1toAzureInstance0。
在“设置”页面,完成以下值:
- 虚拟网关:选择 VPN 网关。
- 本地网关:选择创建的本地网关。
- 输入与建立 AWS 连接时输入的预共享密钥匹配的共享密钥(PSK)。
- 启用 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) 到 Azure 实例 1 的 AWS 隧道 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 隧道中的每个隧道,请验证你是否具有本地网络网关和连接。
第 4 部分:(可选)检查连接状态
在 Azure 上检查连接状态
打开虚拟网络网关的页面,导航到“连接”页面 。
验证所有 4 个连接是否都显示为“已连接”。
在 Azure 上检查 BGP 对等状态
打开您的虚拟网络网关页面,导航到BGP 对等体页面。
在“BGP 对等机”表中,验证具有指定的对等地址的所有连接是否都显示为“已连接”,并且正在交换路由。
在 AWS 上检查连接状态
- 打开 Amazon VPC 控制台
- 在导航窗格中,选择“站点到站点 VPN 连接”。
- 选择建立的第一个连接,然后选择“隧道详细信息”选项卡。
- 验证两个隧道的“状态”是否显示为“正常运行”。
- 验证两个隧道的“详细信息”是否显示一个或多个 BGP 路由。
后续步骤
有关 VPN 网关的详细信息,请参阅FAQ。