【概念】

虚拟私有网络(Virtual Private Cloud,简称 VPC),是云计算网络端最重要的概念之一,它是指构建在云上的、相互隔离的、用户可以自主控制的私有网络环境。虚拟私有网络有时也称为专有网络(阿里云)或虚拟网络(Virtual Network 或 VNet,Azure 的叫法)。私有网络就是一张属于你自己的内网。内网之内的服务器和设备,可以比较自由地互相通信,与外界默认是隔离的。如果外部互联网,或者其他虚拟网络需要连接,则需要额外的配置。一些重要的概念和平时我们网络中常用到的也一样,比如:网络、子网、路由表、网管、安全组。他们的功能上其实和传统网络是一样的,只不过作用在虚拟网络上。

【实验--创建VPC】

1、创建专有网络,,配置交换机的时候,可以看到,选择不同的分区,其实就是不同的“机房”。这是 VPC 的一个强大的特性,能够为我们私有网络的高可用性提供保障。比如,你可以让主力集群在一个可用区工作,备用集群在另一个可用区随时待命,需要时迅速切换;你也可以把流量同时分发到不同的可用区,动态控制分发策略;

2、配置好以后,查看交换机。这里我又更新了下,但是没有截图,所以展示的配置和步骤1不同

3、上图中,针对每个实例,点击“路由表”项,可以看到系统路由已经帮我们自动创建到各个区域的路由:

创建 VPC ,关键还是要规划好 VPC 和各子网的网段,需要让它们既有足够的地址空间以供资源拓展,又不要安排得范围过大,以免和其他 VPC 或公司内部网络产生地址冲突,为后续的网间互联带来不必要的麻烦。如果在没有 VPC 的情况下直接创建虚拟机,公有云一般都会为你自动生成 VPC。但依然建议还是自己先创建好VPC,然后再创建云虚拟机,因为网络可以根据自己需要进行规划,对整个VPC的把控和理解会更强。

【私有网络中的虚拟机】

在配置vpc的时候,我们看到每个vpc是可以添加ECS的,也就是可以选择每个虚拟网络放什么虚拟机。那么虚拟机和VPC是怎么连接起来的呢?答案就在于虚拟机的网卡,又称弹性网卡(Elastic Network Interface, 简称 ENI)。虚拟机的网卡一方面是和虚拟机的本体进行绑定,另一方面则嵌入某个私有网络的子网,也会拥有至少一个私网 IP。新虚拟机自动生成的主网卡,会接入所选 VPC 的所选子网。

云上的网卡,之所以被称为“弹性”网卡,是因为它具备以下特征:

1)一个虚拟机可以绑定多块网卡,有主网卡和辅助网卡之分;

2)一块网卡隶属于一个子网,可以配置同一子网内的多个私有 IP;

3)辅助网卡可以动态解绑,还能够绑定到另一台虚拟机上。这再次体现了云计算的解耦特征,比如:有一台服务线上流量的机器,而且线上流量导向的是它的辅助网卡,那么当这台机器因故无法正常工作时,你在排查问题的同时可以考虑这样一个应急的办法:将这台机器的辅助网卡迅速解绑,并重新绑定到待命的备用机上。这样就能够比较快地先恢复对外服务。

【公有IP】

创建虚拟机的时候,会询问是否为虚拟机分配一个公网IP,选择是,就会有一个公网IP。但对于生产环境,尽量不要使用和依赖这个自动生成的公有 IP。因为它本质上是一个从公有云的 IP 池中临时租用给你的 IP。如果你的机器关闭或重启,下次获得的 IP 可能就完全不同了。

这时,我们真正应该用到的是弹性 IP(Elastic IP),有些云称为 eIP。弹性 IP 一旦生成,它所对应的 IP 是固定、不会变化的,而且完全属于你所有。这非常适合需要稳定 IP 的生产环境。它所谓的弹性,其实是指可以非常自由地解绑和再次绑定到任意目标。你本质上是买下了这个 IP 的所有权,将这个 IP 赋予谁,是你的权利,而且你还可以动态按需切换。

比如,当你有一个域名,需要让 DNS 服务解析到某个外部 IP,你就应该建立一个弹性 IP,绑定到相关资源后,让域名解析到这个弹性 IP,而不应该使用虚拟机自动匹配的公有 IP。因为后者是不稳定的。

我一开始也是选择的公网的随机ip,配置后,可以改,在实例里面配置修改为弹性,但是要收费的哦,我就没换,了解一下就好了:

 【只有私有网络如何访问外网】

如何允许多台没有公有 IP 的虚拟机访问外网,可以使用NAT网关,这个思路和平时的传统网络是一样的,比较好理解,我就没实验了,毕竟我没有买弹性IP。。通过如下配置,把私有IP和弹性IP对应起来。

 【多网链接有哪些方式】

如果是云端 VPC 和 VPC 的互联,我首先推荐的就是对等连接(VPC Peering)的方式。它能够在不添加额外设备的情况下,让两个 VPC 无缝地互联起来,而且操作非常简单,对等连接甚至还能够支持跨区域的私有网络互联。当然,对等连接的实施前提,是这两个 VPC 的网段没有交集,不存在冲突。

这里你需要注意对等连接的一个特点,就是它不具备传递性。也就是说,如果 A 和 B 建立了对等连接,B 和 C 建立了对等连接,那么 A 和 C 是不相通的。这是对等连接的一个局限。

如果需要多个 VPC 间任意路径的互联互通,那么可以考虑使用比对等连接更为复杂和强大的专用网络设施,比如 AWS 的 Transit Gateway,和阿里云的云企业网,它们能够帮助搭建更为复杂的多 VPC 网络拓扑结构,也允许进行更精细的路由设置。

