谷歌云服务架构师的考点整理: VPC network

news/2024/7/23 8:49:56

GCP的VPC network

  • network
  • region, zone
  • 通信
  • 子网创建模式
  • 防火墙规则(firewall rules)

最近参加谷歌的云服务架构师的考试,趁现在把知识整理一下。
VPC network的话对于用过云服务的人来说应该是个很基础的概念。它就是物理网络的虚拟版(virtual private cloud network)

network

GCP的VPC network这个概念,相比其他一些云服务如aws,有些特殊。
它本身没有ip地址范围。
VPC network是跨所有区域(region)的
VPC network下可以分子网。
子网拥有ip地址范围,可选择RPC 1918的任何任何区段。
子网只能建立在一个区域(region)上,子网无法跨区域。
network and subnets

region, zone

简单说一下region和zone。
region是一个地理上的概念。如London, Los Angeles。亚洲的话有Hong Kong, Tokyo, Singapore, Taiwan等(没有天朝大陆orz)。
region之下还分zone。如下图黑色框的代表zone。
zone容易被联想成一个数据中心。但据谷歌说一个zone里也有可能有多个数据中心。
locations
当你要在gcp上创建一台虚拟机(gcp的话叫compute engine),虚拟机隶属于某一个zone。这个也很好理解,现实就是在某个数据中心创建了一台虚拟机。所以虚拟机必然和某个zone是绑定的。
而刚才说过子网(subnet),它是和某个region绑定的,换言之,一个子网是跨region下的所有zone的。
subnets
重复一下子网无法跨region
no cross region

通信

在VPC上的虚拟机有两种ip地址,外部ip地址和内部ip地址。默认情况下,当虚拟机被创建时,它会被赋予外部ip和内部ip。
ip
在VPC network内的虚拟机可以通过内部ip通信。如下图,即使是位于不同region的虚拟机也可以通过内部ip来通信。
internal ip
虚拟机的外部ip用于与VPC network外部的通信。比如在VPC上建立了两个VPC network,位于两个网络里的虚拟机需要用外部ip来通信。
external ip
另外如果虚拟机需要直接访问因特网,它必须有外部ip,外部ip会成为请求的发起地址。
当然,很多情况下我们不想把虚拟机暴露给外部,这种情况下我们可以移除虚拟机的外部ip。如果我们还是需要虚拟机访问外网时,则需要自己用另一台虚拟机做NAT gateway。
nat

子网创建模式

VPC network有两种子网创建模式,自动模式与自定义模式。在创建VPC network时可以指定。
选择自动模式的话,在每个region下都会自动创建一个子网(地址范围是10.128.0.0/9中的区块),之后根据需求还可以手动增加子网。
选择自定义模式的话,没有子网会被自动创建。所有的子网都必须自己来创建是比较麻烦,但哪个region用什么地址范围全部可以有自己决定,有更高的自由度。

防火墙规则(firewall rules)

VPC network中通过防火墙规则来限制子网内的虚拟机与外部的通信。
以虚拟机为目标,把通信简单分成进(ingress)和出(egress)。
firewall rules
对于ingress。防火墙规则设置许可的规则(allow)。比如允许来自192.168.1.1对虚拟机80端口的访问。默认情况下,虚拟机禁止一切ingress通信。
对于egress,防火墙规则设置屏蔽规则(deny)。比如不允许虚拟机对192.168.1.2的访问。默认情况下,虚拟机对egress没有任何限制。

以上就是谷歌云服务关于VPC network的几个大的概念。光从名词上来看VPC network, subnet这些都和aws大同小异,aws的secruity group和gcp的firewall rules相类似。但VPC network的区别还是比较大的。比如aws的VPC network只能限定在某一个region。
今后还会继续整理谷歌云服务的一些知识。


http://www.niftyadmin.cn/n/4428403.html

相关文章

MongoDB安装、启动与关闭

安装包下载地址:mongodb-win32-x86_64-2.6.6 1.解压到当前文件夹,进到目录mongodb-win32-x86_64-2.6.6,在这里新建data文件夹, 2.进到data目录下,在这里新建db文件夹, 3.命令行进到bin目录下,输…

Mysql慢查询日志的使用 和 Mysql的优化

一、生成实验数据 原理:sql 蠕虫复制(这种生成数据方式同样适用于数据表中有主键的情况)。 insert into comic (name,pen_name,cover) select name,pen_name,cover from comic二、慢查询日志设置 当语句执行时间较长时,通过日志的…

tdd(测试驱动开发)的概述

最近的工作的项目,使用了tdd(test-driven development测试驱动开发)的开发模式。 这两几年大概听说了无数种xxx-dd, ddd, tdd, atdd, bdd, fdd, udd各种名词眼花缭乱,当然很多dd其实也有相互借鉴(抄袭)的部…

取文件的MD5值

之前找了好多取文件MD5的都不能用 最后找到这个可以用 记录一下 MD5.h #include <Windows.h>#include <stdio.h>#ifndef _LGY_MD5_H#define _LGY_MD5_H/* MD5 Class. */class MD5_CTX {public: MD5_CTX(); virtual ~MD5_CTX(); bool GetFileMd5(char *pMd…

嵌套对象

嵌套对象&#xff0c;就是相当于一个封装&#xff0c;内存空间里留下一条连续内存

接口 、final

接口&#xff1a; interface 接口名{变量&#xff1b;方法&#xff1b;}/*** author 司*** 功能&#xff1a;接口的使用*/package com.InterFace;public class Demo1 {public static void main(String[] args) {// TODO Auto-generated method stubWuKong wknew WuKong()…

十进制的0.1 为什么不能用二进制很好的表示?

二进制表示法。。。。 这是也是基础知识啦&#xff1a; 别急我们一点一点的讲解。正整数转二进制&#xff0c;负整数转二进制&#xff0c;小数转二进制 正整数转二进制&#xff1a; 正整数转成二进制。要点一定一定要记住哈&#xff1a;除二取余&#xff0c;然后倒序排列&…

python的异常处理,以及自定义异常

写出来的python程序不一定是完全正确的。即使所有逻辑都对了&#xff0c;但是用户在使用过程的不当&#xff0c;也会导致程序运行出错。本文结构&#xff1a;常见的异常类型如何处理异常如何自定义异常1. 常见的异常大概有以下的一些&#xff1a;NameError 尝试访问一个…