了解 Azure 虚拟网络

已完成

你打算保留一个本地数据中心,但希望通过 Azure 中托管的虚拟机 (VM),使用 Azure 来转移高峰流量。 你想要保留现有 IP 寻址方案和网络设备,同时保证所有数据传输均安全无忧。

什么是 Azure 虚拟网络?

Azure 虚拟网络可让 Azure 资源(例如虚拟机、Web 应用和数据库)相互通信、与 Internet 上的用户通信,以及与本地客户端计算机通信。 可将 Azure 网络视为一组资源,它们与其他 Azure 资源进行链接。

Azure 虚拟网络提供重要的网络功能:

  • 隔离和分段
  • Internet 通信
  • Azure 资源之间的通信
  • 与本地资源通信
  • 路由网络流量
  • 筛选网络流量
  • 连接虚拟网络

隔离和细分

通过 Azure,可创建多个隔离的虚拟网络。 设置虚拟网络时,请使用公共或专用 IP 地址范围定义一个专用 Internet 协议 (IP) 地址空间。 然后可将该 IP 地址空间划分为子网,并将部分已定义的地址空间分配给每个命名的子网。

对于名称解析,可以使用 Azure 的内置名称解析服务,也可以将虚拟网络配置为使用内部或外部的域名系统 (DNS) 服务器。

Internet 通信

Azure 中的 VM 可默认连接到 Internet。 可以通过定义公共 IP 地址或公共负载均衡器来启用从 Internet 传入的连接。 若要管理 VM,可通过 Azure CLI、远程桌面协议 (RDP) 或安全外壳 (SSH) 实现连接。

Azure 资源之间的通信

需要让 Azure 资源能够安全地进行相互通信。 为此,可使用下列任一方式:

  • 虚拟网络

    虚拟网络不仅可以连接 VM,也可以连接其他 Azure 资源,例如应用服务环境、Azure Kubernetes Service 和 Azure 虚拟机规模集。

  • 服务终结点

    可以使用服务终结点连接到其他 Azure 资源类型,例如 Azure SQL 数据库和存储帐户。 此方法可以将多个 Azure 资源连接到虚拟网络,因此可以提高安全性并在资源之间提供最佳路由。

与本地资源通信

可以通过 Azure 虚拟网络将本地环境中的和 Azure 订阅中的资源链接到一起,实际上就是创建一个横跨本地环境和云环境的网络。 可以通过三种机制实现此连接:

  • 点到站点虚拟专用网

    此方法与虚拟专用网 (VPN) 连接一样(即将组织外部的计算机连接回企业网络),只是方向相反而已。 在这种情况下,客户端计算机会启动到 Azure 的加密 VPN 连接,将该计算机连接到 Azure 虚拟网络。

  • 站点到站点虚拟专用网:站点到站点 VPN 将本地 VPN 设备或网关链接到虚拟网络中的 Azure VPN 网关。 实际上,Azure 中的设备看起来可能就像在本地网络中一样。 连接经过加密,是通过 Internet 进行的。

  • Azure ExpressRoute

    对于需要更大带宽甚至更高级别安全性的环境,Azure ExpressRoute 是最好的方法。 Azure ExpressRoute 提供到 Azure 的专用连接,该连接不经过 Internet。

路由网络流量

默认情况下,Azure 会在任何连接的虚拟网络的子网、本地网络以及 Internet 之间路由流量。 但是,可以控制路由并覆盖这些设置,如下所示:

  • 路由表

    可通过路由表来定义流量定向规则。 可以创建自定义路由表,用于控制数据包在子网之间的路由方式。

  • 边界网关协议

    边界网关协议 (BGP) 适用于 Azure VPN 网关或 ExpressRoute,用于将本地 BGP 路由传播到 Azure 虚拟网络。

筛选网络流量

Azure 虚拟网络允许使用以下方法筛选子网之间的流量:

  • 网络安全组

    网络安全组 (NSG) 是一种 Azure 资源,可包含多个入站和出站安全规则。 可以根据源和目标 IP 地址、端口和协议等因素来定义这些允许或阻止流量的规则。

  • 网络虚拟设备

    网络虚拟设备是一种可以与强化网络设备相比较的专用 VM。 网络虚拟设备执行特定的网络功能,例如运行防火墙或执行 WAN 优化。

连接虚拟网络

可以通过虚拟网络对等互连将虚拟网络链接到一起。 每个虚拟网络中的资源可以通过对等互连相互通信。 这些虚拟网络可以位于不同的区域,因此可以通过 Azure 创建全球互连的网络。