公有云中的私有网络,还可以和企业本地数据中心进行互联,形成混合云架构。连接方式可以VPN(便宜好用,但可能会牺牲延迟和带宽),也可以是专线(稳定强大,但是贵)。绝大多数的云厂商,都提供了云端区域和本地数据中心进行高速互联的服务和解决方案,比如 AWS 的 Direct Connect、Azure 的 ExpressRoute 和阿里云的“高速通道”(云下 IDC 专线接入)等等。一般专线还会和 VPN 一起组合使用,来保证通道的高可用性。

IaaS--云上虚拟网络(何恺铎《深入浅出云计算》笔记整理)的更多相关文章

  1. 云原生虚拟网络 tun/tap & veth-pair

    云原生虚拟网络 tun/tap & veth-pair 转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com/archives/684 ...

  2. Javascript进阶篇——( JavaScript内置对象---上-Date,string,charAt,indexOf,split,substring,substr)笔记整理

    什么是对象JavaScript 中的所有事物都是对象,如:字符串.数值.数组.函数等,每个对象带有属性和方法.对象的属性:反映该对象某些特定的性质的,如:字符串的长度.图像的长宽等:对象的方法:能够在 ...

  3. 2019 GNTC 阿里云参会分享:云原生SDWAN网络2.0 一站式上云服务

    本次10/22-24 南京2019 GNTC大会上,阿里云网络云原生SDWAN网络2.0 由于独特的云原生定位.创新的解决方案,及成熟的应用案例.行业用户,获得行业媒体C114中国通信网.产业专家高度 ...

  4. 在mininet上基于ovs,ovx,pox搭建三点虚拟网络

    本次试验基于mininet平台,在平台中利用ovs新建1个交换机,以pox为控制器,ovx作为中间层实现虚拟化. 基础请参照http://ovx.onlab.us/getting-started/tu ...

  5. Windows Azure 虚拟网络中虚拟机的网络隔离选项

     最近我们发布了一份<Windows网络安全白皮书>(单击此处下载),文中深入说明了客户可以如何利用该平台的本地功能,为他们的信息资产提供最好的保护. 由首席顾问Walter Myer ...

  6. 完善的IaaS云服务的个人理解

    此文已由作者王盼授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 前情提要 本文仅讨论云主机(虚拟机).云硬盘(块存储).云网络(普通虚拟网络或SDN)相关的IaaS服务,相关 ...

  7. 云上RDS架构

    概述 越来越多的企业选择上云,最基础的云服务就是IaaS(Infrastructure as a Service)服务,直观理解就是虚拟主机,用户不用再自建机房,自己购买服务器,而是直接向云厂商购买虚 ...

  8. Storm实战:在云上搭建大规模实时数据流处理系统(Storm+Kafka)

    在大数据时代,数据规模变得越来越大.由于数据的增长速度和非结构化的特性,常用的软硬件工具已无法在用户可容忍的时间内对数据进行采集.管理和处理.本文主要介绍如何在阿里云上使用Kafka和Storm搭建大 ...

  9. Windows Azure 虚拟网络配置(Point to Site)

    说明:本文以Azure国际版为例,中国版在网络位置会存在一定差异. 1. 场景 虚拟网络为我们提供了在Windows Azure云计算环境上构建网络定义的能力,通过虚拟网络,我们可以方便地将Windo ...

  10. 通过基于 Linux 的软件 VPN 设备连接到 Windows Azure 虚拟网络

    摘要 本文章将说明如何通过使用软件 VPN 设备,将本地办公室或站点连接到 Windows Azure 虚拟网络.在构建原型或在构建可以尽快利用云的"开发/测试"工作流时,软件VP ...

随机推荐

  1. Vue3 中的组件 provide和inject 传值、获取组件实例的方法getCurrentInstance()

    一. provide和inject(依赖注入) 1:在父级组件中提供数据           语法:provide('提供给子组件的变量名',提供给子组件的数据) 2: 在子级组件中获取收据     ...

  2. JZOJ 1040. 【GDOI2007】夏娜的菠萝包

    状压玩疯了 \(Code\) #include<cstdio> #include<iostream> #include<cstring> using namespa ...

  3. .Net6 微服务之Ocelot+IdentityServer4入门看这篇就够了

    前言 .Net 6 使用 Consul 实现服务注册与发现 看这篇就够了.Net6 使用 Ocelot + Consul 看这篇就够了.Net6 微服务之Polly入门看这篇就够了 书接上文,本文将继 ...

  4. el-select 获取change点击index

    <el-select> <el-option v-for="(item, index) in optionlist" @click.native ="h ...

  5. 06#Web 实战:可滑动的标签页

    实现效果图 本随笔只是记录一下大概的实现思路,如果感兴趣的小伙伴可以通过代码和本随笔的说明去理解实现过程.我的 Gitee 和 GitHub 地址.注意哦:这个只是 PC 上的标签页,手机端的没用,因 ...

  6. pat乙级 1019 数字黑洞

    #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> ...

  7. 由于pom文件中依赖了redis,服务中没用到,微服务健康监控会报redis的错误

    在启动类里加 @SpringBootApplication(exclude = RedisAutoConfiguration.class)@MapperScan("com.news.rept ...

  8. CF207C

    前言 学习 zzd 博客( 这题超级没有素质. 连个题解都搜不到. 好不容易搜到一个. 看了一下是 pascal. 不过还好我有办法. 树剖做 \(k\) 级祖先. 十万的俩老哥飘过. 三百毫秒优异成 ...

  9. StreamReader和StreamWriter

    FileStream 是操作字节的 StreamReader跟StreamWriter是操作字符串的 操作文件的方法的命名空间都是IO using System; using System.Colle ...

  10. risv RV32I寄存器全称