了解 Azure 虚拟网络
Azure 虚拟网络 (VNet) 是 Azure 中专用网络的基本构建基块。 通过 VNet 可以构建类似于本地网络的复杂虚拟网络,它还提供了 Azure 基础结构的其他优势,例如缩放性、可用性和隔离性。
创建的每个 VNet 都有其自己的 CIDR 块,只要 CIDR 块不重叠,即可链接到其他 VNet 和本地网络。 你还可以控制 VNet 的 DNS 服务器设置,并将虚拟网络划分为子网。
Azure 虚拟网络的功能
借助 Azure VNet,Azure 中的资源可以安全地在相互之间、与 Internet 和本地网络进行通信。
- 与 Internet 之间的通信。 默认情况下,VNet 中的所有资源都可以与 Internet 进行出站通信。 可以通过分配公共 IP 地址或公共负载均衡器来与资源进行入站通信。 还可以使用公共 IP 或公共负载均衡器来管理出站连接。
- Azure 资源之间的通信。 Azure 资源可通过以下三种关键机制进行通信:VNet、VNet 服务终结点和 VNet 对等互连。 虚拟网络不仅可以连接 VM,也可以连接其他 Azure 资源,例如应用服务环境、Azure Kubernetes 服务和 Azure 虚拟机规模集。 可以使用服务终结点连接到其他 Azure 资源类型,例如 Azure SQL 数据库和存储帐户。 创建 VNet 时,VNet 中的服务和 VM 可以在云中安全地互相直接通信。
- 本地资源之间的通信。 安全地扩展数据中心。 可以使用以下任一选项将本地计算机和网络连接到虚拟网络:点到站点虚拟专用网络 (VPN)、站点到站点 VPN、Azure ExpressRoute。
- 筛选网络流量。 可以使用网络安全组和网络虚拟设备的任意组合来筛选子网之间的流量。
- 路由网络流量。 默认情况下,Azure 在子网、连接的虚拟网络、本地网络以及 Internet 之间路由流量。 你可以实现路由表或边界网关协议 (BGP) 路由来替代 Azure 创建的默认路由。
Azure 虚拟网络的设计注意事项
地址空间和子网
可以为每个区域的每个订阅创建多个虚拟网络。 可在每个虚拟网络中创建多个子网。
虚拟网络
创建 VNet 时,请使用 RFC 1918 中枚举的地址范围。 这些地址适用于专用的不可路由地址空间。
- 10.0.0.0 - 10.255.255.255(10/8 前缀)
- 172.16.0.0 - 172.31.255.255(172.16/12 前缀)
- 192.168.0.0 - 192.168.255.255(192.168/16 前缀)
此外,不能添加以下地址范围。
- 224.0.0.0/4(多播)
- 255.255.255.255/32(广播)
- 127.0.0.0/8(环回)
- 169.254.0.0/16(本地链路)
- 168.63.129.16/32(内部 DNS)
Azure 从你预配的地址空间中向虚拟网络中的资源分配一个专用 IP 地址。 例如,如果你在子网地址空间为 192.168.1.0/24 的 VNet 中部署一个 VM,将为该 VM 分配类似于 192.168.1.4. 的专用 IP。 Azure 在每个子网内保留前四个和最后一个,总共五个 IP 地址。 这些地址是 x.x.x.0-x.x.x.3 和子网的最后一个地址。
例如,IP 地址范围 192.168.1.0/24 具有以下保留地址:
- 192.168.1.0
- 192.168.1.1(由 Azure 为默认网关保留。)
- 192.168.1.2、192.168.1.3(由 Azure 保留以将 Azure DNS IP 映射到 VNet 空间。)
- 192.168.1.255(网络广播地址。)
在计划实现虚拟网络时,需要考虑以下事项:
- 确保地址空间不会重叠。 确保 VNet 地址空间(CIDR 块)不与组织的其他网络范围重叠。
- 是否需要任何安全隔离?
- 是否需要缓解任何 IP 寻址限制?
- Azure VNet 与本地网络之间是否有连接?
- 是否需要出于管理目的进行任何隔离?
- 你是否使用了任何创建自己的 VNet 的 Azure 服务?
子网
子网是 VNet 中的一个 IP 地址范围。 你可以将 VNet 划分为不同大小的子网,在订阅限制内创建组织和安全性所需数量的子网。 然后,可以在特定的子网中部署 Azure 资源。 就像在传统网络中一样,使用子网可将 VNet 地址空间划分为适合组织内部网络的网段。 支持的最小 IPv4 子网为 /29,最大为 /2(使用 CIDR 子网定义)。 IPv6 子网的大小必须是 /64。 计划实现子网时,请考虑:
- 每个子网必须具有唯一的地址范围,该范围以无类别域际路由选择 (CIDR) 格式指定。
- 某些 Azure 服务需要自己的子网。
- 子网可用于流量管理。 例如,你可以创建子网以通过网络虚拟设备路由流量。
- 可将对 Azure 资源的访问权限限制为具有虚拟网络服务终结点的特定子网。 可以创建多个子网,并为某些子网启用服务终结点,其他子网则不启用服务终结点。
确定命名约定
在 Azure 网络设计的过程中,为资源规划命名约定非常重要。 有效的命名约定可以根据有关每个资源的重要信息构造资源名称。 一个精选的名称有助于快速识别资源的类型、它关联的工作负载、它的部署环境,以及托管它的 Azure 区域。 例如,驻留在美国西部区域的生产 SharePoint 工作负载的公共 IP 资源可能是 pip-sharepoint-prod-westus-001
所有 Azure 资源类型都有一个范围,用于定义资源名称必须唯一的级别。 资源必须具有一个在其范围中唯一的名称。 可以在以下四个级别指定范围:管理组、订阅、资源组和资源。 范围是分层的,层次结构的每个级别使范围更加具体。
例如,虚拟网络有资源组范围;也就是说,在每个资源组中,只能有一个名为 vnet-prod-westus-001 的网络。 其他资源组可以有自己的 vnet-prod-westus-001 虚拟网络。 子网的范围限定为虚拟网络,因此虚拟网络中的每个子网必须具有不同的名称。
了解区域和订阅
在 Azure 区域和订阅中创建所有 Azure 资源。 只能在与资源位于相同区域和订阅的虚拟网络中创建资源。 但是,可连接存在于不同订阅和区域中的虚拟网络。 当你设计与基础结构、数据、应用程序和最终用户相关的 Azure 网络时,需要考虑 Azure 区域。
可根据需要在每个订阅中部署尽可能多的虚拟网络,直到达到订阅上限。 例如,具有全球部署的一些大型组织具有在区域之间连接的多个虚拟网络。
Azure 可用性区域
使用 Azure 可用性区域可以定义区域中的唯一物理位置。 每个区域由一个或多个数据中心组成,这些数据中心配置了独立电源、冷却和网络。 它设计为确保 Azure 服务的高可用性,在数据中心发生故障时,区域中可用性区域的物理隔离可以为应用程序和数据提供保护。
在设计 Azure 网络时应考虑可用性区域,并规划可支持可用性区域的服务。
支持可用性区域的 Azure 服务分为三类:
- 区域性服务。 资源可固定到特定的局部区域。 例如,可以将虚拟机、托管磁盘或标准 IP 地址固定到特定区域。 此计划允许通过跨区域分布一个或多个资源实例来提高复原能力。
- 区域冗余服务。 资源自动在各个区域间复制或分布。 Azure 在三个区域内复制数据,这样可避免区域故障影响数据的可用性。
- 非区域性服务。 服务从 Azure 地理位置提供,可以灵活应对区域范围的服务中断。