跨云应用部署第一步:使用IPSEC VPN连接AWS中国版和Windows Azure中国版
随着公有云的普及,越来越多的客户将关键应用迁移到云端。但是事实证明,没有哪家云服务提供商可以提供100%的SLA,无论是例行维护还是意外中断服务,对于客户的关键应用而言,都会受到不同程度的影响。此外,不同的云服务提供商,其提供的云服务也存在较大的差异化,包括云服务和产品的功能、质量、收费模式等方面。客户选择多样化的、最适合的、性价比最高的云服务和产品来满足自己的业务需求是必然的趋势。公有云应用占比越高的客户,其跨云应用部署的需求也越大——都不想把鸡蛋放在一个篮子里,或者是被某个云服务提供商绑架。
跨云应用部署,首先要解决网络连接问题。尽管可以通过ACL来控制网络连接,但是关键、敏感数据的传输总是要走加密隧道的,否则无法满足安全合规要求。虽说各大公有云提供商都号称自己是开放的云平台(实质上也基本是这样的,少数国内厂商除外),但也绝对不可能开放到允许友商的专线接入到自己的数据中心!目前,能实现安全跨云互联的,也只有VPN方案可以选择了。
接下来,我们试着将Windows Azure中国版和AWS中国版通过IPSEC VPN连接起来。
Windows Azure中国版端配置:
Windows Azure中国版提供了IPSEC VPN接入服务,即:site to site VPN。在配置方面,与使用硬件防火墙/路由器连接到on-premises的数据中心没有区别。
1、新建一个虚拟网络并分配内网地址段,内网地址段不要和AWS中国版的VPC地址段有冲突。不要勾选启用point to site VPN。
2、新建一个本地网络,网关填写AWS中国版端EC2上绑定的elastic ip,地址段为EC2所在的VPC的subnet地址段。
3、在虚拟网络配置中勾选site to site VPN。
4、创建一个静态网关,一定要是静态网关,OpenSwan不支持动态网关。
创建网关比较慢,大约需要等待20分钟左右。
AWS中国版端配置:
由于AWS中国版目前还不提供IPSEC VPN接入功能,虽然在VPC中能创建Virtual Private Gateway,也能将创建的Virtual Private Gateway绑定的VPC,但是Customer Gateway和VPN Connection两项是不可见的。因此我们只能使用运行Linux的EC2实例来作为IPSEC VPN接入网关。这里我们选用一个运行Ubuntu 14.04 LTS x64的t2.micro实例。如果是生产环境可以适当提升EC2实例的配置,但不需要太高,例如:m1.small。软件推荐OpenSwan,免费、配置相对简单,兼容性好。当然,如果条件允许或者有特殊的需求,可也可以使用支持AWS EC2部署的商业版软件VPN方案,例如Cisco CSR 1000V、VNS3等。
1、创建一个VPC并在其中创建subnet,地址段不要和Windows Azure中国版端虚拟网络的内网地址发生冲突。
2、为VPC配置(创建或指定)internet gateway和route table。
3、创建一个运行Ubuntu 14.04 LTS x64的t2.micro EC2实例,并将该实例放到上一步创建的VPC中。
4、为EC2实例配置(创建或指定)security group,elastic ip和固定的内网地址。
5、将EC2实例设置为:Disable Source/Destination Check。
6、在VPC的route table中加入一条路由记录,destination:Windows Azure中国版端虚拟网络的内网地址段,target:上一步创建的EC2实例的ID。
7、通过SSH登陆到创建好的EC2实例中,安装和配置OpenSwan:
更新操作系统
sudo apt-get update
安装OpenSwan
sudo apt-get install openswan
编辑配置文件
sudo vim /etc/ipsec.conf
将以下内容复制到配置文件中
version 2.0 # conforms to second version of ipsec.conf specification
config setup
dumpdir=/var/run/pluto/
nat_traversal=yes
virtual_private=%v4: #AWS端EC2实例所在的内网地址段
oe=off
protostack=netkey
conn azure-cn
authby=secret
auto=start
type=tunnel
left=10.11.2.237 #AWS端EC2实例的内网地址
leftsubnet= #AWS端EC2实例所在的内网地址段
leftnexthop=%defaultroute
right=42.159.xxx.xxx #Windows Azure端VPN Gateway的公网地址
rightsubnet= #Windows Azure端虚拟网络的内网地址段
#ike=3des-sha1-modp1024,aes128-sha1-modp1024 #Windows Azure中国版需要注释掉这一行,Microsoft Azure国际版保留这一行。
esp=3des-sha1,aes128-sha1
pfs=no
编辑配置文件sudo vim /etc/ipsec.secrets
按照以下格式在配置文件中添加一行[AWS端EC2实例的内网地址] [Windows Azure端VPN Gateway的公网地址] : PSK "[Windows Azure端提供的VPN共享密钥]"示例:10.11.2.237 42.159.xxx.xxx : psk "XgtX5rfhMeann9C4mLpnj7VwPia"
编辑配置文件,启用IP转发sudo vim /etc/sysctl.conf去掉net.ipv4.ip_forward=1一行前面的注释(#)
执行命令使IP转发生效sudo sysctl -p /etc/sysctl.conf
重新启动ipsec服务sudo ipsec secretssudo service ipsec restart
查看ipsec服务状态sudo service ipsec status
如果一切正常的话,可以看到AWS端IPSEC tunnel已经成功建立,在Windows Azure端site to site VPN的连接状态也是正常联通的(绿色的连接线)。在AWS端可以使用内网地址ping通Windows Azure端的虚拟机。
简单的做了一个测试,通过IPSEC VPN连接后,使用scp从AWS中国版cn-north-1的虚拟机上下载Windows Azure中国版china north虚拟机上的文件,速度能达到10MB/s,基本上是跑满了Windows Azure standard VPN Gateway所能提供的速度。看起来AWS中国版和Windows Azure中国版的网络互联互通效果还是很不错的。

跨云应用部署第一步:使用IPSEC VPN连接AWS中国版和Windows Azure中国版的更多相关文章
- 跨云厂商部署 k3s 集群
原文链接:https://fuckcloudnative.io/posts/deploy-k3s-cross-public-cloud/ 最近一两年各大云服务商都出了各种福利活动,很多小伙伴薅了一波又 ...
- windows azure中国 里面建立一个虚拟机,与虚拟机建立通信 里面部署IIS,外网访问
在windows azure中国 里面建立一个虚拟机,里面部署IIS,外网不能访问么? 外网访问的地址是给的那个DNS地址 ,比如我的是 DNS 名称 urbanairserver.cloudapp. ...
- Openstack(企业私有云)万里长征第一步——安装
一.前言 单位新进了十几台服务器,建了一个高标准的一体化机房,状似刘姥姥进大观园的我,从机房规划到企业私有云搭建一一重头学来,除了机房泥墙其他基本都涉猎到了. 从企业私有云这个名字就能看出这是多么复杂 ...
- Windows Azure案例分析: 选择虚拟机或云服务?
作者 王枫 发布于2013年6月27日 随着云计算技术和市场的日渐成熟,企业在考虑IT管理和运维时的选择也更加多样化,应用也从传统部署方式,发展为私有云.公有云.和混合云等部署方式.作为微软核心的公有 ...
- 实现跨云应用——基于DNS的负载均衡
“公有云可以作为传统IT资源的延展,能帮助客户应对不断变化的需求”——这是我们在向客户介绍公有云产品时经常说的一句话.我们来看一个具体的需求: 某客户有一个web站点,部署在自有的数据中心(on-pr ...
- 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序
原文 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 Jim ...
- 网站部署到Windows Azure Website上
使用CSDN Code将网站部署到Windows Azure Website上 在云计算时代,开发和部署应该是完全统一和集成的.在海外,开发者可以用github来管理他们的代码,并且直接部署到Wind ...
- 使用CSDN Code将网站部署到Windows Azure Website上
在云计算时代,开发和部署应该是完全统一和集成的.在海外,开发者可以用github来管理他们的代码,并且直接部署到Windows Azure上.随着Windows Azure在国内的发布,我们发现,其实 ...
- Windows Azure Camp---漫步云端,创意无限
不再需要一系列繁杂的网银密码,一键搞定所有的支付:与朋友约会时通过实时分享地理位置迅速找到对方,这些都可以在WindowsAzure平台得以实现.在刚刚结束的2013年微软学生夏令营中,来自全国30所 ...
随机推荐
- QT QTableView用法小结
QTableView常用于实现数据的表格显示.下面我们如何按步骤实现学生信息表格: 一 添加表头 //准备数据模型 QStandardItemModel *student_model = new QS ...
- Redis所需内存 超过可用内存怎么办
爬虫和转载请注明原文地址:博客园蜗牛 http://www.cnblogs.com/tdws/p/5727633.html Redis所需内存 超过可用内存怎么办 Redis修改数据多线程并发—Red ...
- ul li设置横排,并除去li前的圆点
效果预览:http://hovertree.com/texiao/css/ 如何用CSS制作横向菜单 让ul li横向排列及圆点处理 我们先建立一个无序列表,来建立菜单的结构.代码是: <ul& ...
- 强大的自适应jQuery焦点图特效
jQuery焦点图切换自适应效果 自适应jQuery焦点图特效是一款支持移动端的响应式jQuery焦点图插件,支持flexible布局,支持移动触摸事件等. 今天我们要来分享一款很灵活的jQuery焦 ...
- 再次推荐一款逼真的HTML5下雪效果
再次推荐一款逼真的下雪效果 效果图: 效果描述:之前推荐过一款下雪的jQuery插件之前的那款下降速度比较缓慢,今天推荐的这个下降速度比较快,大雪哇 使用方法:1.将index.html中的样式复制到 ...
- System.Diagnostics.Process.Start的妙用
我们经常会遇到在Winform或是WPF中点击链接或按钮打开某个指定的网址, 或者是需要打开电脑中某个指定的硬盘分区及文件夹, 甚至是"控制面板"相关的东西, 那么如何做呢? 答案 ...
- zigbee 路由节点丢失后清除 该节点的残余网络信息
清除脱离网络的 路由节点(stale device)的 残留在各表中以AssociationDevList为例的残余信息. 如图所示拓扑结构中: 路由器1脱离网络后,通过协调器按键操作来 清除 协调 ...
- InteliJ Shortcuts
Open your browser with documentation for the element at the editor's caret Press Shift+F1 (View | Ex ...
- 基于 Eclipse 的 MapReduce 开发环境搭建
文 / vincentzh 原文连接:http://www.cnblogs.com/vincentzh/p/6055850.html 上周末本来要写这篇的,结果没想到上周末自己环境都没有搭起来,运行起 ...
- Spring声明事务管理
首先我们先了解事务,什么是事务? 简单来说就是要么全部成功,要么什么都不做. 为什么要使用事务? 比如说常用银行系统的例子,如果没有用事务,有人在存入钱的时候出了问题,那么银行系统数据库的数据没有改变 ...