专有网络

  • 专有网络最一开始有一个经典网络,已经被淘汰了。
  • 现在是第二代专有网络,基于主流的隧道技术
  • 每个专有网络都至少由一个私网网段、一个路由器(vRouter)和一个交换机(vSwitch),路由表(table)组成。

CIDR

内网网段CIDR选择:

  • 建议使用RFC1918中指定的私有IPv4地址作为VPC的网段,网络掩码使用==16~28位==。如 10.0.0.0/16172.16.0.0/16192.168.0.0/16
  • 每个交换机网段的==第1个和最后3个IP==是系统保留。
  • 不能使用 100.64.0.0/10224.0.0.0/4127.0.0.0/8169.254.0.0/16 网段作为VPC的IPv4网段(阿里云的保留网段)。
  • 每个专有网络默认支持添加5个IPv4附加网段

VPC 核心概念

每个VPC都有一个独立的隧道号,一个隧道号对应一个虚拟网络。VPC之间通过隧道号进行隔离:

  • VPC内部存在交换机和路由器,可以划分子网。每个子网内部用交换机互联,不同子网间用路由器互联,不同VPC之间通过对外映射的IP(EIP/NAT IP)互联。
  • 同一VPC内的Aliyun/计算/ECS之间的数据传输会加上隧道封装,带有唯一的隧道号标识,通过物理网络传输
  • 不同VPC之间的ECS由于所在的隧道号不同,本身处于不同的路由平面,所以==不能通信==。天然隔离。
  • 因为IP报文用隧道封装,所以数据链路层(二层Mac地址)不会进入物理网络,实现了不同ECS之间的二层网络隔离,不同VPC之间的二层网络隔离
  • VPC内部的ECS使用安全组防火墙进行三层网络访问控制

VPC 互通方式

如果您需要专有网络连接其他专有网络,您可以通过VPC对等连接、云企业网VPN网关等方式实现互通。
如果您需要专有网络与本地数据中心互通,您可以通过购买VPN网关、高速通道物理专线或智能接入网关等方式实现。

  • IPv4公网通信:您可以通过配置弹性公网IP或公网NAT网关的方式使专有网络内的ECS实例通过IPv4地址进行公网通信。
  • IPv6公网通信:您需要为进行公网通信的IPv6地址购买公网带宽。您也可以为该IPv6地址配置仅主动出规则,只允许专有网络中的云产品实例经IPv6地址访问公网,而不允许IPv6客户端主动与专有网络中的云资源实例建立连接。

路由器

  • 路由器是专有网络的枢纽。作为专有网络中重要的功能组件,它可以连接专有网络内的各个交换机,同时也是连接专有网络和其他网络的网关设备。
  • 每个专有网络创建成功后,系统会自动创建一个路由器。每个路由器至少关联一张路由表。

交换机

  • 交换机是组成专有网络的基础网络设备,用来连接不同的云资源。其实就是==子网subnet==。
  • 创建专有网络后,您可以通过创建交换机为专有网络划分一个或多个子网。同一专有网络内的不同交换机之间内网互通。
  • 将应用部署在不同可用区的交换机内,提高应用的可用性HA。

路由表

路由表控制的是出站流量的下一跳

类型

  • 系统路由表:创建专有网络后,系统自动创建一张系统路由表。系统路由表和路由条目不能删。
  • 自定义路由表:可以创建自定义路由表,绑定vswitch来控制子网路由。每个vswitch只能绑定一张路由表
  • 网关路由表:将自定义路由表和IPv4网关绑定,控制进入VPC的公网流量路由,可以将公网流量重定向到安全设备做统一防护。

规则

最长前缀匹配:当路由表中有多条路由条目可以匹配目的IP时,采用掩码最长(最精确)的一条路由作为匹配项确定下一跳。

绑定与解绑

  • 一个VSW最多绑定一个路由表,其内部路由策略就由这个路由表来管理。多个交换机可以绑定同一个路由表。

路由条目

包括:目标网段(流量希望到哪个IP)、下一条类型(跳到ECS、VPN网关、ENI等)、下一跳(具体的实例名称)

类型:
- 系统路由:创建VPC和交换机后,系统会在路由表中会自动添加以下IPv4路由:
- 以 100.64.0.0/10 为目标网段的路由条目,用于VPC内的云产品通信。
- 以交换机网段为目标网段的路由条目,用于交换机内的云产品通信。
- 自定义路由
- 动态路由:CEN学习的路由

共享VPC

专有网络VPC的所有者账号(资源所有者)可以将VPC内的非默认交换机共享给其他阿里云账号(主账号),其他阿里云账号(主账号)可以在共享的交换机内创建云资源。
当前支持共享给同一企业组织内的阿里云账号(主账号),也支持共享给任意阿里云账号(主账号)。

流日志、流量镜像

  • 流日志:捕获ENI的流入流出流量。
  • 流量镜像:可以复制VPC中ECS实例的网络流量,将复制后的流量转发给指定的ENI或者CLB。可用于内容检查等场景

