利用阿里云VPN服务实现HyperMotion SaaS私有云迁移

简介: 目前云原生迁移平台HyperMotion SaaS主要应用场景在公有云上,但是在我们平时的测试场景中,由于上行带宽的限制,每次向公有云同步比较消耗时间,特别是在验证启动流程时,需要等待半天到一天的时间进行数据同步,非常不划算。那么,是否可以将线上VPC与本地的机房网络环境利用VPN隧道打通,实现利用HyperMotion SaaS进行私有云环境的迁移呢?本文就为你分享利用阿里云VPN服务实现上述场景的需求。

目前云原生迁移平台HyperMotion SaaS主要应用场景在公有云上,但是在我们平时的测试场景中,由于上行带宽的限制,每次向公有云同步比较消耗时间,特别是在验证启动流程时,需要等待半天到一天的时间进行数据同步,非常不划算。在我们内部环境中,我们经常测试的一种场景是从VMWare迁移到私有化部署的OpenStack上。但是由于网络的限制不可能将OpenStack及Floating IP资源在公网上一一映射(如果是客户场景,通常是私有化部署的HyperMotion解决)。那么,是否可以将线上VPC与本地的机房网络环境利用VPN隧道打通,实现利用HyperMotion SaaS进行私有云环境的迁移呢?本文就为你分享利用阿里云VPN服务实现上述场景的需求。

需求与场景分析

HyperMotion SaaS是部署在阿里云Kubernetes托管版集群中,即Kubernetes Master节点由阿里云负责,阿里云为我们在指定VPC内启动了两台ECS实例作为Worker节点。在我们自身需求中,需要解决两个流量问题:

  • 控制流:HyperMotion SaaS每个租户可以添加指定的目标云平台,HyperMotion SaaS后台模块通过VPC关联的NAT网关访问云平台API接口及资源,但是如果添加的是我们内部的OpenStack,则需要SaaS侧与OpenStack控制网络想通;另外HyperMotion会自动利用云平台的云主机资源安装云存储网关,所以也需要访问OpenStack Floating IP的地址(具体看云平台规划,也许是Fixed IP)。
  • 数据流:在数据层面上,我们仍然希望数据层面通过内网传输,没有必要将数据流入公网,好在HyperMotion SaaS的设计满足了这样的需求

image.png

所以在这个解决方案中,重点是利用阿里云VPN网关和本地打通后(前提是公司出口路由有固定的公网IP),通过合理的设置路由规则实现我们上述的需求。

注意:文章中使用的截图并非全部都是真实截图,所以在实际配置过程中要根据实际情况进行。

配置流程

配置过程中主要涉及阿里云VPN服务和H3C路由器,基本流程如下:

  • 1、阿里云建立VPN网关,这个最低购买力度是包月
  • 2、拿到阿里云VPN网关后,在路由器上进行相关配置
  • 3、回到阿里云配置用户网关及IPsec连接,查看连接是否成功
  • 4、阿里云侧路由设置

1、阿里云VPN网关配置

VPN需要关联到VPC和交换机上,根据带宽的不同,价格也不同,最低是按照包1个月5 Mbps。

image.png

image.png

2、H3C路由器设置

目前我们机房使用的路由器属于非常入门级的企业级路由器(H3C ER3200G2),但是基本能满足我们的需求了,并且支持IPsec VPN方式。之前一直很惧怕配置IPsec VPN,相较于L2TP等简单方案,配置起来太复杂了。但是经过几次折腾,也基本摸清楚是怎么回事了,真是应了那句话:人类的恐惧来自于无知。

我并不是网络方面的专家,也对IPsec原理没什么研究,我只想记录一下我是怎么配置的。我认为IPsec在配置的时候,最重要的一点是两头配置一样,无法连接往往是由于配置信息不一致导致的。这是一张原理图,加深我们对配置过程的理解。

image.png

H3C配置的基本流程为:虚接口->IKE安全提议->IKE对等体->IPsec安全提议->IPsec安全策略。

2.1、虚接口配置

虚接口应该是定义与外界互连的通道,配置很简单,只要指明对外服务的接口(比如:WAN1)就可以了。

image.png

2.2、IKE安全提议

IKE是因特网密钥交换的缩写(Internet Key Exchange),从名字上可以猜出这与互联网进行交换数据时加密有关。验证算法和加密算法一定要与对端配置一致,关于DH组,每一个平台选项不一样,比如截图中叫DH2 modp1024,到了阿里云就叫做group2了,所以也必须要配置一致。

image.png

阿里云侧DH组选项

image.png

2.3、IKE对等体

和对端的VPN网关进行连接,对端IP是需要首先在对端建立VPN网关后,会得到相应的地址,填入即可。

image.png

协商模式上,阿里云的配置是英文的,主模式叫做main,而野蛮模式被称为aggresive。

image.png

共享密钥是自定义的,两端必须一致,DPD阿里云默认是开启的,而H3C上是关闭的,保持统一即可。

2.4、IPsec安全提议

按照我粗浅的认知,IKE主要负责两端连接,同时简化了IPsec交互,而真正的数据交互还是要在IPsec上进行控制。所以要对IPsec也要进行相应的安全配置。安全协议类型,我们选择了默认的ESP,阿里云侧默认也应该采用的是此协议。在配置对端时,仍然是保持一致即可。

image.png

