【云计算】云数据中心网络(一):VPC

news2024/11/18 4:40:01

云数据中心网络(一):VPC

  • 1.什么是 VPC
  • 2.VPC 的组成
    • 2.1 虚拟交换机
    • 2.2 虚拟路由器
  • 3.VPC 网络规划
    • 3.1 VPC 数量规划
    • 3.2 交换机数量规划
    • 3.3 地址空间规划
    • 3.4 不同规模企业地址空间规划实践
  • 4.VPC 网络高可靠设计
    • 4.1 单地域单可用区部署
    • 4.2 单地域多可用区部署
    • 4.3 多地域多可用区部署
  • 5.VPC 网络安全设计
    • 5.1 网络 ACL
    • 5.2 安全组
    • 5.3 流量加密
    • 5.4 流量镜像
  • 6.VPC 的运维管理
    • 6.1 共享 VPC
    • 6.2 流日志

在这里插入图片描述

推荐阅读:《虚拟私有云 VPC》

1.什么是 VPC

VPC 是用户在云上可自己掌控的 私有网络环境,例如 选择 IP 地址范围配置路由表和网关构建混合云 等。用户还可以在自己定义的 VPC 中使用如 云服务器云数据库负载均衡 等产品。

VPC 初期主要解决两个核心问题:一是 多租户网络隔离问题,二是随之带来的 用户从 VPC 内访问众多云服务的问题。随着越来越多的企业用户上云,企业级网络的需求越来越多,VPC 要解决的问题也包括 帮助企业更平滑地上云,让企业在线下 IDC(Internet Data Center,互联网数据中心)里的网络架构、运维管理体系能平滑地迁移到云上。

VPC 的核心是 为每个租户都提供一个类似于线下 IDC 那样的完全隔离的、可自定义的网络环境。在 VPC 中,有和线下 IDC 对应的 虚拟路由器虚拟交换机虚拟防火墙。这些虚拟路由器、虚拟交换机、虚拟防火墙对于大多数场景是免费的,用户还可以自定义各种配置,如下图所示。
在这里插入图片描述

2.VPC 的组成

云网络颠覆了传统数据中心的组网方式。VPC 让用户感知不到线下数据中心各种复杂的物理网络设备和物理连线。用户在 VPC 中看到的是 虚拟交换机虚拟路由器

2.1 虚拟交换机

在一个 VPC 内部一般有多个不同的子网。一个虚拟交换机(vSwitch)对应一个子网。每个子网都可以对应不同的功能、业务,或业务部门,如下图所示。
在这里插入图片描述
网络是为上层应用和业务服务的,对应于不同的应用和业务架构有不同的子网。对于中大型企业,每个业务部门都有不同的业务和应用,子网划分会变得更加复杂,原则如下。

  • 不同功能区划分不同子网。最直观的例子就是把网络划分为公有子网和私有子网。公有子网对应线下 IDC 的 DMZ 区,和互联网直接交互。私有子网对应线下 IDC 的应用服务器区,不直接和互联网交互,而是和 DMZ 的前置机交互。
  • 不同应用划分不同子网。如果企业内部有多个不同的部门,或者有多个相对独立的不同应用,那么可以把不同部门或不同应用划分到对应的子网,对不同子网内的资源进行相对独立的管理,还可以在子网边界上通过网络 ACL 设置相应的安全策略和访问控制。

2.2 虚拟路由器

虚拟路由器(vRouter)是 VPC 的枢纽。作为 VPC 中重要的功能组件,它可以连接 VPC 内的各个交换机,同时是连接 VPC 和其他网络的网关设备。每个 VPC 创建成功后,系统都会自动创建一个路由器,每个路由器都关联一张路由表。在云网络中,大部分路由都是默认添加好了的,如果用户没有特殊需求,不需要额外配置,但用户在自定义网关和代理、混合云、多 VPC 互联等场景下需要在虚拟路由器上自定义路由的配置。

  • 主路由表:每个 VPC 都只有一个主路由表。主路由表里有 VPC 网段的本地路由,还有云服务的系统路由。用户在主路由表里可以配置自定义路由,自定义路由的下一跳为 ECS 实例、弹性网卡、VPC Peering、虚拟边界路由器等。
  • 子网路由表:主路由表是 VPC 粒度 的,子网路由是 子网 / 交换机粒度 的。如果交换机关联了子网路由,那么会优先查子网路由表里的路由。通过子网路由,用户的网络将具备一些高级的功能,如在 VPC 中部署集中式防火墙,或者后端应用子网只关联私网路由表,前端 DMZ 子网关联公网路由表。