Azure 虚拟网络设置

可以通过 Azure 门户、Azure PowerShell(位于本地计算机上)或 Azure Cloud Shell 创建并配置 Azure 虚拟网络。

创建虚拟网络

创建 Azure 虚拟网络时,请配置多项基本设置。 还可以配置高级设置,例如多个子网、分布式拒绝服务 (DDoS) 防护以及服务终结点。

Screenshot of the Azure portal showing an example of the Create virtual network pane fields.

你需要为基本虚拟网络配置以下设置:

  • 网络名称

    网络名称必须在订阅中唯一,但无需全局唯一。 确保该名称是一个描述性的名称、易于记忆且易于与其他虚拟机网络区分。

  • 地址空间

    设置虚拟网络时,请按无类别域际路由 (CIDR) 格式定义内部地址空间。 此地址空间必须在订阅中唯一,且在连接的所有其他网络中唯一。

    假设你为第一个虚拟网络选择 10.0.0.0/24 的地址空间。 此地址空间中定义的地址介于 10.0.0.1 - 10.0.0.254 范围之间。 然后,创建第二个虚拟网络,并选择地址空间 10.0.0.0/8。 此地址空间中定义的地址介于 10.0.0.1 - 10.255.255.254 范围之间。 某些地址出现重叠,不能用于两个虚拟网络。

    但是,你可使用 10.0.0.0/16(地址范围为 10.0.0.1 - 10.0.255.254),也可使用 10.1.0.0/16(地址范围为 10.1.0.1 - 10.1.255.254)。 你可将这些地址空间分配到虚拟网络,因为此处不存在地址重叠。

    注意

    可以在创建虚拟网络后添加地址空间。

  • 订阅

    仅在有多个可供选择的订阅的情况下适用。

  • 资源组

    与其他任何 Azure 资源一样,虚拟网络需存在于资源组中。 可选择现有的 Azure 资源组,也可创建新的资源组。

  • 位置

    选择要在其中创建虚拟网络的位置。

  • 子网

    在每个虚拟网络地址范围中,可以创建一个或多个用于将虚拟网络的地址空间分区的子网。 随后的子网之间的路由将取决于默认流量路由,或者取决于定义的自定义路由。 也可定义一个子网,令其涵盖所有虚拟网络的地址范围。

    注意

    子网名称必须以字母或数字开头,以字母、数字或下划线结尾,且仅可包含字母、数字、下划线、句点或连字符。

  • 分布式拒绝服务 (DDoS) 防护

    可以选择基本或标准 DDoS 防护。 标准 DDoS 防护是一项高级服务。 要详细了解 DDoS 防护,请参阅 Azure DDoS 防护

  • 服务终结点

    请在此处启用服务终结点,然后从列表中选择要启用哪些 Azure 服务终结点。 可以选择包括 Azure Cosmos DB、Azure 服务总线、Azure Key Vault 等。

配置这些设置后,选择“创建”。

定义其他设置

创建虚拟网络后,可定义其他设置。 这些设置包括:

  • 网络安全组

    网络安全组包含安全规则,使用这些规则可以筛选可流入和流出虚拟网络子网与网络接口的流量类型。 请单独创建网络安全组,然后将其与虚拟网络相关联。

  • 路由表

    Azure 自动为 Azure 虚拟网络中的每个子网创建一个路由表,并向该表添加系统默认路由。 但是,可以通过添加自定义路由表来修改虚拟网络之间的流量。

你也可以修改服务终结点。

Screenshot of the Azure portal showing an example pane for editing virtual network settings.

配置虚拟网络

创建虚拟网络后,可在 Azure 门户的“虚拟网络”窗格中更改其他任何设置。 也可以使用 PowerShell 命令或 Cloud Shell 中的命令进行更改。

Screenshot of the Azure portal showing an example pane for configuring a virtual network.

然后,可在其他子窗格中查看并更改设置。 这些设置包括:

  • 地址空间:可以向初始定义添加更多地址空间。

  • 连接的设备:使用虚拟网络连接计算机。

  • 子网:添加其他子网。

  • 对等互连:以对等互连方式链接虚拟网络。

还可监视虚拟网络并排查其错误,或者创建用于生成当前虚拟网络的自动化脚本。

虚拟网络是用于连接 Azure 中实体的强大且高度可配置的机制。 可将 Azure 资源互相连接,或者连接到本地资源。 你可以隔离、筛选和路由网络流量,Azure 允许你根据需要提高安全性。