随着公有云技术的日臻完善,越来越多的政府部门、事业单位、企业、个人将自己的IT系统部署在公有云之上。在公有云之上部署业务系统有一个特点,就是先要规划网络,有了网络以后,才能把一些相关的产品部署在网络里(有些公有云的产品或者组件是不需要提前规划网络的,例如对象存储,这里主要考虑的是需要网络的组件,例如云主机)。

公有云的网络一般叫VPC(Virtual Private Cloud),用户可以在自己的账户下创建多个VPC,可VPC和VPC之间是怎么通信的?又如何实现呢?我们这篇文章讨论的就是VPC之间的连通性,通过这篇文章大家可以了解到如何快捷、简便地实现VPC之前的通信。

京东云私有网络(Virtual Private Cloud,简称VPC),是京东云公有云上自定义的逻辑隔离的网络空间,与数据中心搭建的传统网络类似,此私有网络空间由用户完全掌控,支持自定义网段划分、路由策略等。用户可以在VPC内创建和管理多种云产品,如云主机、负载均衡等,同时可配置网络内的资源连接Internet。

下面我们就来搭建一下测试的环境,首先需要搭建两个VPC,然后分别在两个VPC里创建子网。为了测试连通性,我们还需要创建两个云主机,通过两个云主机相互之间ping对方来查看。

整个测试环境的搭建主要分为如下步骤:

  • 创建第一个VPC

  • 在第一个VPC下创建子网

  • 在子网下创建云主机

  • 创建第二个VPC

  • 在第二个VPC下创建子网

  • 在第二个子网下创建云主机

  • 创建VPCpeering,并配置路由规则

  • 测试云主机内网的连通性,以及提供公网联通的网络延时比较

接下来,让我们根据上面的大纲,一步一步的完成测试环境的搭建。

一、创建第一个VPC

登录京东云并打开控制台
选择”网络”->“私有网络”->“私有网络(VPC)

点击右侧的按钮“创建”

在弹出的创建窗口输入VPC的相关信息
我们这里选择10.10.0.0/16用于本实验

地域:京东云公有云现在有四个地域可以选择“华北-北京” “华南-广州” “华东-宿迁” “华东-上海”(根据业务所在的地理位置,选择相应的地域)

名称:用户可以根据需要,自行输入相应的名称(名称不可为空,只支持中文、数字、大小写字母、英文下划线“_”及中划线“-”,且不能超过32字符)

CIDR: 目前私有网络支持三个网段的内网IP:10.a.0.0/Mask(a属于0至255)、172.b.0.0//Mask(b属于16至31)、192.168.0.0/Mask ,CIDR 的mask支持在16至28之间

描述:根据需要自行决定

二、在第一个VPC下创建子网

登录京东云公有云
打开控制台
选择”网络”->“私有网络”->“子网

在右侧点击按钮“创建”:

输入子网的信息,详细信息如图:

三、在子网下创建云主机

登录京东云公有云
打开控制台
选择”弹性计算”->“云主机”->”实例”

右侧按钮”创建“;(请选择“按配置“创建云主机,这样在不使用的时候,可以随时删除,如果选择”包年包月“,需要等包年包月到期以后才能删除相应的资源。)

输入云主机需要的信息,如图所示,点击右侧按钮”立即购买“,根据提示完成购买即可。

四、创建第二个VPC

第二个VPC创建和第一个VPC创建的基本过程和第一个基本上是一样的,这里不再赘述。要注意一下,两个VPC的CIDR不能重复,因为一旦重复,两个VPC将不能做VPCpeering,会有路由的问题产生。

五、创建第二个子网

创建第二个子网也和上面提到的创建过程一样,只不过在选择VPC的时候,选择第二个VPC,CIDR选择第二个VPC的一个CIDR子集。

六、创建第二个云主机

此处创建第二个云主机的时候和上面创建云主机过程一样,但是VPC和子网,要选择VPC2和subnet2。

七、创建VPCpeering,并配置路由规则

登录京东云公有云
打开控制台
选择”网络”->“私有网络”->“VPC对等连接”

点击右边的按钮“创建”:

输入相应的信息,这里是先建立一个VPC1到VPC2的连接,等一下还要建一个VPC2到VPC1的连接。所以这里的本端VPC是VPC1,对端是VPC2,VPC2的ID可以在VPC2的基本信息里看到。

VPC2的基本信息如下:

创建完成以后会提示更改路由配置,选择前往配置:

我们点开VPC1的默认路由表:

编辑路由策略,新增一条路由,目的端是VPC2的CIDR,下一跳选择vpc对等连接,下一跳选择我门创建的VPCpeering1,然后保存即可。

用同样的步骤,建立VPC2到VPC1的连接,并更改路由策略(这里不再赘述)。

八、测试云主机内网的连通性VPC1内的云主机信息如下

VPC2内的云主机信息如下:

SSH通过公网IP登录VPC1里的第一个云主机,然后ping一下第二个云主机的内网IP,可以看到ping通了,而且延时很小:

通用用第二个云主机ping一下第一个云主机:

至此我们实现了两个VPC之间的内网互通,目前了解到VPCpeering只能实现相同Region之间的联通,或者相同Region的不同用户的VPC互通。

总结

其实在业内常有关于“经典网络”与VPC的探讨。关于“经典网络”的安全问题探讨也让广大开发者对VPC有了更多的了解。如果拿“经典网络”与VPC进行比较来看,通过VPC,用户可以自由定义网段划分、IP地址和路由策略。同时,在安全方面,VPC可提供网络ACL及安全组的访问控制,更加的灵活性和安全。