3.VPC 网络规划

对一个网络来讲,网络规划是最基础的,也是第一步。对于云上网络规划,我们要考虑的常见问题包括:

  • 需要使用多少个 VPC;
  • 需要使用多少个交换机;
  • 选择什么地址段;
  • 每个地址段规划多大;
  • 未来业务会如何发展;
  • 云上 VPC 和云下 IDC 构建混合云,怎么规划地址空间;
  • 如何避免地址冲突。

在创建 VPC 和交换机前,需要结合业务的具体情况来规划 VPC 和交换机的数量及网段等。

3.1 VPC 数量规划

如果用户没有多地域部署系统的要求,各系统之间也不需要通过 VPC 隔离,那么可以考虑使用一个 VPC。反之,如果用户有在多地域部署系统的需求,或者在一个地域的不同业务系统间需要隔离,则需要使用多个 VPC。例如,生产环境和测试环境的隔离,如下图所示。
在这里插入图片描述
另外,集团企业不同于子公司的业务系统往往也要求进行业务隔离,此时,可以考虑为每个子公司配置一个 VPC,但对有通信需求的子公司 VPC,可以加入云企业网,通过路由等策略进行进一步的通信控制。

3.2 交换机数量规划

即使只使用一个 VPC,也尽量使用至少两个交换机,并且将两个交换机布置在不同可用区,这样可以实现跨可用区容灾。

同一地域不同可用区之间的网络通信时延很小,但也需要经过业务系统的适配和验证。系统调用复杂、应用层处理时间长、跨可用区多次调用等原因,可能产生期望之外的网络时延,需要进行系统优化和适配,在高可用和低时延之间找到平衡。

使用多少个交换机还和系统规模、系统规划有关。如果前端系统可以被公网访问并且有主动访问公网的需求,考虑到容灾的需要,可以将不同的前端系统部署在不同的交换机下,将后端系统部署在另外的交换机下。

3.3 地址空间规划

对于 VPC 网段的选择,用户可以使用 192.168.0.0/16172.16.0.0/1210.0.0.0/8 这三个私网网段及其子网作为 VPC 的私网地址范围。在规划 VPC 网段时,请注意:

  • 如果云上只有一个 VPC 并且不需要和云下数据中心互通,那么可以选择上述私网网段中的任何一个网段或其子网。
  • 如果有多个 VPC,或者有 VPC 和云下数据中心构建混合云的需求,那么建议使用上面这些标准网段的子网作为 VPC 的网段,掩码建议不超过 16 位。

对于交换机网段的选择,首先,交换机的网段必须是其所属 VPC 网段的子集。例如,VPC 的网段是 192.168.0.0/16,那么该 VPC 下的交换机的网段可以是 192.168.0.0/17,一直到 192.168.0.0/29。其次,在规划交换机网段时,请注意:

  • 交换机的网段大小在 16 16 16 位网络掩码与 29 29 29 位网络掩码之间,可提供 8 − 65536 8 - 65536 865536 个地址。 16 16 16 位掩码能支持 65532 65532 65532 个 ECS 实例,对于绝大多数用户来说都是够用的。而对于小于 29 29 29 位掩码的,容纳的实例数量太少,没有意义。
  • 每个交换机的第一个和最后三个 IP 地址为系统保留地址。以 192.168.1.0/24 为例,192.168.1.0192.168.1.253192.168.1.254192.168.1.255 是系统保留地址。

对于多 VPC 互通或者构建混合云的场景,确保 VPC 的网段和要互通的网络的网段都不冲突,建议遵循以下网段规划原则:

  • 尽可能做到不同 VPC 的网段不同,不同 VPC 可以使用标准网段的子网来增加 VPC 可用的网段数。
  • 如果不能做到不同 VPC 的网段不同,则尽量保证不同 VPC 的交换机网段不同。
  • 如果也不能做到交换机网段不同,则保证要通信的交换机网段不同。