弹性网卡

网卡类型包括==主网卡(Primary)和==辅助网卡(Secondary)。VPC网络中的每个实例都有默认的网卡,称为主网卡。
无法独立创建和从实例卸载主网卡;您可以创建并额外绑定到实例上的网卡,称为辅助网卡。

常用场景

  • 内外网分离:主网卡接收公网访问流量,辅助网卡接收内网VPC流量
  • 高可用:如果您的实例失效,其网卡可挂载到预配置的热/冷备用实例,以快速恢复服务。可以将一块网卡用作连接数据库实例或NAT实例等关键服务的主要或辅助网卡。如果实例失效,您(或更有可能是代表您运行的代码)可以将网卡挂载到热备用实例。由于网卡保留了私有IP地址、弹性EIP地址和MAC地址,因此只要您将网卡挂载到替代实例,网络流量就会立即开始流向备用实例。

弹性公网IP

弹性公网IP(Elastic IP Address,简称EIP)是可以独立购买和持有的公网IP地址资源。目前,EIP支持绑定到:

  • 专有网络类型的云服务器Aliyun/计算/ECS实例
  • 专有网络类型的私网传统型负载均衡CLB实例
  • 私网类型的应用型负载均衡ALB
  • 专有网络类型的辅助弹性网卡
  • NAT网关
  • 高可用虚拟IP

EIP 本质

EIP是一种==NAT IP==,它实际位于阿里云的公网网关上,通过NAT方式映射到被绑定的云资源上。当EIP和云资源绑定后,云资源可以通过EIP与公网通信。

弹性公网IP和普通公网IP

  • 弹性IP是一种更灵活的公网IP,而普通的公网IP则是服务器自动分配的IP地址。
  • 区别在于弹性公网IP长时间持有和无需绑定固定实例的IP地址。普通公网IP是自动绑定到实例上的,随实例释放而释放。
  • 普通公网IP可以转换为弹性公网IP

EIP计费

  • 按量计费 + 带宽峰值
    • 按实际流量计费:0.8元/GB
    • 如果只创建,没挂载到实例上,还要额外收取==0.02/h==的配置费用。绑定到实例上就不收这个钱了。
    • 带宽峰值是不保证的。
  • 固定带宽计费
    • 每天固定金额

只有**流出的流量**是计费的,流入的不计费(公有云都是推荐大家把服务迁进来)


高可用虚拟IP

HaVip:可以独立创建和释放的私网IP资源,可以和高可用软件(如keepalived)配合使用,搭建高可用主备服务。

绑定方式

havip可以通过以下方式绑定Aliyun/计算/ECS实例:

  • 直接与ECS实例绑定:可以和多个ECS绑定,其中一个ECS通过ARP协议宣告这个havip,那么ECS就是主,其余ECS就是备。主故障就能切换到备。
  • havip绑定ECS的弹性网卡:某个弹性网卡可以通过ARP宣告这个havip,该网卡就是主,其余辅助网卡就是备。主网卡故障,就切换到备网卡。

havip具有以下特点:
- 是一个==浮动的私网IP==,不会固定在指定的ECS实例或弹性网卡上。ECS实例或弹性网卡可通过ARP协议宣告与havip的绑定关系。
- 具有子网属性,仅支持绑定到同一vsw下的ECS实例或弹性网卡上

内网和公网

  • 面向内网:havip直接绑定多台ECS,通过keepalived组成主备,别人用内网IP访问服务
  • 面向公网:havip可以绑定一个弹性公网IP(EIP)暴露公网服务。后端还是通过keepalived组成的主备ECS

havip只支持==单播==,不支持广播和组播通信,用keepalived实现高可用,需要修改配置文件中的通信方式为单播通信。

集成keepalived

两台ECS实例,部署了nginx服务。可以使用havip和keepalived搭建主备双机:

  1. 创建havip
  2. 在主备双机上都安装keepalived。keepalived的VIP用havip的内网IP。
  3. havip与主备ECS实例绑定
  4. havip绑定一个EIP提供公网服务

安全组

虚拟防火墙,控制Aliyun/计算/ECS出入站流量。

  • ECS可以加入多个安全组。默认是绑定在主网卡上,也可以手动设置安全组绑定到辅助网卡上。
  • 安全组是==有状态==的应用。一个有状态的会话连接中,会话的最长保持时长是==910秒==。允许访问并建立会话后,安全组会默认放行同一会话中的通信。例如:如果开放了80端口入站,那么80端口出战也是默认允许的。
  • 默认情况下云厂商会封禁==25端口==,禁止一些恶意邮件服务。需要开放的话,提工单。或者用465端口也行。
  • 一般情况下只限制入方向,出方向一般保持默认即可。

组内互通和组外不通

组内互通:
- 同一个安全组内的ECS实例内网互通