2.5、IPsec安全策略

这一步最关键的是本地子网IP和对端子网IP及掩码的设置,双方是相反的,如果本地是192.168.0.0/24,源端是172.16.0.0/24。则在阿里云侧的配置就是本地是172.16.0.0/24,远端是192.168.0.0/24。

image.png

还有一个就是PFS的设置,和IKE的DH组是一样的,在阿里云侧也被称为IPsec的DH组。也必须设置一致。

image.png

3、阿里云IPsec连接配置

3.1、用户网关设置

用户网关设置比较简单,只要在阿里云测配置你路由的公网IP即可。

image.png

3.2、IPsec连接

这是最关键的一步,经常在这一步配置失败,提示在第一阶段或者第二阶段失败,目前在我遇到的情况中,基本都是上述配置不一致导致的。配置过程基本分为三个阶段,基本配置、高级配置中的IKE配置和IPsec配置。

3.2.1 基本配置

注意图中标出的本端网络、对端网络和预共享密钥的配置,一定要填对。

image.png

3.2.2 IKE配置

点开下方的高级设置,能够看到IKE和IPsec设置。

配置只要按照我们在H3C的配置选择相应的内容即可,LocalId和RemoteId都是自动根据VPN填写的,并不需要输入。

image.png

3.2.3 IPsec配置

图中标注的选项一定要保持一致,提交配置后,等待连接。

image.png

3.3、查看连接状态

如果连接状态为第二阶段协商成功,就证明VPN已经建立成功,否则请检查配置,多半是由于配置不一致导致的。

image.png

4、设置路由

我们次此设置路由的目的是为了阿里云侧能够访问我们内网,所以接下来需要在阿里云VPC内设置路由表,当访问我们的内网时,需要使用VPN网关。进入VPC服务的路由表配置中,找到VPC。将目标IP段吓一跳设置为VPN网关。因为阿里云的ACL还处于内测阶段,所以暂时无须考虑ACL的设定。

image.png

总结

网络对于未来混合云的场景有至关重要的作用,本文重点描述的是以VPN方式来打通云上和云下环境,但是VPN最大的带宽规格只有200 Mbps,如果真实的需求更大,则需要考虑云联网,通过运营商底层基础设施,实现不同云之间的互联互通。


目录
相关文章
|
1月前
|
Arthas 弹性计算 运维
阿里云ECS监控服务
阿里云ECS监控服务
401 2
|
1月前
|
监控 网络协议 API
阿里云BssOpenAPI是一个基于阿里云开放API的服务
【2月更文挑战第24天】阿里云BssOpenAPI是一个基于阿里云开放API的服务
136 6
|
1月前
|
自然语言处理
阿里云百炼大模型服务--企业知识检索问答指南
阿里云百炼提供的企业知识检索问答应用可以帮助大家实现让大模型瞬间“开挂”的技能。结合上传的知识数据,大模型识别解析学习文档内容,最终给出生成式回复。我们在通义千问-Turbo/Max大模型基础上,将文件上传、读取、切片、向量化等过程都开发好预置在应用中,实现开箱即用,更能满足您的日常需求。
|
7天前
|
网络协议 Java 物联网
阿里云服务器上搭建 MQTT服务
阿里云服务器上搭建 MQTT服务
|
7天前
|
域名解析 网络协议 应用服务中间件
阿里云服务器配置免费https服务
阿里云服务器配置免费https服务
|
29天前
|
SQL 数据可视化 Apache
阿里云数据库内核 Apache Doris 兼容 Presto、Trino、ClickHouse、Hive 等近十种 SQL 方言,助力业务平滑迁移
阿里云数据库 SelectDB 内核 Doris 的 SQL 方言转换工具, Doris SQL Convertor 致力于提供高效、稳定的 SQL 迁移解决方案,满足用户多样化的业务需求。兼容 Presto、Trino、ClickHouse、Hive 等近十种 SQL 方言,助力业务平滑迁移。
阿里云数据库内核 Apache Doris 兼容 Presto、Trino、ClickHouse、Hive 等近十种 SQL 方言,助力业务平滑迁移
|
1月前
|
NoSQL 关系型数据库 数据库
数据传输服务DTS(Data Transmission Service)是阿里云提供的实时数据流服务
【2月更文挑战第29天】数据传输服务DTS(Data Transmission Service)是阿里云提供的实时数据流服务
18 5
|
1月前
|
关系型数据库 MySQL 数据库
使用阿里云的数据传输服务DTS(Data Transmission Service)进行MySQL 5.6到MySQL 8.0的迁移
【2月更文挑战第29天】使用阿里云的数据传输服务DTS(Data Transmission Service)进行MySQL 5.6到MySQL 8.0的迁移
220 2
|
1月前
|
人工智能 IDE API
灵动指尖 :阿里云智能编码插件 更好的为IDE内置社区服务
灵动指尖 :阿里云智能编码插件 更好的为IDE内置社区服务
|
1月前
|
人工智能 数据可视化 API
阿里云百炼大模型服务--流程编排接入快速上手指南
流程编排是一种面向开发者的可视化开发工具,支持LLM、API、脚本等类型节点,旨在简化接入大型语言模型(LLM)流程,同时提供应用流程的全生命周期管理,包括流程的编排、试验、部署等,为开发者提供自定义AI应用开发一站式服务。