有的云服务商提供了私网 NAT 产品来解决地址冲突又需要通信的问题,我们建议在规划时就避免这个问题。

地址空间规划中一个需要重点考虑的问题是 VPC 或者交换机能容纳的实例数量,也就是业务规模。对于大部分用户来说,这可能不是问题,但对于部分企业级大用户,尤其是采用云原生技术架构的用户来说,单 VPC 可能需要容纳几万,甚至更多的实例。

3.4 不同规模企业地址空间规划实践

拥有 50 台左右服务器的中小企业,没有多地域部署和混合云需求,在大部分情况下,一个 VPC 就够用了,选择系统默认的 10.0.0.0/8172.16.0.0/12192.168.0.0/16 三个网络地址段之一即可。它们都是 RFC1918 定义的私网地址段,网络地址掩码不同,每个网段容纳的主机数量也不同。但不管哪个地址段,对于中小企业来说都是够用的。所以,根据历史习惯,选择对应的网段即可。

对于交换机,默认建议至少使用两台交换机,并且这两台交换机分布在不同可用区。当然,分布在不同可用区,时延可能会稍微增加,用户可以根据自己的业务系统对时延的要求做出选择。

中大型企业,出于高可用和提升用户体验的目的,往往在不同地域部署业务系统,这些业务系统有内网通信需求。为了做到跨可用区容灾,每个地域还需要把业务系统部署在多个可用区。此外,还涉及和线下 IDC 互通、生产和测试系统严格隔离等需求。此时,VPC 的地址空间规划就会稍微复杂一些。整体原则是保持可扩展性,避免地址冲突。

多地域部署业务系统,必然需要使用多个 VPC,而默认的 VPC 地址段有三个,为了避免地址冲突,除上述提到的用不同网段的地址空间外,还可以把一个类型的网段的网络掩码变长一些。比如 10.0.0.0/8 的地址空间可以被拆成 10.1.0.0/1610.2.0.0/16 …… 10.255.0.0/16,共 256 个子地址空间。我们可以把 VPC 的地址空间规划成 /16 掩码的,这样每个 VPC 的地址空间都是独立和互不冲突的。同时,需要保证线下 IDC 的地址空间不发生冲突。对于生产环境和测试环境的严格隔离,只需要把生产系统和测试系统分别部署到不同 VPC 即可,但考虑到未来可能的通信需求,也建议在规划时考虑地址冲突问题。因为需要跨可用区容灾,所以在每个 VPC 内至少要使用两台交换机。

为了满足多地域和混合云内网通信需求,必然要使用 云企业网。和 VPC 是地域级别的网络不同,云企业网是一个 全球网络,绝大多数用户使用一个云企业网即可。云企业网提供了强大的路由控制能力以实现云企业网内不同的实例之间精细的访问控制。

4.VPC 网络高可靠设计

网络设计中十分关键的一环就是高可靠设计。网络可靠性涉及网络部署、网络链路等层面。从 VPC 角度看,主要是业务部署的可靠性。多可用区多地域 的网络部署可以让网络的可靠性级别呈数量级的提升。业务部署主要从 单地域单可用区单地域多可用区多地域多可用区 这三层次来考虑可靠性。

4.1 单地域单可用区部署

单地域单可用区部署指只在某一个地域的某一个可用区部署业务系统,这样的业务部署可以获得最低的网络时延,但如果业务部署所在的可用区出现故障(概率低),或者某个可用区的业务系统本身出现故障,那么整个业务系统将不可用。从可靠性角度来说,这是不推荐的业务部署方式。

4.2 单地域多可用区部署

单地域多可用区部署指在某一个地域的多个可用区部署业务系统。即使用一个 VPC,且 VPC 内至少使用两台分布在不同可用区的交换机,如下图所示。在业务系统支持的情况下,单地域多可用区部署业务系统可以避免单个可用区故障导致的系统不可用。单地域部署不能避免的是整个地域不可用导致的系统不可用,当然发生这种情况的概率极低。将子网分布在不同可用区,在不同可用区同时部署业务,可以支持 同城双活同城多可用区 高可靠解决方案的构建,云网络是天然支持这种部署方式的。

