<!-- AI_TASK_START: AI标题翻译 -->
[解决方案] 使用 AWS Client VPN 和 AWS Site-to-Site VPN 构建安全的多云访问
<!-- AI_TASK_END: AI标题翻译 -->
<!-- AI_TASK_START: AI竞争分析 -->
# 解决方案分析
## 解决方案概述
本文详细描述了使用 **AWS Client VPN** 和 **AWS Site-to-Site VPN** 构建安全多云访问的解决方案。该方案针对多云策略中的常见挑战,包括整合并购后云环境、不同业务单元的技术偏好、高度监管行业的合规要求,以及确保数据可移植性和互操作性。核心目标是提供安全、可扩展的无缝访问,解决 **访问管理**、**网络复杂性** 和 **安全及运营** 挑战。技术原理基于 **OpenVPN** 协议和 IPsec 加密,建立加密连接,实现用户从 AWS 访问其他云平台的资源,如 Microsoft Azure,确保私有网络连接。
## 实施步骤
1. **Azure VPN 配置**
- 创建虚拟网络:在 Azure 门户中,搜索并创建虚拟网络,选择适当资源组和区域。
- 创建网关子网:在虚拟网络中添加专用子网(命名为“GatewaySubnet”,CIDR 为 /27 或更大)。
- 创建虚拟网络网关:启用 active-active 模式,获取公共 IP 地址,用于后续 AWS 客户网关配置。
- 创建本地网络网关:定义 VPN 对等 IP 和地址空间,并禁用 BGP 设置。
- 创建连接:在虚拟网络网关中添加 Site-to-Site 连接,使用 AWS 配置文件的预共享密钥。
2. **AWS VPN 和 Client VPN 设置**
- 创建客户网关:在 AWS VPC 控制台中使用 Azure 虚拟网络网关的公共 IP 地址创建客户网关。
- 创建并附加虚拟私有网关:创建虚拟私有网关并将其附加到 VPC。
- 创建 Site-to-Site VPN 连接:选择静态路由,指定 IP 前缀,并下载配置文件用于 Azure 端配置。
- 创建 Client VPN 端点:配置端点设置,包括客户端 IPv4 CIDR、服务器证书和互认证书。
- 关联 Client VPN 端点:将端点关联到 VPC 子网,并更新路由表以路由流量到 Azure 子网。
- 添加授权规则:设置安全组和网络 ACL 以控制访问。
3. **验证和测试**
- 连接 Client VPN:在客户端软件中导入 .ovpn 文件并连接。
- 测试连通性:使用 ping 命令验证到 AWS 和 Azure 资源的端到端连接。
## 方案客户价值
- **简化访问管理**:通过统一认证系统减少多云环境的碎片化,提高用户体验,并降低安全风险,与传统多云方案相比,提供更一致的访问控制。
- **降低网络复杂性**:实现可靠的路由和连接,减少 IT 团队的管理负担,确保性能一致性。
- **增强安全和运营效率**:整合多个安全边界和合规要求,减少运营开销,支持数字主权,相比竞品如 Azure VPN Gateway,提供更无缝的 AWS 集成。
- **业务灵活性**:支持并购整合和行业特定需求,如监管合规,实现资源可移植性。
## 涉及的相关产品
- **AWS Client VPN**:一个可扩展的托管 VPN 服务,提供用户端点,支持 OpenVPN 连接,用于安全访问 AWS 和其他云资源。
- **AWS Site-to-Site VPN**:托管服务,建立加密连接,将 AWS 与其他云(如 Azure)或本地数据中心连接。
- **Amazon VPC**:虚拟私有云,提供隔离的网络环境,作为流量路由的基础。
- **AWS Transit Gateway**(可选):用于路由流量,连接 Client VPN、Site-to-Site VPN 和 VPC,实现多云网络集成。
## 技术评估
- **先进性**:方案利用 **IPsec** 和 **OpenVPN** 等成熟技术,提供可扩展的多云连接,领先于传统 VPN 在多云场景下的灵活性,支持 active-active 高可用性。
- **可行性**:依赖标准先决条件(如 AWS 和 Azure 账户),实施步骤清晰,适用于各种云提供商,但需要基础的 VPN 和网络知识,可能面临初始配置复杂性。
- **适用范围**:适合多云策略的企业,尤其在并购、合规和混合环境,但限制于互联网传输,可能在高延迟场景下影响性能;优势在于安全最佳实践(如 MFA 和证书认证),提升了整体安全性。
- **优势**:无缝集成 AWS 服务,减少管理开销;限制:数据传输成本和依赖外部云配置,可能增加复杂性。
<!-- AI_TASK_END: AI竞争分析 -->
<!-- AI_TASK_START: AI全文翻译 -->
# 使用 AWS Client VPN 和 AWS Site-to-Site VPN 构建安全的多云访问
**原始链接:** [https://aws.amazon.com/blogs/networking-and-content-delivery/building-secure-multicloud-access-with-aws-client-vpn-and-aws-site-to-site-vpn/](https://aws.amazon.com/blogs/networking-and-content-delivery/building-secure-multicloud-access-with-aws-client-vpn-and-aws-site-to-site-vpn/)
**发布时间:** 2025-06-26
**厂商:** AWS
**类型:** BLOG
---
在当今快速演变的云环境 中,企业越来越采用多云 (Multicloud) 策略,出于以下几个引人注目的原因。并购后,公司需要整合并维护双方组织现有的云解决方案。企业内部的不同业务部门往往有不同的技术需求和专长,导致他们偏好特定的云提供商。对于高度监管的行业,合同义务可能要求使用特定的云提供商。此外,企业采用多云 (Multicloud) 以满足合规要求和数字主权法规,确保不同云服务提供商之间的适当可移植性和互操作性。多云 (Multicloud) 部署提供了许多好处,但也带来了新的挑战。具体来说,它使跨不同云环境的负载安全和访问管理变得复杂。
本文探讨如何结合使用 [AWS Client VPN](https://aws.amazon.com/vpn/client-vpn/) 和 [AWS Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) 来建立安全、可扩展且无缝的访问,适用于跨多个云平台的负载。我们将逐步介绍架构、配置步骤以及最佳实践,以设置一个可靠的多云 VPN 解决方案,该方案扩展到其他云提供商和需要安全私人网络连接的网络目标。
在深入探讨解决方案架构之前,我们将探索实现跨多个云平台安全访问的基本要素。AWS Client VPN 和 AWS Site-to-Site VPN 是我们解决方案的核心,并作为启用跨云环境安全远程访问的基础。
### 服务简述
我们从本解决方案中使用的 AWS 服务总结开始。
AWS Client VPN 是一个可扩展的、全托管的 VPN 服务。它为用户提供一个端点,使用基于 OpenVPN 的 VPN 客户端软件建立与 AWS 网络的secure连接。通过正确的网络配置,用户可以连接到 AWS Client VPN 以访问 AWS 和本地资源。
AWS Site-to-Site VPN 是一个托管服务,用于在您的数据中心或分支机构与 AWS 云资源之间创建secure、加密的连接。
本文假设您对 AWS Client VPN 和 AWS Site-to-Site VPN 有基础了解。如需更多信息或详细解释,请参考以下文档。
* [AWS Client VPN](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html)
* [AWS Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
### 多云挑战
采用多云 (Multicloud) 策略的企业通常面临三个关键挑战:
* **访问管理**:管理跨云的多重认证系统和安全策略,导致访问控制不一致和复杂的用户 onboarding 过程。这种碎片化可能损害安全性和用户体验。
* **网络复杂性**:不同云提供商的网络模型和路由要求导致性能不一致,并增加管理复杂性。IT 团队无法维护统一的网络结构,同时确保可靠的连接。
* **安全和运维**:团队必须管理多个安全边界、合规要求和运维工具,跨不同云环境。这种碎片化增加了运维开销,并使安全监控复杂化。
### 解决方案概述
以下图示概述了解决方案。

图 1: 使用虚拟私人网关 (Virtual Private Gateway) 实现 AWS 与第三方云提供商之间的连接
### 多云 VPN 架构中的流量流
1. 最终用户通过 AWS Client VPN 端点发起连接,以访问托管在第三方云中的应用程序。
2. AWS Client VPN 端点接收流量,并将其路由到关联的 [Amazon VPC (Amazon Virtual Private Cloud)](https://aws.amazon.com/vpc/) 子网中。
3. Amazon VPC 将流量路由到子网中的实例,或转发到第三方云。
4. 发往第三方云的流量通过虚拟网络网关 (Virtual Network Gateway) 发送,并在互联网上secure传输。
5. 第三方云的虚拟网络网关 (Virtual Network Gateway) 接收流量,并将其转发到云中的负载服务器。
6. 第三方云中的负载服务器处理请求,并通过 VPN 连接发送响应。
7. 返回流量通过虚拟网络网关 (Virtual Network Gateway) 流经互联网,进入 VPC,然后到达最终用户。
### 先决条件
要实施该解决方案,您需要以下先决条件:
– 一个具有管理权限的 AWS 账户
– 访问 [Microsoft Azure 账户](https://azure.microsoft.com/en-us/pricing/purchase-options/azure-account) 或其他云平台以扩展连接
– 在本地机器上安装 AWS 提供的或与 OpenVPN 兼容的客户端软件
– 对 VPN 概念和 AWS 网络服务有基本熟悉
### 实施步骤
本文使用 Microsoft Azure 演示解决方案,但它适用于所有云提供商和网络。请参考各自文档获取特定实施步骤。VPN 实施过程分为两个部分:
1. Azure VPN 配置
2. AWS VPN 和 AWS Client VPN 设置
**步骤 1: Microsoft Azure 配置步骤**
首先,我们配置 Azure IPsec VPN,以获取用于在 AWS 中创建客户网关 (Customer Gateway) 的公网 IP 地址。
**1. 在 Microsoft Azure 中设置 AWS Site-to-Site VPN**
**A. 在 [Microsoft Azure 门户](https://azure.microsoft.com/en-us/get-started/azure-portal) 上创建虚拟网络**
* 使用 Azure 账户登录 [Azure 门户](https://portal.azure.com/),如以下图示所示。
* 搜索 **Virtual networks**,然后选择 **Create virtual network**。
* 选择正确的 [资源组](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/manage-resource-groups-portal)。
* 为您的虚拟网络输入名称,并选择 [AWS 区域](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/)。

图 2: 使用 Microsoft Azure 门户创建虚拟网络
**B. 创建网关子网**
* 转到您创建的虚拟网络。从搜索栏搜索 Virtual Network,然后选择先前创建的虚拟网络,例如 Multicloud-Access,如以下图示所示。
* 在左侧,选择 **Subnets**。
* 在页面顶部,选择 + **Gateway Subnet**。
虚拟网络网关 (Virtual Network Gateway) 必须部署在名为 ‘GatewaySubnet’ 的专用子网中。此子网必须在您的虚拟网络 IP 地址范围内创建,Azure 会将其识别为网关虚拟机 (VM) 和服务的指定空间。请注意,名称 ‘GatewaySubnet’ 是强制性的,不能更改。
网关子网必须为 /27 或更大 (/26、/25 等)。只能创建一个网关子网,且创建后不能修改。

图 3: 使用 Microsoft Azure 门户创建网关子网
**C. 创建虚拟网络网关**
* 在 Azure 搜索栏搜索 **Virtual Network Gateways**,如以下图示所示。
* 创建 **Virtual Network Gateways**。

图 4: 使用 Microsoft Azure 门户创建虚拟网络网关
要使用两个隧道,请启用 **active-active 模式**。
公网 IP 地址可以在虚拟网络网关门户的概述页面上找到,如以下图示所示。一旦获取此 IP 地址,您就可以继续在 AWS 端配置客户网关 (Customer Gateway)。

图 5: Microsoft Azure 门户上用于客户网关的公网 IP
**步骤 2: AWS 配置步骤**
**2. 设置 AWS Site-to-Site VPN**
**A. 在 [Amazon VPC 控制台](https://console.aws.amazon.com/vpc/) 中使用 Microsoft Azure VPN 的公网 IP 地址创建客户网关**
* 在导航窗格中,选择 **Customer gateways**,如以下图示所示。
* 选择 **Create customer gateway**。

图 6: 使用控制台创建客户网关
**B. 创建虚拟私人网关**
* 在导航窗格中,选择 **Virtual private gateways**,如以下图示所示。
* 选择 **Create virtual private gateway**。

图 7: 使用控制台创建虚拟私人网关
**2B. 将虚拟私人网关附加到您的 VPC**
* 选择您创建的虚拟私人网关,然后选择 **Actions, Attach to VPC**,如以下图示所示。
* 对于 **Available VPCs**,选择您的 VPC,然后选择 **Attach to VPC**。

图 8: 使用控制台将虚拟私人网关附加到虚拟私人云
**C. 创建 AWS Site-to-Site VPN 连接并向 Microsoft Azure 资源组添加静态路由**
* 在导航窗格中,选择 **Site-to-Site VPN connections**,如以下图示所示。
* 选择 **Create VPN connection**。
* 对于 **Target gateway type**,选择 **Virtual private gateway**。然后,选择您在前一步中创建的虚拟私人网关。
* 对于 **Customer gateway**,选择 **Existing**,然后从先前步骤中的客户网关 ID 中选择您创建的客户网关。
* 根据您的 [用例](https://docs.aws.amazon.com/vpn/latest/s2svpn/vpn-static-dynamic.html) 选择一种路由选项,在本示例中我们使用了 **Static** 路由。
* 对于 **Static IP Prefixes**,指定 VPN 连接的私人网络每个 IP 前缀。
* 选择 **Create VPN connection**。创建 VPN 连接可能需要几分钟时间。

图 9: 使用控制台创建 AWS Site-to-Site VPN
**D. 下载通用配置文件,用于配置 Microsoft Azure 端 VPN 连接**

图 10: 使用控制台下载 VPN 配置文件
如需更多详细步骤,请遵循我们的分步配置指南:[开始使用 AWS Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/SetUpVPNConnections.html)。
从 VPN 控制台复制隧道 1 IP 地址,以完成配置并在 Microsoft Azure 端创建本地网络网关,如上图所示。
**E. 在 [Microsoft Azure 门户](https://portal.azure.com/#home) 中创建本地网络网关,并定义 VPN 对等 IP (VPN 外部 IP 地址) 和 VPC CIDR 的地址空间**
* 搜索 **Local Network Gateway** > 创建本地网络网关,如以下图示所示。
* 确保选择正确的资源组。
* 区域:虚拟网络创建的位置,例如“East US”。
* 名称:您可以将其命名为 Multicloud-Access 或 AWSTunnel 1 IP。
* IP 地址:AWS 隧道 1 公网 IP (**3.91.x.x**)。
* 地址空间:AWS VPC CIDR (**172.31.0.0/16**)。
* 在 **Advanced Tab** 上,对于静态 VPN,确保 **禁用 BGP 设置**。
* 选择 **Review + Create > Create**。

图 11: 使用 Azure 管理控制台创建本地网络网关
为高可用性,重复步骤 E 以为隧道 2 创建另一个本地网络网关。
如果您要配置两个 IPsec 隧道,请确保在创建 Azure 虚拟网络网关时启用 Active-Active 模式。
**F. 在虚拟网络网关上创建连接**
* 从主页菜单中选择已创建的 **Virtual Network Gateways** Multicloud-Access,如以下图示所示。
* 在左侧展开 **Settings** 并选择 **connections**。
* 从 **+ Add** 添加 VPN 连接。
* 资源组:**在步骤 1 中创建的**。
* 连接类型:选择 **Site-to-site (Ipsec)**。
* 名称:**Tunnel1**。
* 区域:**East US**。

图 12: 使用 Microsoft Azure 门户在虚拟网络网关上创建连接
**2F. 导航到 Settings 选项卡,并从 AWS 可下载配置文件中添加预共享密钥**

图 13: 使用 Azure 管理控制台在虚拟网络网关上创建连接
重复步骤 F 和 2F 以为 **隧道 2** 创建另一个连接,如上图所示。
**G. 验证状态以检查 VPN 隧道是否已建立。**
AWS 端的隧道显示为 **UP**,如以下图示所示。

图 14: 控制台上的 VPN 隧道状态
Microsoft Azure 端的隧道显示为 **Connected**,如以下图示所示。

图 15: Azure 管理控制台上的 Azure VPN 隧道状态
**3: 设置 AWS Client VPN**
**A. 在控制台中创建 AWS Client VPN 端点**
a. 导航到 VPC 控制台并选择 **Client VPN Endpoints**,如以下图示所示。
b. 选择 **Create Client VPN Endpoint**:使用您的网络信息和所需的认证方法配置 VPN 端点设置。在本示例中,我们已将 AWS Client VPN 端点配置为通过 [mutual authentication](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/mutual.html) 进行认证。
– 名称标签:Multi-Cloud-ClientVPN
– 客户端 IPv4 CIDR:192.168.100.0/22
– 服务器证书 ARN:选择或 [从 AWS Certificate Manager (ACM)](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) 导入证书。
– 认证选项:选择 **Mutual authentication** 并选择客户端证书。
– DNS 服务器:指定您首选的 DNS 服务器或使用 AWS 提供的 DNS。
c. 选择 **Create client VPN endpoint**。

图 16: 使用控制台创建 AWS Client VPN 端点

图 17: 使用控制台创建 AWS Client VPN 端点
**B. 将 AWS Client VPN 端点与 VPC 关联**
将 AWS Client VPN 端点关联到 VPC 中的一个子网,以允许用户访问托管在该 VPC 中的 AWS 资源。

图 18: 使用控制台关联 AWS Client VPN 目标网络
**C. 整合 VPN 解决方案**
要将 AWS Client VPN 与 AWS Site-to-Site VPN 整合,请执行以下步骤,如以下图示所示:
a. 更新 AWS Client VPN 端点路由表,以通过 AWS Site-to-Site VPN 连接包含到 Microsoft Azure 子网的路由。
b. 修改安全组和网络 ACL 以允许 AWS Client VPN 用户与 Microsoft Azure 资源之间的流量。
c. 如果使用 [AWS Transit Gateway](https://aws.amazon.com/transit-gateway/),请确保其配置为在 AWS Client VPN、AWS Site-to-Site VPN 和相关 VPC 之间路由流量。

图 19: 使用控制台向 AWS Client VPN 路由表添加路由

图 20: 使用控制台向 AWS Client VPN 路由表添加路由
**D. 添加授权规则**
设置授权规则以访问 Microsoft Azure 负载或其他您要访问的网络。

图 21: 使用控制台添加 AWS Client VPN 授权规则

图 22: 使用控制台添加 AWS Client VPN 授权规则
### 验证设置
完成配置后,您必须从客户端机器通过 AWS Client VPN 测试到 AWS 和 Microsoft Azure 资源的连接。
**测试的先决条件**
– 在测试机器上安装 AWS 提供的或 OpenVPN 客户端软件
– 从 AWS Client VPN 端点下载客户端 VPN 配置文件 (.ovpn)
– 安装有效的客户端证书(如果使用 mutual authentication)
### 测试步骤
**1. 连接到 AWS Client VPN:**
– 打开您的 OpenVPN 客户端。如需更多详细步骤,请遵循我们的分步配置 [指南](https://docs.aws.amazon.com/vpn/latest/clientvpn-user/connect-aws-client-vpn-connect.html)。
– 导入 .ovpn 配置文件。
– 连接到 VPN 端点。
– 验证您收到来自 AWS Client VPN CIDR 范围 (192.168.100.0/22) 的 IP 地址。
**2. 测试端到端连接:**
从已连接 AWS Client VPN 的机器中,测试以下内容:
***# 检查分配的 IP
**ipconfig (Windows) 或 ifconfig (Linux/Mac)*
**# 测试到 AWS 资源的连接
***ping <aws-private-ip>*
成功的 ping 输出表示网络连接正常。
**# 测试到 Microsoft Azure 资源的连接
***ping <azure-private-ip>*
成功的 ping 输出表示网络连接正常。
### 安全最佳实践
实施以下最佳实践,以增强多云 VPN 解决方案的安全性:
1. ***多因素认证 (MFA)***:与 [AWS Directory Service](https://aws.amazon.com/directoryservice/) 整合 MFA 以加强用户认证。
2. ***基于证书的认证***:使用 ACM Private Certificate Authority (CA) 颁发和管理 AWS Client VPN 证书。
3. ***最小权限访问***:使用安全组和网络 ACL 定义细粒度访问策略。
4. ***监控和日志记录***:使用 [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) 监控 VPN 活动并检测可疑行为。
5. ***定期审计***:定期审查 VPN 配置和访问日志。
### 注意事项
实施此解决方案时,请考虑以下成本因素:
– AWS Client VPN 端点关联成本
– 流量穿越 AWS VPN、AWS Client VPN 和 Azure VPN 的数据传输成本
– AWS Site-to-Site VPN 连接小时数
### 结论
通过整合 AWS Client VPN 与 AWS Site-to-Site VPN,企业可以构建一个安全、可扩展且高效的多云访问解决方案。这种方法简化了 AWS 与第三方云提供商之间的连接,为远程用户提供无缝访问,同时确保强大的安全控制。
如需更多信息,请参考以下资源:
· [AWS Client VPN 管理员指南](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html)
· [AWS Site-to-Site VPN 用户指南](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
* * *
### 作者介绍
**

Saransh Burman** 是 AWS 的资深解决方案架构师。他与 AWS 客户合作,提供架构指导,并帮助他们使用广泛的 AWS 服务在 AWS 上构建。Saransh 热衷于帮助客户采用 AWS 用于他们的用例,并使用 AWS 服务进行创新。
**

Narinder Singh** 是 Amazon Web Services, Inc. 的资深支持工程师和网络专家。他与客户合作设计、排除故障并实施基于云的架构。他喜欢与客户合作,并拥有乔治梅森大学计算机系统网络和电信硕士学位,专攻计算机网络。
**

**Arshdeep Grover** 是 AWS 的资深云支持工程师,拥有网络设备专长。他乐于与客户合作排除复杂的技术问题、识别性能改进、成本优化和弹性机会,并设计现代云架构。Arshdeep 对自动化充满热情,积极使用 Python 脚本简化工作流程。
<!-- AI_TASK_END: AI全文翻译 -->