通过云连接服务实现全球网络互联
[TOC]
基于云连接的全球网络互联解决方案
解决方案介绍
该解决方案解决用户在跨境管理云服务资源进行运维操作时,由于链路远、公网质量不佳导致的命令延时高、操作卡顿、丢包等问题。方案基于云连接,为运维人员建立一条“境内-境外”之间的稳定运维链路(链路默认建立在广州-香港,可调整),两个跳转IP之间实现内网互通。用户可其通过境内、境外两个ip进行接入和跳出,实现跳转至境外公网,进行境外资源的运维,实现合规、安全与稳定的跨境连接。
架构图

架构描述
该解决方案会部署如下资源:
- 在境内region(默认广州)、境外region(默认香港)分别部署一台弹性云服务器作为跳板机,提供SSH登陆其他服务器的通道。
- 分别为两台跳板机服务器绑定公网ip,运维人员可在境内接入广州跳板机、并通过香港跳板机访问境外其他地区待运维资源。
- 云连接打通两个跳板机所在的VPC,实现两个VPC中的资源通过内网互通,更加稳定、安全。
- 通过设置安全组规则,对允许连接服务器的源IP进行策略控制,既能满足运维需要,又能够保护运维环境安全。
例如,运维人员在境内,需要运维海外的资源或平台,则运维人员可以将两台跳板机分别设置在华为云-广州region,以及华为云-香港region,使用云连接将两地的VPC环境内网打通。运维人员通过公网ip登录广州的服务器,再通过ip登录至香港服务器后,即可发送指令管理境外的运维资源。
组织结构
build-a-global-network-connection-solution-based-on-cloud-connectivity
├──variable.tf -- 资源编排模板,用于填写部署资源相关参数,部署前需要用户进行修改
├──main.tf -- 资源编排模板,主函数,无需修改
├──bgp_and_region.tf -- 资源编排模板,无需修改
约束限制
1.该解决方案部署前,需注册华为云账户,完成实名认证,且账号不能处于欠费或冻结状态。 2.方案仅支持完成架构部署的能力,云连接仅创建了跨区域互通的实例,并未包含带宽包。未挂载带宽包时,只提供10kpbs测试带宽进行连通性测试,无法支持实际使用的流量带宽。 3.实际投入业务使用时,建议另外手动在控制台购买及挂载云连接的流量带宽包,购买前需要遵循云连接的使用资质限制,在华为云控制台-网络控制台-云连接-带宽包管理完成相应的资质认证。
部署资源情况
1. 跳板机均为CentOS版本
| 云服务 | 配置示例 |
|---|---|
| 弹性云服务器 ECS-境内(广州)侧 | 规格:X86计算/计算通用型/ s6.medium.2/1Cpu 2GiB |
| 镜像:CentOS 7.9 64bit | |
| 系统盘:通用型SSD 40GB | |
| 弹性云服务器 ECS-ECS-境外(香港)侧 | 规格:X86计算/计算通用型/ s6.medium.2/1Cpu 2GiB |
| 镜像:CentOS 7.9 64bit | |
| 系统盘:通用型SSD 40GB | |
| 弹性公网IP | 计费模式: 按需计费/按带宽计费 |
| 带宽大小:5Mbit/s | |
| 线路:动态bgp | |
| 云连接 | 区域:按两台跳板机所在region进行选择,若广州-香港链路可选择中国大陆-亚太 |
| 计费模式:云连接实例免费提供10kbps测试带宽;可额外购买跨境带宽包:按需计费或带宽包计费 | |
| 安全组 | 入方向放通icmp全部端口,放通源0.0.0.0/0 |
| 入方向放通TCP 22端口,放通源0.0.0.0/0 | |
| 出方向全部放通 |
2. 跳板机均为Windows版本
| 云服务 | 配置示例 |
|---|---|
| 弹性云服务器 ECS-境内(广州)侧 | 规格:X86计算/计算通用型/ s6.large.2/2Cpu 4GiB |
| 镜像:Windows 2019 数据中心版 64bit简体中文 | |
| 系统盘:通用型SSD 40GB | |
| 弹性云服务器 ECS-境外(香港)侧 | 规格:X86计算/计算通用型/ s6.large.2/2Cpu 4GiB |
| 镜像:Windows 2019 数据中心版 64bit简体中文 | |
| 系统盘:通用型SSD 40GB | |
| 弹性公网IP | 计费模式: 按需计费/按带宽计费 |
| 带宽大小:5Mbit/s | |
| 线路:动态bgp | |
| 云连接 | 区域:按两台跳板机所在region进行选择,若广州-香港链路可选择中国大陆-亚太 |
| 计费模式:云连接实例免费提供10kbps测试带宽;可额外购买跨境带宽包:按需计费或带宽包计费 | |
| 安全组 | 入方向放通icmp全部端口,放通源0.0.0.0/0 |
| 入方向放通TCP 3389端口,放通源0.0.0.0/0 | |
| 出方向全部放通 |
3. 调整说明: 1)若需要调整云服务器规格,可在main.tf中的对应代码行修改。(可按main代码备注的说明修改) 2)安全组调整:可根据运维场景需求,在华为云控制台,找到对应的跳板机,放通不同端口
参数填写说明
access_key(必填,String)获取账号AK:如何获取账号的访问密钥AK/SK,默认为空。secret_key(必填,String)获取账号SK:如何获取账号的访问密钥AK/SK,默认为空。region_operation(必填,String)选择运维人员在境内设置的跳板机所在区域,根据:地区和终端节点中的“区域”一栏, 填写至对应的default取值中。若通过广州-香港链路跨境,即可选择华南-广州一节点作为境内出网的跳板机,填写“cn-south-1” (区分大小写,若大小写错误则会部署失败)。默认为“cn-south-1”。region_resource(必填,String)选择设置境外跳板机所在的区域,根据:地区和终端节点中的“区域”一栏, 填写至对应的default取值中。若通过广州-香港链路跨境,即可选择亚太-香港节点作为境外出网的跳板机,填写“ap-southeast-1”(区分大小写,若大小写错误则会部署失败) 。默认为“ap-southeast-1”。OS_type(必填,String)选择两台ECS的操作系统,支持“Windows”或“CentOS”(区分大小写,若大小写错误则会部署为CentOS系统)ecs_operation_admin_pass(必填,String)该方案部署的靠近运维侧人员的ECS的密码,默认为空。ecs_resource_admin_pass(必填,String)该方案部署的靠近待管理资源侧ECS的密码,默认为空。eip_charging_mode(必填,String)弹性IP计费模式,取值为bandwidth(按带宽计费)或traffic(按流量计费)。默认按流量计费。ecs_charging_mode(必填,String)弹性云服务器计费模式,取值为prePaid(包年/包月)或postPaid(按需计费)。默认postPaidecs_charging_unit(选填,String)弹性云服务器及弹性IP订购周期类型,仅当charging_mode为prePaid(包年/包月)生效。取值范围:month(月),year(年)。默认monthecs_charging_period(选填,String)弹性云服务器及弹性EIP订购周期,仅当charging_mode为prePaid(包年/包月)生效。取值范围:period_unit=month(周期类型为月)时,取值为[1,9];period_unit=year(周期类型为年)时,取值为[1,3]。默认为1.
部署指南
步骤 1 获取开源代码。
Windows系统:
- 登录华为云开源解决方案代码仓-“基于云连接的全球网络互联解决方案”.
- 点击右上角“克隆/下载”,选择下方“下载zip”。
- 解压下载后的压缩包,找到“基于云连接的全球网络互联解决方案”文件夹,即为获取到的开源代码。
Linux系统: 使用命令:git clone https://gitee.com/HuaweiCloudDeveloper/solution-as-code.git 将代码clone到本地机器上。
步骤 2 Terraform环境准备: Windows系统:
- 转至https://www.terraform.io/downloads.html,下载适用于本机器的程序包,建议使用1.3.5及更新的版本。(windows_386结尾为32位系统,windows_amd64结尾为64位系统)
- 将程序包解压缩至任意路径(解压缩后为可执行文件),复制该路径。
- 将解压所在的路径设置为环境变量 (控制面板-系统-高级系统设置-环境变量-(系统变量窗格)找到PATH,点击“编辑”-新建,粘贴添加Terraform 可执行文件所在的文件夹路径-点击确定退出“环境变量 ”窗口 – 点击确定退出“系统属性 ”窗口)。 验证配置效果:点击键盘“Win图标键 + R键”进入cmd控制台,输入terraform version指令,返回所下载的terraform版本即为配置成功。
图1 配置terraform成功示例