需要注意的是,阿里云的子网只能归属到一个可用区。构建同城双活、同城多可用区高可靠方案,需创建多个对应的子网。
在这里插入图片描述

4.3 多地域多可用区部署

多地域多可用区部署指在多个地域,且在每个地域的多个可用区部署业务系统。这是最可靠的业务部署方式。对于一些大企业用户,单地域多可用区的高可靠方案,仍然无法满足其高可靠需求,此时需要使用多地域多可用区的高可靠方案,如银行的 两地三中心 方案。这种多地域业务部署的网络互联方案可以通过云网络产品构建。云企业网可以把多个地域的不同 VPC 连接起来,让用户方便地部署多地域多可用区的网络架构,如下图所示。
在这里插入图片描述

5.VPC 网络安全设计

网络安全是关键一环,涉及面非常广,包括租户安全隔离、通信安全、安全防护等。这里仅从 VPC 角度出发介绍相关的网络安全设计,包括网络层面的访问控制、网络流量的加解密,以及为了实现更高级别的应用层安全所需要的流量镜像等。

5.1 网络 ACL

网络 ACLNetwork Access Control List)是 VPC 中的网络访问控制功能。用户可以自定义设置网络 ACL 规则,并将网络 ACL 与交换机绑定,实现对交换机中云服务器 ECS 实例的流量访问控制。

子网间网络访问控制策略:网络安全设计中很重要的一点是划分网络安全边界。在把不同业务或不同部门划分到 VPC 的不同子网后,可以通过网络 ACL,在不同的子网边界部署安全访问控制策略,以实现网络的安全访问控制。

网络 ACL 的规则是无状态的,在设置入方向规则的允许请求后,需要同时设置相应的出方向规则,否则可能导致请求无法响应。

VPC 边界的网络访问控制策略:VPC 存在和外部网络互联的边界,将网络 ACL 应用到对应的子网 / 交换机可以实现对互联网流量的网络访问控制,如下图所示。
在这里插入图片描述
比较典型的应用场景包括:

  • 黑白名单:明确拒绝或接受一些公网 IP 地址的流量。
  • 主动安全防护:仅放行一些特定协议和端口的流量到后端。

5.2 安全组

网络 ACL 是对应 子网粒度 的访问控制策略,而对应 主机粒度 的访问控制策略,是 安全组

安全组是一种虚拟防火墙,具备状态检测和数据包过滤的功能,用于在云端划分安全域。通过配置安全组规则,可以控制安全组内 ECS 实例的入流量和出流量。

安全组是有状态的。例如,在会话期内,如果连接的数据包在入方向是被允许的,则在出方向也是被允许的。

5.3 流量加密

VPN 产品访问云上的数据通过 IPSec 和 SSL VPN 方式进行加密,负载均衡产品访问云上的数据通过 HTTPS 方式进行加密。一些对安全性要求较高的行业,对于 VPC 内私网数据也有加密的需求。

5.4 流量镜像

在一些场景下,用户需要对流量做深层次的分析,例如详细的流量内容审计或者深入的安全趋势分析就用到了流量镜像。

流量镜像将用户想要分析的流量镜像发送到一个目的地址,此时发送的流量包含报文头和流量负载内容,如下图所示。
在这里插入图片描述

6.VPC 的运维管理

企业级云网络对运维和管理的要求较高,包括分权分域维护、流日志管理等。

6.1 共享 VPC

中大型企业用户的 IT 架构一般比较复杂,对网络的运维能力要求也比较高,很多大企业的网络运维团队和业务运维团队是分开的,对资源的分权分域要求也比较高,因此,阿里云推出了共享 VPC(Shared VPC)功能,如下图所示。
在这里插入图片描述
共享 VPC 的核心是支持网络架构由网络管理员统一构建、设计和管理,可以做到业务运维团队感知不到底层的网络架构,专注于服务器、数据库等应用资源的管理和维护。网络管理员在部署完成整个云网络架构后,可以通过共享 VPC 把不同的子网 / 交换机共享(分配)给不同的业务团队使用,业务团队只需要在子网中部署应用系统,无须关注 VPC 间的互联方案、防火墙、安全、公网等较复杂的网络配置。