授权安全组访问:
- 同VPC不同安全组之间的实例默认内网隔离。
- 在同一个专有网络中,如果在实例间进行数据共享等操作,例如安全组A的实例都需要通过FTP查看安全组B的实例中的共享文件,您可以通过授权安全组访问实现内网互通,比授权单个IP地址或者CIDR地址块更加便捷。
- 安全组A和安全组B属于==同一账号==时,授权对象填写安全组ID即可
- 安全组A和安全组B属于==不同账号==时,授权对象需要填写"阿里云账号ID/安全组ID"

托管安全组

  • 某些云产品相互调用的时候会自动开通某些规则来放行流量。
  • 创建托管安全组的方式是阿里云云产品通过阿里云临时安全令牌(Security Token Service,STS)授权您的账号的RAM角色自动进行的。

默认安全组

安全风险

默认安全组是为了简化ECS实例初次使用流程而产生的,其默认规则针对TCP协议的==22、3389端口==以及ICMP(IPv4)协议,对任意源地址(0.0.0.0/0)放通流量,这是==不符合安全最佳实践==的。
从安全最佳实践的角度来看,阿里云建议您在安全组规则中仅放通指定的源地址,而不是任意源地址,建议您尽量不要使用默认安全组,而是根据自己业务需要创建新的安全组。

安全通信五元组

源IP、源端口、目的IP、目的端口以及传输层协议


VPC连接能力

连接公网

  • ECS固定公网IP
  • 弹性公网IP(支持动态绑定解绑)
  • 公网NAT网关
  • 负载均衡

连接VPC

  • VPC对等连接:两个VPC之间的网络连接,私网互通。可以跨地域、跨账号
  • 云企业网:VPC连接枢纽
  • VPN网关:两个VPC之间创建IPSec连接,走公网加密通信

连接本地IDC

  • 高速通道:把VPC和IDC通过运营商物理专线连起来,公司独享
  • VPN网关:IPSec-VPN:本地IDC连接VPC;SSL-VPN:本地客户端远程接入VPC
  • 云企业网:本地IDC的边界路由器VBR接入到CEN,构建互联网络
  • 智能接入网关:线下机构接入阿里云数据中心,构建混合云

VPC对等连接

发起端接收端

主动发起VPC对等连接的是==发起端==;被动等待连接请求的是==接收端==。
两端仅用于控制连接建立的过程,实际网络通信中是双向的,两端没有任何差别,相当于在同一个网络中。
同账号的VPC Peering,发起端发出请求,系统自动接收并建立连接,无需接收端接收连接请求。
跨账号的VPC Peering,接收方可以接受或拒绝连接请求。

路由配置

建立对等连接之后,需要在发起端和接收端都配置路由条目,指向对端的CIDR,下一条是对等连接。

路由配置示例

VPC A:192.168.0.0/16 -- VPC B:10.1.0.0/16
- VPC A添加自定义路由表:目标地址 10.1.0.0/16,下一跳:对等连接
- VPC B添加自定义路由表:目标地址 192.168.0.0/16,下一跳:对等连接

功能计费

同Region VPC对等连接==免费==,跨地域VPC对等连接统一由云数据传输CDT收取流量传输费。

功能限制

VPC对等连接没有路由传递能力

如果VPC1 -- VPC2,VPC2 -- VPC3分别建立了Peering,但是这不等于VPC1和VPC3自动互通。想要互通,还得VPC1和VPC3建立peering

  • 提前做好网络规划,Peering的VPC之间的交换机不能有网段重叠

多VPC互联方案

  • 两个VPC,Peering打通
  • 三个VPC,两两Peering打通
  • 多VPC:不同业务或者分支机构有独立的VPC,这些VPC和中心VPC连接互通,以便资源共享:

VPC A配置到各个子VPC的路由条目;子VPC配置一条到中心VPC的路由条目。

选择建议

随着VPC数量的增多,VPC对等连接的数目以及路由条目的数量会相应增多:n(n-1)/2,例如,10个VPC两两互通,则需创建==45个==VPC对等连接实例,每个VPC需要配置到其他9个VPC的路由,配置复杂度会变高。因此,建议创建两两VPC对等连接的VPC数量不超过==5个==。

VPC Peering:
- 优点:无带宽限制、延迟低、同地域不收费
- 缺点:VPC数量增加,配置复杂度上升。不适合大量VPC全联通的场景。

CEN+TR:带宽受限于TR的处理能力,也有带宽费用产生。


云中网络规划

什么时候使用多VPC

  • VPC是Region级别资源,业务在多Region分布,就需要多VPC
  • 同一地域的多个业务环境之间需要隔离,也需要多个VPC

子网选择

  • 即使只有一个VPC,也推荐使用两个vsw,并且部署在两个可用区。实现==跨AZ容灾==。

网段选择

  • 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,三个标准RFC私网网段。
  • 100.64.0.0/10,224.0.0.0/4,127.0.0/8,169.254.0.0/16,不支持作为自定义地址段
  • vsw网段大小推荐在==29-16位掩码==之间,可以提供8-65536个地址
  • 注意每个vsw网段的第一个和最后三个IP为系统保留地址。