草庐IT

AWS VPC 概述

lxlmycsdnfree 2024-01-04 原文
  1. VPC (Virtual Private cloud)虚拟私有云,是AWS提供的在网络层面对资源进行分组的技术,一个VPC可以看作是一个独立的虚拟网络,这个虚拟网络与客户在数据中心运营的传统网络及其相似,并会为客户提供使用AWS的可扩展基础设施的优势,默认情况下VPC与VPC之间不互通,是逻辑上的隔离。
  2. 默认每个region下可以创建5个VPC,也可以根据需要在每个区域开通100个VPC。在创建VPC的时候需要指定网络CIDR,范围:/16 - /28。
  3. 创建完VPC后,会默认创建一个main route table,其它子网都默认使用该main route table,也可以指定用户自定义的route table
  1. 一个VPC包含以下必要组件:
  1. 子网(Subnets)
  2. 路由表(Route tables)
  3. DHCP 选项集(Dynamic Host Configuration Protocol (DHCP) option sets)
  4. 安全组(Security Group)
  5. 网络ACL(Network Access Control List(ACLs))

  1. 并可以包含以下可选组件
  1. 互联网网关(Internet Gateways(IGW))
  2. 弹性IP(Elastic IP(EIP)address)
  3. 弹性网卡(Elastic Network Interfaces (ENIs))
  4. 终端节点(Endpoints)
  5. 对等连接(Peering)
  6. NAT网关(Network Address Translation (NATs)instances and NAT gateways)

 

那么下面我们对每个关键部件做下介绍。

  • Subnet
  1. 一个VPC可以包含多个subnet,一个subnet对应于一个AZ(可用区)
  2. 子网CIDR确定后,前4个IP和最后1个IP不可用,AWS内部使用,例如:/28有16个IP,去掉5个后,还有11个供我们使用
  3. AZ是物理上的隔离,由于VPC可以跨多个AZ,因此VPC是逻辑上的划分
  4. VPC中的subnet永远是互通的,因为任何一个路由表都有包含一个本地路由,且不可删除
  5. 在创建subnet的时候可以指定默认是否为每个新的instance分配public IP
  6. Subnet有三种
  • Public subnet,在路由表中有一个指向IGW的路由
  • Private subnet,在路由表中没有指向IGW的路由
  • v*n subnet,面向v*n连接,在路由表中有指向VPG的路由

  • Route Tables
  1. 路由表,用于确定子网中路由的去向
  2. 一个子网只能且必须对应一个route table,一个route table可对应多个子网
  • Internet gateways
  1. Internet 网关是一种横向扩展、支持冗余且高度可用的 VPC 组件,可实现 VPC 中的实例与 Internet 之间的通信。因此它不会对网络流量造成可用性风险或带宽限制
  2. Internet 网关有两个用途,一个是在 VPC 路由表中为 Internet 可路由流量提供目标,另一个是为已经分配了公有 IPv4 地址的实例执行网络地址转换 (NAT)
  3. 一个VPC只能有一个IGW,用于连接internet
  • Dynamic Host Configuration Protocol Option Sets
  1. 指定如何为instance分配IP/Hostname等,默认AWS控制,也可以自定义DNS server
  2. 可以配置的选项有
  • Domain name server
  • Domain name
  • NTP server
  • NetBios name server
  • NetBios node type

  • Elastic IP Address

  1. 弹性 IP 地址 是专门用于进行动态云计算的静态、公有 IPv4 地址。您可以将弹性 IP 地址与您账户中的任意 VPC 的任何实例或网络接口相关联。借助弹性 IP 地址,您可以迅速将地址重新映射到 VPC 中的另一个实例,从而屏蔽实例故障。注意,将弹性 IP 地址与网络接口关联,而不直接与实例关联的优势在于,只需一步,即可将网络接口的所有属性从一个实例移至另一个。
  2. 默认Public subnet下的instance会得到一个动态的public IP,如果重启instance,public会改变
  3. 可以为instance指定一个静态IP,重启instance不会改变
  4. 创建好EIP后就开始收费,不管是否关联到instance
  5. 一个region默认可创建5个EIP
  • Elastic Network Instance(ENIs)
  1. 为一个instance创建多个网卡,实现业务和管理网络的分离,如dual-home instances
  • Endpoints
  1. 连接VPC和AWS服务(如S3等)的连接点,好处是不用走v*n或AWS Direct Connect
  2. 创建好endpoint后需要在对应的route table中增加路由
  • Peering
  1. VPC 对等连接是两个 VPC 之间的网络连接,您可通过此连接不公开地在这两个 VPC 之间路由流量。这两个 VPC 中的实例可以彼此通信,就像它们在同一网络中一样。您可以在自己的 VPC 之间、自己的 VPC 与另一个 AWS 账户中的 VPC 或与其他 AWS 区域中的 VPC 之间创建 VPC 对等连接。
  2. 默认情况下VPC与VPC是不能通信的,可以增加peering connection,这样不同的VPC就可以相互通信
  3. Peering没有传递性,例如,若VPC1和VPC2有对等连接,VPC2与VPC3有对等连接,那么VPC1和VPC3默认是没有的,需要手动增加对等连接
  4. 创建peering的时候需要在两边VPC的route table中都增加相应路由
  5. 只需创建一次peering申请,如VPC1申请与VPC2建立peering连接,连接创建后,不用VPC2再向VPC1申请peering,因为连接已经建好,是双向的
  6. 现在peering的VPC可以跨region
  7. 如果VPC1与VPC2的CIDR有包含或部分匹配关系,则不能创建peering
  8. AWS 使用 VPC 的现有基础设施来创建 VPC 对等连接;该连接既非网关也非 AWS Site-to-Site v*n 连接,且不依赖某个单独的物理硬件。没有单点通信故障也没有带宽瓶颈
  • Security Group
  1. 安全组,通过创建rule来设置firewall,在instance层面控制网络访问
  2. 一个VPC支持500个SG,一个SG有50个inbound和50个outbound
  3. SG可以设置allow rule,但不能设置deny rule,这个与ACL不同
  4. 默认没有inbound rule,除非手动增加,默认outbound allow all
  5. SG是有状态的,言外之意,对于某个allow inbound,不用指定对应的outbound,会保留inbound的状态,再将响应返回
  6. 对于有多个rule的SG,在判断是否allow或deny时,AWS会评估所有的rule再做决定,没有优先级rule的说法
  7. 可以随时修改SG,即便关联到了某个instance,修改后立即生效,不用reboot-instance
  • Network Access Contorl List(ACLs)
  1. 在子网层面控制网络访问,默认都allow
  2. 支持allow,也支持deny
  3. 没有状态,需要同时指定inbound和outbound
  4. 每个rule有优先级,通过优先级确定是allow还是deny
  5. 影响的是整个子网,不用单独指定到某个instance
  • Network Address Translation(NAT) Instances and NAT Gateways
  1. 都是用于private子网中的instance与外界通讯的技术,可以访问外网,但外网无法穿透到instance
  2. NAT instance是AWS提供的AMI,部署后充当了proxy,需要将其部署在public subnet中并分配public IP,且disable source/destination check,然后再配置route table
  3. NAT Gateway,不用手动创建proxy instance,仅创建Gateway 服务,当然AWS内部可能也创建了instance,但这个对用户是透明的。需要将Gateway部署在public subnet中,再指定public IP,同时修改路由
  4. 推荐使用NAT Gateways,管理更简单
  • Virtual Private Gateways(VPGs),Customer Gateways(CGWs)and Virtual Private Networks(v*ns)
  1. v*n连接,例如Lab与VPC通信
  2. VPG是在AWS端,CGWs是客户端的物理或软件v*n隧道
  3. 需要从CGW到VPG初始化v*n隧道
  4. VPG支持动态BGP路由,或静态路由
  5. v*n连接包含两个隧道以提高高可用

 