6.2 流日志

VPC 提供流日志(Flowlog)功能, 可以记录 VPC 中弹性网卡(Elastic Network InterfaceENI)传入和传出的流量信息,帮助用户检查访问控制规则、监控网络流量和排查网络故障。

用户可以捕获指定弹性网卡、指定 VPC 或交换机的流量。如果选择为 VPC 或交换机创建流日志,则会捕获 VPC 和交换机中所有弹性网卡的流量,包括在开启流日志功能后新建的弹性网卡。

流日志功能的流量信息会以流日志记录的方式写入日志服务中。每条流日志记录会捕获特定捕获窗口中的特定五元组网络流。捕获窗口大约为 10 分钟,流日志服务在这段时间内会先聚合数据,再发布流日志记录。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1573619.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【鸿蒙 HarmonyOS】@ohos.promptAction (弹窗)

一、背景 创建并显示文本提示框、对话框和操作菜单。 文档地址👉:文档中心 说明 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 该模块不支持在UIAbility的文件声明处使用,即…

Premiere Pro 2024:赋予创意翅膀,让你的视频飞翔 mac/win版

Premiere Pro 2024,作为Adobe旗下的旗舰视频编辑软件,自推出以来,一直在视频制作领域占据着重要的地位。随着技术的不断进步和创新,Premiere Pro 2024为用户带来了前所未有的编辑体验,重新定义了视频制作的标准。 Pre…

爬虫 新闻网站 以湖南法治报为例(含详细注释) V1.0

目标网站:湖南法治报 爬取目的:为了获取某一地区更全面的在湖南法治报已发布的宣传新闻稿,同时也让自己的工作更便捷 环境:Pycharm2021,Python3.10, 安装的包:requests,csv&#xff…

刷题之Leetcode283题(超级详细)

283.移动零 283. 移动零https://leetcode.cn/problems/move-zeroes/ 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nu…

深度剖析鞋服品牌商品数字化管理的重要性

随着信息技术的迅猛发展与市场竞争的加剧,鞋服品牌商品数字化管理的重要性愈发凸显。数字化管理不仅关乎企业运营效率的提升,更是品牌实现差异化竞争、提升顾客体验、构建智慧零售生态的关键所在。对于鞋服品牌企业而言,提升商品数字化管理的…

P2089 烤鸡、P1706 全排列问题、P1157 组合的输出、P1036 [NOIP2002 普及组] 选数——Python代码实现(带注释)