- 下载华为云privider,v1.42.0版压缩包,下载连接:下载华为云Provider。可参考:加速terraform init 命令。注意选择的操作系统必须与1.中下载的terraform程序包的操作系统保持一致。(32位系统以windows_386结尾,下载版本应为“terraform-provider-huaweicloud_1.42.0_windows_386”;64位系统以windows_amd64结尾,下载版本应为“terraform-provider-huaweicloud_1.42.0_windows_amd64 ”)
- 配置路径,并将上一步中的压缩包解压缩至该路径中。 待配置的路径名为: %APPDATA%\terraform.d\plugins\ local-registry \ huaweicloud \ huaweicloud \1.42.0\ <操作系统版本名>。
图2 进入配置文件操作说明


最终路径示例:32位版本: C:\Users\Administrator\AppData\Roaming\terraform.d\plugins\local-registry\huaweicloud\huaweicloud\1.42.0\windows_386 64位版本: C:\Users\Administrator\AppData\Roaming\terraform.d\plugins\local-registry\huaweicloud\huaweicloud\1.42.0\windows_amd64
验证配置效果:点击键盘“Win图标键 + R键”进入cmd控制台,输入terraform validate指令,返回“Success!”即为配置成功。
图3 路径配置成功示例

Linux系统: 1~3点中terraform软件安装命令见:https://www.terraform.io/downloads 4.下载华为云provoder加速:在下载华为云Provider下载连接:https://github.com/huaweicloud/terraform-provider-huaweicloud/releases 找到与terraform软件系统匹配的压缩包,解压至路径:
# 若为Linux64位系统
~/.terraform.d/plugins/local-registry/huaweicloud/huaweicloud/1.42.0/linux_amd64
# 若为Linux32位系统
~/.terraform.d/plugins/local-registry/huaweicloud/huaweicloud/1.42.0/linux_386
步骤 3 打开variable.tf 文件(可使用记事本打开),填写参数。 可按照本章开始部分的参数填写说明指导表格,将设定值填写至对应项目的default等号右侧取值的双引号内。如图4所示。 填写示例:参数模块以variable+ “ 参数 ” 为开头,例如variable “region_operate”项,需要选择运维人员在境内搭建跳板机的区域,根据:地区和终端节点中的“区域”一栏, 填写至对应的default取值中。如通过广州-香港链路跨境,即可选择广州节点,填写“cn-south-1” (区分大小写,若大小写错误则会部署失败) 。
图4 填写参数示例