有关AWS VPC 概述的更多相关文章

  1. 阿里云RDS——产品系列概述 - 2

    基础版云数据库RDS的产品系列包括基础版、高可用版、集群版、三节点企业版,本文介绍基础版实例的相关信息。RDS基础版实例也称为单机版实例,只有单个数据库节点,计算与存储分离,性价比超高。说明RDS基础版实例只有一个数据库节点,没有备节点作为热备份,因此当该节点意外宕机或者执行重启实例、变更配置、版本升级等任务时,会出现较长时间的不可用。如果业务对数据库的可用性要求较高,不建议使用基础版实例,可选择其他系列(如高可用版),部分基础版实例也支持升级为高可用版。基础版与高可用版的对比拓扑图如下所示。优势 性能由于不提供备节点,主节点不会因为实时的数据库复制而产生额外的性能开销,因此基础版的性能相对于

  2. Ruby 语言备忘单/海报/引用/概述? - 2

    关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭9年前。Improvethisquestion我是一个喜欢视觉的人,想知道是否有关于Ruby的不错的大概览。你知道,就像一张引用海报,带有对象层次结构,最常用的方法等等,都是彩色的,布局清晰明了...对于像我这样的初学者来说,这会很棒......有没有你使用或偶然发现的类似东西?

  3. javascript - Visual Studio 2015 Javascript 概述方式太多 - 2

    VisualStudio2015接缝勾勒出所有多行javascript代码。我有一个像这样的简单代码:$(document).ready(function(){varx={test1:1,test2:2};if(1==1){//thisisatest}});当我按下Ctrl+k,Ctrl+O时,VisualStudio2015会这样概括它:是否可以关闭函数内的大纲?我只想要功能级别的大纲。 最佳答案 不,你做不到,但有优秀的WebEssentials可以在javascript中勾勒出区域!你在像这样的评论之后创建一个区域//#reg

  4. javascript - 在 AngularJS 中选择下拉项时显示概述文本 - 2

    我希望显示每个小部件类别的概览,以便在选择该小部件类别时显示在过滤结果上方。我假设这将需要一个ng-show指令,因此可能也需要一些Controller代码。但是任何关于将选择下拉菜单与我的ng-repeat链接起来以及与ng-show链接起来的任何指示都会很棒。这是我的目标:之前之后SelectWidgetRange1WidgetRange2WidgetRange3ProductName:{{product.name}}Quantity:{{product.quantity}}Price:£{{product.price}}https://plnkr.co/edit/0WrinKY2

  5. 基于AIGC的3D场景创作引擎概述 - 2

    通过改变3D场景制作流程复杂、成本高、门槛高、流动性差的现状,让商家像玩转2D一样去玩转3D,让普通消费者也能参与到3D内容创作和消费中,真正实现内容生产模式从PGC/UGC过渡到AIGC,是我们3D场景智能创作引擎一直追求的目标。前言随着元宇宙的大火,国内外各大厂纷纷下场开始为下一代互联网技术布局,旨在为用户提供更好的体验。体验包括方方面面,比如更好的游戏体验、更好的社交体验、更高效的办公体验当然也包括更好的消费体验。作为国内最大的电商平台,我们团队也在持续思考如何基于元宇宙的技术,给消费者带来更好的购物体验以及给商家带来更好的营商体验。回归到电商“人、货、场”三要素上,通过虚拟人技术以及商

  6. 【pandas基础】--概述 - 2

    Pandas是一个开源的Python数据分析库。它提供了快速,灵活和富有表现力的数据结构,旨在使数据清洗和分析变得简单而快速。Pandas是基于NumPy数组构建的,因此它在许多NumPy函数上提供了直接的支持。它还提供了用于对表格数据进行操作的数据结构,例如Series和DataFrame。Pandas提供了许多用于数据操作和处理的函数和方法,例如数据过滤,数据清洗,数据合并和重塑等。Pandas还提供了用于将数据导入和导出不同文件格式的函数,例如CSV,Excel和SQL等。它是Python数据科学生态系统中最受欢迎和广泛使用的库之一。主要功能Pandas主要功能包括:数据读取和导入:读取

  7. 4.1、网络层概述 - 2

    1、主要任务网络层的主要任务是实现网络互连\color{red}实现网络互连实现网络互连,进而实现数据包在各网路之间的传输\color{red}实现数据包在各网路之间的传输实现数据包在各网路之间的传输例如:这些异构型网络若只是需要各自内部通信,那它们只要实现各自的物理层和数据链路层即可但是若需要将这些异构型网络互连起来,形成一个更大的互联网,就需要使用网络层互联设备路由器说明:为了简单起见,有时没有必要画出这些网络,将它们看成一条链路即可对于互联网而言,仅实现物理层和数据链路层是不能实现数据包在互联网中各网络之间传输的。要实现该功能,就必须实现网络层2、网络层解决的问题2.1、网络层向运输层提

  8. KVM概述 - 2

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、KVM是什么?1.KVM概念2.KVM体系结构二、实例1.启用KVM的Linux的服务器2.认证总结前言了解LinuxKVM的架构并了解它与内核的紧密集成为何会改变您使用Linux的方式,本文介绍KVM学习的基础内容。一、KVM是什么?1.KVM概念    在官网我们可以了解到KVM是内核的虚拟机的缩写,KVM是构成主流Linux内核(V2.6.20)一部分的第一个虚拟化解决方案。KVM支持Linux客户 操作系统的虚拟化——甚至支持其硬件对虚拟化敏感的 Windows 系统的虚拟化。则KVM可定义为硬件辅助的全虚

  9. CRC32概述以及实现和使用 - 2

    一、CRC16实现思路:取一个字符(8bit),逐位检查该字符,如果为1,crc^crc_mul;同时,如果原本crc最高位是1,那么crc^crc_mul后左移1位,否则只是左移一位。计算完一个字符后,装入下一个字符。#include#definecrc_mul0x1021//生成多项式unsignedintcal_crc16(unsignedchar*ptr,unsignedcharlen){unsignedchari;unsignedintcrc=0;while(len--!=0){for(i=0x80;i!=0;i>>=1){if((crc&0x8000)!=0){crc二、CRC32

  10. 小程序开发第一天 项目基本结构和组件概述 大龄java程序员转行之路 - 2

    pages文件夹page翻译为页面,就是说微信小程序里包含的页面都放在这个文件夹里。类比我们常见的index主页面,login登录页面,这些web页面文件夹转化在微信小程序中就是pages页面。用户创建的文件夹就是index,login等页面文件官方建议把小程序的页面都放在pages我文件夹中,每个文件夹里都有四个文件,分别是。.js文件控制页面的脚本文件,包括存放数据,业务逻辑,事件处理函数等调用Pages()函数实现对页面的调用.json文件这个页面自己的配置文件,管理窗口外观,表现等.wxml相当于html文件,就是存放页面的模板结构wxml是一种类似于html的标签语言,是由微信自己创

随机推荐