VPC可适用于对安全隔离性要求较高的业务、托管多层web应用、弹性混合云部署等使用场景中,符合金融、政企等行业的强监管、数据安全要求。

无论是业内人士,还是厂商的产品规划中,都不难看到VPC更加被业界推崇,已逐渐成为网络市场的主流应用。

欢迎点击“链接”了解更多精彩内容

点击“阅读原文”可了解更多关于VPC的信息。

干货 | VPC之间的网络连通实践的更多相关文章

  1. 20169214 2016-2017-2 《网络攻防实践》第十一周实验 SQL注入

    20169214 2016-2017-2 <网络攻防实践>SQL注入实验 SQL注入技术是利用web应用程序和数据库服务器之间的接口来篡改网站内容的攻击技术.通过把SQL命令插入到Web表 ...

  2. <网络攻防实践> 课程总结20169216

    课程总结20169216 每周作业链接汇总 第一周作业:Linux基础入门(1-5).基本概念及操作 第二周作业:linux基础入门(6-11).网络攻防技术概述网络攻防试验环境搭构.Kali教学视频 ...

  3. zabbix使用fping监控任意两个节点之间的网络质量、丢包率和响应时间

    zabbix使用fping监控任意两个节点之间的网络质量.丢包率和响应时间 之前的博文 使用zabbix3..4的ICMP Ping模版实现对客户端网络状态的监控 https://www.cnblog ...

  4. 如何配置 VirtualBox 中的客户机与宿主机之间的网络连接

    如何配置 VirtualBox 中的客户机与宿主机之间的网络连接 作者: Aaron Kili 译者: LCTT rusking | 2017-03-01 13:40   评论: 3 收藏: 3 当你 ...

  5. 判断是否网络连通 .net Ping

    using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using S ...

  6. PHP网络爬虫实践:抓取百度搜索结果,并分析数据结构

    百度的搜索引擎有反爬虫机制,我先直接用guzzle试试水.代码如下: <?php /** * Created by Benjiemin * Date: 2020/3/5 * Time: 14:5 ...

  7. Dockers(29)- 网络连通

    网络连通 背景 基于docker0建了两个容器tomcat01和tomcat02,网段位于172.12.0.0/16 我们又新建了一个网络,网段为192.168.0.0/16,基于此网段新建了两个容器 ...

  8. 干货 | 20多门AI网络课程资源(附链接+PDF)

    现如今,在火爆的人工智能领域,面临的最窘迫的问题是越来越庞大的产业规模和国家每年约500万的相关人才需求的矛盾.广阔的发展前景.巨大的人才缺口和令人心动的行业薪资,让越来越多的年轻人选择了进入这一行业 ...

  9. 干货 | 京东技术中台的Flutter实践之路

    在 2019 年,Flutter 推出了多个正式版本,支持的终端越来越多,使用的项目也越来越多.Flutter 正在经历从小范围尝鲜到大面积应用的过程,越来越多的研发团队加入到 Flutter 的学习 ...

随机推荐

  1. 012.Oracle数据库,字符串文本大小写转换,转大写,转小写,首字母大写

    /*转大写*/ SELECT UPPER(TITLE_EN) FROM ME_EO WHERE ( ISSUE_DATE BETWEEN to_date( '2017-02-04', 'yyyy-MM ...

  2. leetcode1305 All Elements in Two Binary Search Trees

    """ Given two binary search trees root1 and root2. Return a list containing all the i ...

  3. Django(七)模型:字段属性、字段选项(参数)

    一.模型类属性命名限制 参考:https://docs.djangoproject.com/zh-hans/3.0/topics/db/models/ 1)不能是python的保留关键字. 2)不允许 ...

  4. js数字排序方法

    function bubbleSort(arr){ var flag = false; // 定义一个变量为false,未交换位置 for(var i=0;i<arr.length-1;i++) ...

  5. HihoCoder第六周:01背包问题

    01背包问题大二的时候就接触过了,几行关键代码自己也都看过很多遍了,但是很多代码一直都没能理解.所以今天拿表来好好地画一画,弄懂其中的动态规划究竟什么含义. 1038 : 01背包 时间限制:2000 ...

  6. 031-PHP获取图像信息

    <?php list($width, $height, $type, $attr) = getimagesize("plane.jpg"); echo "宽度为:& ...

  7. 016-PHP读取文件常见属性

    <?php print("文件的所有者(UID 值):"); print(fileowner("data.txt") . "<br> ...

  8. RabbitMQ整合Spring Booot【消费者补偿幂等问题】

    如果消费者 运行时候 报错了 package com.toov5.msg.SMS; import org.springframework.amqp.rabbit.annotation.RabbitHa ...

  9. Ubuntu14.04 无法关机 SpamAssassin speech-dispatcher

    在ubuntu14.04上安装完一些包后,关闭计算机就会出现关于标题中的两个错误. 1.在软件中心卸载spamAssassin 2.运行命令: sudo update-rc.d -f speech-d ...

  10. JavaScript的函数和对象介绍

    一.JavaScript中的函数 1.函数的概述 JavaScript中的函数是一段可执行代码的合集,在需要执行的时候可以在方法名之后添加一对小括号执行方法.是一段可执行的字符串. 2.函数中隐藏的属 ...