步骤 4 进入命令行 选中文件路径(图5),输入cmd, 敲击键盘回车键(图6),进入该路径下的命令行程序(图7)。
图5 选中路径

图6 路径处输入cmd

图7 进入命令行

步骤 5 输入部署命令 在命令框界面依次输入指令:terraform init(用于初始化)、terraform plan(用于查看待部署资源列表)、terraform apply 完成部署(需要输入yes确认部署)。
图8 terraform init 命令

图9 terraform plan 命令

图10-11 terraform apply 命令,确认部署输入yes


图12 部署完成提示

开始使用
步骤 1 登录华为云弹性云服务器控制台,进入云服务器列表。
图13 弹性云服务器控制台

步骤 2 分别查看在两个region创建的弹性云服务器基本信息和绑定的弹性公网IP。
图14 弹性云服务绑定的EIP(境内-广州的服务器)

图15 弹性云服务绑定的EIP(境外-香港的服务器)

步骤 3 开始运维操作 通过本地运维平台远程连接登录到靠近运维人员的弹性云服务器,再利用IP远程登录至靠近云服务资源/本地IDC的弹性云服务器后,即可通过此通道进行资源运维操作。
CentOS系统 用户名默认为root,远程登录命令操作及效果见图16:
- 输入命令:ssh root@1xx.xxx.xx.xxx (此处“xxx.xxx.xxx.xxx”为ECS的ip地址)
- 在显示问题“Are you sure want to continue connecting(yes/no)?” 后,输入yes
- 在提示输入password时,输入部署时所设置的该ECS的登录密码。
图16 远程登录服务器(跳板机使用CentOS系统)

Windows系统 用户名默认为Administrator,远程登录操作及效果见图7-5:
- 打开系统自带“远程桌面连接”软件,输入本方案部署生成的云服务器ip
- 输入用户名Administrator,密码为部署过程中所设置的云服务器密码。
图17-18 远程登录服务器(跳板机使用Windows系统)


【附录1】申请开通按需计费云连接带宽包操作介绍。
通过提交工单申请按需使用云连接带宽包权限操作介绍。(如不使用云连接带宽包或按月购买云连接,不需要进行此步骤)
步骤 1 登录华为云控制台,点击提交工单,进入“新建工单”界面,在输入框内输入“云连接”,选择产品-云连接(CC)
图19 提交工单


步骤 2 问题类型选择“云连接使用及配置”,进入智能客服界面
图20 进入智能客服界面

步骤 3 输入“人工”,创建工单。“问题描述”一栏内容: 开通云连接按需带宽包 华为云账号:xxxxxx 使用场景:跨境运维场景下使用云连接。
图21 人工处理

【附录2】:购买包月带宽包的相关操作。
步骤 1 进入网络控制台-云连接-带宽包管理,右上角“购买带宽包”
图22 购买带宽包

步骤 2 进入购买带宽包界面,选择计费模式(包年包月,若已开通按需付费权限会多出按需付费入口),根据运维人员位置、业务部署地域选择连通的大区。可自行设置带宽和购买时长。绑定本方案生成的(名称为“cc_global_operation”)云连接实例。点击“立即购买”即可。
图23 选择带宽包大区

快速卸载
步骤 1 若已申请购买云连接带宽包,请先手动解绑带宽包。 ①解绑云连接的带宽包 ②若申请购买了按需带宽包,建议在不使用时及时删除按需带宽包。(按需带宽包存在即计费)
步骤 2 移除云连接实例 登录华为云网络控制台-云连接,选择名称为“cc_global_operation”的云连接实例。将实例下的两个VPC全部移除。
图24 云连接控制台-云连接实例

图25 将网络实例(VPC)移除云连接

步骤 3 资源一键删除 在开源代码所在路径下输入cmd进入命令行控制台(参考“第六章.快速部署-步骤4”)。输入命令:terraform destroy 并执行,删除所有资源
图26 执行terraform destroy

图27 输入yes确认删除

图28 删除完成提示