P2089 烤鸡 题目背景 猪猪 Hanke 得到了一只鸡。 题目描述 猪猪 Hanke 特别喜欢吃烤鸡(本是同畜牲,相煎何太急!)Hanke 吃鸡很特别,为什么特别呢?因为他有 1010 种配料(芥末、孜然等&#xf…

面试经典150题——K 个一组翻转链表

1. 题目描述 2. 题目分析与解析 在这里推荐大家看一下这个解题思路: https://www.bilibili.com/video/BV11w411V7Ar/?spm_id_from333.337.search-card.all.click&vd_source7ea7c036902f5cb73c7f4781d1b0eaff 整体的算法思路如下: 初始化&#xff1a…

AWS入门实践-利用S3构建一个静态网站

使用Amazon S3托管静态网站是一个流行的选择,因为它简单、成本效益高,并且易于维护。静态网站由不含服务器端脚本的文件组成,如HTML、CSS和JavaScript文件。下面是使用S3托管静态网站的操作步骤: 如果大家没有AWS免费账号&#x…

【C++】背包问题

目录 背包问题01 背包背包不装满问题背包必须满问题 完全背包 背包问题 背包问题属于动态规划的一类题型 01 背包 背包不装满问题 背包必须满问题 #include <iostream> using namespace std; const int N 1010; #include <vector> int main() {int n , V;int v[…

AJAX —— 学习(三)(完结)

目录 一、jQuery 中的 AJAX &#xff08;一&#xff09;get 方法 1.语法介绍 2.结果实现 &#xff08;二&#xff09;post 方法 1.语法介绍 2.结果实现 &#xff08;三&#xff09;通用型的 AJAX 方法 1.语法介绍 2.结果实现 二、AJAX 工具库 axios &#xff08…

批量导入svg文件作为图标使用(vue3)vite-plugin-svg-icons插件的具体应用

目录 需求svg使用简述插件使用简述实现安装插件1、配置vite.config.ts2、src/main.ts引入注册脚本3、写个icon组件4、使用组件 需求 在vue3项目中&#xff0c;需要批量导入某个文件夹内数量不确定的svg文件用来作为图标&#xff0c;开发完成后能够通过增减文件夹内的svg文件&a…

C++高频面试知识总结 part2

C高频面试 1.sizeof是什么&#xff1f;sizeof一个class大小怎么确定&#xff1f;是在编译期还是在运行期确定?2.函数重载的机制&#xff0c;重载是在编译期还是在运行期确定&#xff0c;重载有额外开销吗3.函数重写在编译还是运行时确定&#xff1f;4.如何找到虚函数表&#x…

MySQL复制拓扑4

文章目录 主要内容一.启用GUID并配置循环复制1.其中&#xff0c;UUID用来唯一标识每一个服务器&#xff0c;事务的编号记录了在该服务器上执行的事务的顺序。使用SELECT server_uuid\G命令可以查看服务器的UUID&#xff0c;sever1的UUID值显示如下&#xff1a;代码如下&#xf…

架构图设计

我们了解了软件架构后&#xff0c;方便了我们理解软件各方面的解读&#xff0c;但是如果我们开发中有必要自己设计架构图吗&#xff1f;有&#xff0c;但是不会轮到你。这里浅浅讲一下软构图的设计&#xff0c;相信当你用一张或几张图来描述系统时&#xff0c;是不是经常遇到以…

域控报错:Windows无法创建对象 XX,因为目录服务无法分配相对标识符。

当域控制器报告错误“Windows无法创建对象&#xff0c;因为目录服务无法分配相对标识符”时&#xff0c;这通常是指在Active Directory环境中尝试创建新用户、计算机或其他安全主体时&#xff0c;域控制器无法从预先分配给每个域的RID&#xff08;Relative Identifier&#xff…

Fire Smoke - Dynamic Nature

烟雾、火灾和爆炸预制件、着色器的集合。粒子支持HD、URP和标准渲染,自然制造风,因此它们对风速、方向和颤抖做出反应。 包装支持: Unity 2021.2及更高版本 Unity 2021.2 HD RP Unity 2021.2 URP Unity 2021.3及更高版本 Unity 2021.3 LTS HD RP Unity 2021.3 LTS URP Unity…

【SkyWorking】服务追踪工具

使用 Jar 启动时添加 VM 参数 -javaagent:/path/to/apache-skywalking-apm-incubating/agent/skywalking-agent.jar -Dskywalking.agent.application_codeYOUR_APP_NAME或 -javaagent:D:\city\skywalking-agent\skywalking-agent.jaragent.service_namemy-service,agent.instan…

贪心算法|45.跳跃游戏II

力扣题目链接 class Solution { public:int jump(vector<int>& nums) {if (nums.size() 1) return 0;int curDistance 0; // 当前覆盖最远距离下标int ans 0; // 记录走的最大步数int nextDistance 0; // 下一步覆盖最远距离下标for (int i 0;…

YoloV8实战:使用YoloV8实现水下目标检测(RUOD)

摘要 水下目标检测技术在生态监测、管道检修、沉船捕捞等任务中发挥着重要作用。常用的检测方法包括高清视像、侧扫声呐等。光学图像检测因高分辨率和灵活性&#xff0c;在近距离检测中优势显著。但水下图像受水体吸收、衰减、光源分布等影响&#xff0c;呈现蓝绿色&#xff0…

拾光坞N3 ARM 虚拟主机 i茅台项目

拾光坞N3 在Dcoker部署i茅台案例 OS&#xff1a;Ubuntu 22.04.1 LTS aarch64 cpu&#xff1a;RK3566 ram&#xff1a;2G 部署流程——》mysql——》java8——》redis——》nginx mysql # 依赖 apt update apt install -y net-tools apt install -y libaio* # 下载mysql wg…