子网
子网是虚拟私有云内的IP地址块,可以将虚拟私有云的网段分成若干块,子网划分可以帮助您合理规划IP地址资源。虚拟私有云中的所有云资源都必须部署在子网内。同一个虚拟私有云下,子网网段不可重复。
- 默认情况下,同一个VPC的所有子网内的弹性云主机均可以进行通信,不同VPC的弹性云主机可通过创建对等连接通信。
- 子网创建成功后,不支持修改网段,请提前合理规划好子网网段。
VPC支持的网段如下,子网的网段须在VPC网段范围内,且子网的掩码范围为:子网所在VPC掩码~29。
− 10.0.0.0/8~24
− 172.16.0.0/12~24
− 192.168.0.0/16~24
路由表
路由表由一系列路由规则组成,用于控制虚拟私有云内子网的出流量走向。VPC中的每个子网都必须关联一个路由表,一个子网一次只能关联一个路由表,但一个路由表可以关联多个子网。
图 路由表
当前在部分区域中,路由表已从虚拟私有云中解耦,解耦后路由表拥有独立入口,支持路由表与子网关联功能,请以实际界面为准。
已解耦:在进入“网络 > 虚拟私有云”后,在左侧导航栏直接选择“路由表”,可对路由表进行操作。(当前已解耦资源池:贵州、内蒙3、苏州、西安2、华北、广州4、杭州、深圳、芜湖、上海4、武汉2、成都3、福州、长沙2、北京2、兰州)
未解耦:在虚拟私有云详情页的“路由表”页签,可对路由表进行操作。(当前未解耦资源池:重庆、石家庄、青岛、南昌、中卫、郑州、西宁、昆明、乌鲁木齐、哈尔滨、太原、南宁、天津、海口、沈阳3、长春)
默认路由表和自定义路由表(已解耦)
用户创建虚拟私有云时,系统会自动为其生成一个默认路由表,创建子网后,子网会自动关联默认路由表。
- 您可以在默认路由表中添加、删除和修改路由规则,但不能删除默认路由表。
- 创建VPN、VPC终端节点、云专线服务时,默认路由表会自动下发路由,该路由不能删除和修改。
您可以直接使用默认路由表,也可以为具有相同路由规则的子网创建一个自定义路由表,并将自定义路由表与子网关联。自定义路由表可以删除。
说明:
子网关联自定义路由表仅影响子网的出流量走向,入流量仍然匹配默认路由表。
当前自定义路由表需提交工单申请,如需使用自定义路由表,请在创建路由表页面单击“申请扩大配额”。
路由
路由即路由规则,在路由中通过配置目的地址、下一跳类型、下一跳地址等信息,来决定网络流量的走向。路由分为系统路由和自定义路由。
- 系统路由:系统自动添加且无法修改或删除的路由。
创建路由表后,系统会自动在路由表中添加如下的系统路由,表示VPC内实例互通。
− 目的地址是100.64.0.0/10、198.19.128.0/20的路由。
− 目的地址是子网网段的路由。
说明:
除以上系统路由外,系统还会自动添加目的地址是127.0.0.0/8的路由,表示本地回环地址。
- 自定义路由:可以修改和删除的路由。自定义路由的目的地址不能与系统路由的目的地址重叠。
您可以通过添加自定义路由来自定义网络流量的走向,您需要指定目的地址、下一跳类型、下一跳地址。
您无法在VPC路由表中添加目的地址相同的两条路由,即使路由的下一跳类型不同也不行。因此不论路由的下一跳是何种类型,路由的优先级均取决于目的地址,遵循最长匹配原则,即优先选择匹配度更高的目的地址进行路由转发。
表 下一跳类型
下一跳类型 | 说明 | 支持添加该类型路由的路由表 |
---|---|---|
服务器实例 | 将指向目的地址的流量转发到虚拟私有云内的一台ECS实例。 | 默认路由表 自定义路由表 |
扩展网卡 | 将指向目的地址的流量转发到虚拟私有云内的一台ECS实例的扩展网卡。 | 默认路由表 自定义路由表 |
VPN网关 | 将指向目的地址的流量转发到一个VPN网关。 | 自定义路由表 |
云专线网关 | 将指向目的地址的流量转发到一个云专线网关。 | 自定义路由表 |
NAT网关 | 将指向目的地址的流量转发到一个NAT网关。 | 默认路由表 自定义路由表 |
对等连接 | 将指向目的地址的流量转发到一个对等连接。 | 默认路由表 自定义路由表 |
虚拟IP | 将指向目的地址的流量转发到一个虚拟IP地址, 可以通过该虚拟IP地址将流量转发到主备ECS。 |
默认路由表 自定义路由表 |
VPC终端节点 | 将指向目的地址的流量转发到一个VPC终端节点。 | 默认路由表 自定义路由表 |
说明:
个别由系统下发的路由可供用户修改和删除,这取决于创建对端服务时是否已设置目的地址。
例如,创建NAT网关时,系统会自动下发一条自定义类型的路由,没有明确指定目的地址(默认为0.0.0.0/0),此时用户可修改该目的地址。而创建VPN网关与云专线网关时,可以指定远端子网,也就是路由表的目的地址,系统将下发系统类型的路由。如果在路由表页面更改路由将会导致与对端数据不一致,您可以前往对端服务页面修改远端子网来调整路由表中的路由规则。
SNAT
一些弹性云主机不仅需要使用系统提供的服务,还需要访问外网以获取信息或下载软件。允许用户将弹性IP绑定到弹性云主机的虚拟网卡(端口),从而使弹性云主机能够与外网通信。但是,给弹性云主机分配公网IP需要消耗重要资源(如IPv4地址),增加额外的成本,并有可能增加虚拟环境遭受攻击的几率。因此,多个弹性云主机共享同一公网IP是一种可行的方法,具体实施方法为源地址转换(SNAT)。
云平台支持SNAT实例。为一个弹性云主机配置公网IP,该弹性云主机作为来自同一子网或VPC的若干弹性云主机的SNAT路由器/网关。
安全组
安全组是一个逻辑上的分组,为具有相同安全保护需求并相互信任的云服务器、云容器、云数据库等实例提供访问策略。安全组创建后,用户可以在安全组中定义各种访问规则,当实例加入该安全组后,即受到这些访问规则的保护。
安全组规则遵循白名单规则,具体说明如下:
入方向规则:入方向指外部访问安全组内的实例的指定端口。当外部请求匹配上安全组中入方向规则的源地址,并且策略为“允许”时,允许该请求进入,其他请求一律拦截。
因此,如果没有特殊需求,您一般不用在入方向配置策略为“拒绝”的规则,因为不匹配“允许”规则的请求均会被拦截。
出方向规则:出方向指安全组内的实例访问外部的指定端口。在出方向中配置目的地址匹配所有IP地址的规则,并且策略为“允许”时,允许所有的内部请求出去。
0.0.0.0/0表示匹配所有IPv4地址。
::/0表示匹配所有IPv6地址。
以安全组sg-test的入方向和出方向规则为例,为您详细解释安全组的规则。
表 安全组sg-test的规则说明
规则类别 | 策略 | 类型 | 协议端口 | 源地址/目的地址 | 描述 |
---|---|---|---|---|---|
入方向规则 | 允许 | IPv4 | 全部 | 源地址:sg-test | 针对全部IPv4协议,允许本安全组内云服务器的请求进入, 即该条规则确保安全组内的云服务器网络互通。 |
入方向规则 | 允许 | IPv4 | TCP: 22 | 源地址:0.0.0.0/0 | 针对TCP(IPv4)协议,允许外部所有IP访问安全组内云服务器的SSH(22)端口, 用于远程登录Linux云服务器。 |
入方向规则 | 允许 | IPv4 | TCP: 3389 | 源地址:0.0.0.0/0 | 针对TCP(IPv4)协议,允许外部所有IP访问安全组内云服务器的RDP(3389)端口, 用于远程登录Windows云服务器。 |
入方向规则 | 允许 | IPv4 | TCP: 80 | 源地址:10.5.6.30/32 | 针对TCP(IPv4)协议,允许外部IP(10.5.6.30)访问安全组内云服务器的80端口。 |
出方向规则 | 允许 | IPv4 | 全部 | 目的地址:0.0.0.0/0 | 针对全部IPv4协议,允许安全组内的云服务器可访问外部IP的所有端口。 |
出方向规则 | 允许 | IPv6 | 全部 | 目的地址:::/0 | 针对全部IPv6协议,允许安全组内的云服务器可访问外部IP的所有端口。 |
出方向规则 | 允许 | IPv4 | TCP: 80 | 目的地址:10.7.6.51/32 | 针对TCP(IPv4)协议,允许安全组内云服务器可访问外部IP(10.7.6.51)的80端口。 |
对等连接
对等连接是建立在两个VPC之间的网络连接,不同VPC之间网络不通,通过对等连接可以实现不同VPC之间的云上内网通信。对等连接用于连通同一个区域内的VPC,您可以在相同帐户下或者不同帐户下的VPC之间创建对等连接。
- 在区域A内,您的两个VPC分别为VPC-A和VPC-B,VPC-A和VPC-B之间网络不通。
- 您的业务服务器ECS-A01和ECS-A02位于VPC-A内,数据库服务器RDS-B01和RDS-B02位于VPC-B内,此时业务服务器和数据库服务器网络不通。
- 您需要在VPC-A和VPC-B之间建立对等连接Peering-AB,连通VPC-A和VPC-B之间的网络,业务服务器就可以访问数据库服务器。
图 对等连接组网
网络ACL
网络ACL是一个子网级别的可选安全层,通过与子网关联的出方向/入方向规则控制出入子网的数据流。
图 安全组与网络ACL
虚拟IP
虚拟IP(Virtual IP Address,简称VIP)是一个未分配给真实弹性云主机网卡的IP地址。弹性云主机除了拥有私有IP地址外,还可以拥有虚拟IP地址,用户可以通过其中任意一个IP(私有IP/虚拟IP)访问此弹性云主机。同时,虚拟IP地址拥有私有IP地址同样的网络接入能力,包括VPC内二三层通信、VPC之间对等连接访问,以及弹性IP、VPN、云专线等网络接入。
您可以为多个主备部署的弹性云主机绑定同一个虚拟IP地址,然后为虚拟IP绑定一个弹性IP,搭配Keepalived,实现主服务器故障后,自动切换至备服务器,打造高可用容灾组网。
典型组网
虚拟IP主要用在弹性云主机的主备切换,搭配Keepalived,达到高可用性HA(High Availability)的目的。当主服务器发生故障无法对外提供服务时,动态将虚拟IP切换到备服务器,继续对外提供服务。本节介绍两种典型的组网模式。
- 典型组网1: HA高可用性模式
场景举例:如果您想要提高服务的高可用性,避免单点故障,可以用“一主一备”或“一主多备”的方法组合使用弹性云主机,这些弹性云主机对外表现为一个虚拟IP。当主服务器故障时,备服务器可以转为主服务器,继续对外提供服务。
图 HA高可用性模式组网
− 将2台同子网的弹性云主机绑定同一个虚拟IP。
− 将这2台弹性云主机配置Keepalived,实现一台为主服务器,一台为备份服务器。Keepalived可参考业内通用的配置方法,此处不做详细介绍。
- 典型组网2: 高可用负载均衡集群
场景举例:如果您想搭建高可用负载均衡集群服务,您可以采用Keepalived + LVS(DR)来实现。
图 高可用负载均衡集群
− 将2台弹性云主机绑定同一个虚拟IP。
− 将绑定了虚拟IP的这2台弹性云主机配置Keepalived+LVS(DR模式),组成LVS主备服务器。这2台服务器作为分发器将请求均衡地转发到不同的后端服务器上执行。
− 配置另外2台弹性云主机作为后端RealServer服务器。
− 关闭2台后端RealServer弹性云主机的源/目的检查。
Keepalived + LVS调度服务端安装配置以及后端RealServer服务器配置可以参考业内通用的配置方法,此处不做详细介绍。
应用场景
- 场景一:通过弹性IP访问虚拟IP。
您的应用需要具备高可用性并通过Internet对外提供服务,推荐使用弹性IP绑定虚拟IP功能。
- 场景二:通过VPN/云专线/对等连接访问虚拟IP。
您的应用需要具备高可用性并且需要通过Internet访问,同时需要具备安全性(VPN),保证稳定的网络性能(云专线),或者需要通过其他VPC访问(对等连接)。