EDUCBA-Azure-网络基础笔记-全-
EDUCBA Azure 网络基础笔记(全)
001:公共IP地址

在本节课中,我们将要学习Azure中的公共IP地址。公共IP地址是允许资源从互联网被访问的关键组件。我们将探讨其类型、SKU选项以及如何将其分配给虚拟机。
公共IP地址类型
上一节我们介绍了公共IP地址的基本概念,本节中我们来看看它的两种主要分配类型:动态和静态。


公共IP地址有两种分配类型:
- 动态公共IP地址:这是默认设置。当资源(如虚拟机)重启或停止后重新启动时,其公共IP地址可能会改变。其生命周期与Azure资源的运行状态紧密相关。
- 静态公共IP地址:此地址在分配后不会改变,即使资源重启。它会在资源的整个生命周期内保持不变,直到你手动取消分配。
以下是不同Azure服务对IP类型的支持情况:
- 支持动态和静态:负载均衡器、虚拟机、应用程序网关。
- 仅支持静态:VPN网关、防火墙、NAT网关。
公共IP地址SKU
了解了IP地址的类型后,接下来我们看看公共IP地址的两种服务等级(SKU):基本版和标准版。它们提供了不同的功能集。


以下是基本SKU和标准SKU的主要区别:
| 特性 | 基本SKU | 标准SKU |
|---|---|---|
| 分配方法 | 支持静态和动态分配。 | 仅支持静态分配。 |
| 安全默认值 | 默认开放所有入站流量。建议自行配置防火墙。 | 默认关闭所有入站流量。必须使用网络安全组(NSG)显式允许所需流量。 |
| 可分配对象 | 可分配给网络接口、VPN网关、基本公共负载均衡器或应用程序网关。 | 可分配给网络接口、标准公共负载均衡器或应用程序网关。 |
| 可用性区域 | 不支持可用性区域场景。 | 支持区域冗余、区域性或非区域IP地址。 |
自定义IP地址前缀


除了使用Azure提供的IP地址,你还可以将自己的IP地址前缀引入Azure网络,这被称为“自带IP地址”(BYOIP)。
自定义IP地址前缀允许你:
- 保留已有的IP地址,以维持良好的网络声誉并避免被列入黑名单。
- 像使用Azure原生公共IP一样,在虚拟网络内部使用这些地址。
- 使用这些IP地址从Azure广域网访问外部目标。
- 通过私有IP地址与Azure资源进行交互。
将自定义IP前缀添加到Azure需要三个步骤:
- 验证:证明你对IP地址前缀拥有所有权。
- 预配:在Azure中注册并预配该IP前缀。
- 委托:将前缀委托给Azure资源使用。
实战:将虚拟机加入虚拟网络
现在,让我们通过一个实际操作,将一台虚拟机加入到现有的虚拟网络中,并观察其IP地址的分配。
- 导航到Azure门户,创建一台新的虚拟机。
- 在创建过程的 “网络” 选项卡中,选择之前创建的虚拟网络(例如
prod-vnet)及其子网。 - 在 “公共IP” 设置处,可以选择“新建”并接受默认(基本SKU,动态IP),也可以稍后附加。
- 配置其他设置(如身份验证、大小等),然后创建虚拟机。
- 部署完成后,在虚拟机的属性中查看其分配到的私有IP地址。例如,如果子网范围是
10.0.0.0/24,Azure会保留前4个和最后1个地址(10.0.0.0-.3和.255),因此第一台虚拟机通常会获得10.0.0.4这个地址。

图示:虚拟机成功部署到指定虚拟网络。

图示:查看虚拟机获取的具体私有IP地址(例如 10.0.0.4)。


总结

本节课中我们一起学习了Azure公共IP地址的核心知识。我们首先区分了动态和静态公共IP地址,然后对比了基本和标准两种SKU在分配方法、安全性和功能上的差异。接着,我们了解了如何将自定义的IP地址前缀引入Azure。最后,通过一个实战演示,我们成功将一台虚拟机加入了现有虚拟网络,并理解了Azure子网内IP地址的自动分配机制。掌握这些是构建安全、可靠Azure网络的基础。
002:Azure路由配置 🧭
在本节课中,我们将学习Azure中的路由配置。我们将了解系统路由和自定义路由的区别,并通过一个实例演示如何创建和使用自定义路由来控制虚拟机之间的流量路径。
系统路由与自定义路由
上一节我们介绍了Azure虚拟网络的基本概念,本节中我们来看看网络流量是如何被引导的,即路由。
Azure中的路由主要分为两种类型:系统路由和自定义路由。
- 系统路由:当你创建一个虚拟网络并在其中部署虚拟机时,Azure会默认附加一个路由表。这些由Azure自动创建和管理的路由就是系统路由。你无法更新或更改这些系统路由,但可以通过自定义路由来覆盖它们。
- 自定义路由:如果你想创建自己定义的路由规则,可以使用自定义路由。这需要你创建自己的路由表并定义路由规则。
为何需要自定义路由? 🎯
为了理解自定义路由的应用场景,让我们看一个例子。
假设在一个虚拟网络中,我们有两个子网:
- 前端子网 (FrontEnd-Snet)
- 后端子网 (BackEnd-Snet)
在同一个网络中,还有一台安装了防火墙的虚拟设备 (Virtual Appliance)。
默认情况下,借助系统路由,前端和后端子网中的虚拟机可以直接相互通信。然而,如果你希望所有从前端到后端的通信流量都必须经过中间的防火墙设备进行安全检查,那么默认的系统路由就无法满足需求。
此时,你就需要创建自定义路由,来强制指定从前端到后端的流量下一跳指向那台虚拟设备。
演示:查看默认系统路由 🔍
在创建自定义路由之前,我们先查看一下Azure提供的默认系统路由。

首先,我们创建一个资源组、一个虚拟网络和一台虚拟机(步骤略)。创建完成后,我们查看虚拟机的有效路由。

- 在Azure门户中,找到并进入你的虚拟机。
- 在“设置”下,点击“网络”。
- 找到关联的网络接口并点击进入。
- 在“支持 + 故障排除”部分,点击“有效路由”。
你将看到一个路由列表,这些都是系统路由。例如,你会看到类似下面这条路由:
地址前缀:10.0.0.0/16
下一跳类型:虚拟网络
状态:有效
这条路由意味着,所有发送到虚拟网络内部地址(10.0.0.0/16)的流量,都会在虚拟网络内部直接转发。你无法修改或删除这些条目。
路由的评估顺序是:首先匹配自定义路由,如果没有匹配项,则应用系统路由。
演示:创建并应用自定义路由 🛠️
现在,我们来创建自定义路由,以实现之前提到的流量引导目标。
步骤1:创建路由表
首先,我们需要创建一个空的路由表容器。
- 在Azure门户中,搜索并进入“路由表”服务。
- 点击“+ 创建”。
- 选择资源组、区域,为路由表命名(例如
MyRouteTable),然后创建它。
步骤2:将路由表关联到子网
创建路由表后,它还没有生效,需要将其关联到目标子网。
- 进入你的虚拟网络。
- 点击“子网”,选择你的虚拟机所在的子网(例如
Subnet-1)。 - 在“路由表”下拉菜单中,选择你刚创建的
MyRouteTable。 - 点击“保存”。
步骤3:在路由表中添加自定义路由
最后,我们在路由表中定义具体的路由规则。
-
进入你创建的
MyRouteTable。 -
在“设置”下,点击“路由”,然后点击“+ 添加”。
-
配置路由规则:
- 路由名称:
Route-To-Firewall - 地址前缀:
10.0.0.0/16(这是你的整个虚拟网络地址空间) - 下一跳类型:选择“虚拟设备”
- 下一跳地址:输入你的虚拟设备(防火墙)的IP地址,例如
10.0.0.8
路由名称: Route-To-Firewall 目标地址前缀: 10.0.0.0/16 下一跳: 虚拟设备 (IP: 10.0.0.8) - 路由名称:
-
点击“添加”。
步骤4:验证自定义路由
添加并等待几分钟让配置传播后,再次查看虚拟机的“有效路由”。
现在,你会发现对于目标地址 10.0.0.0/16,状态为“有效”的路由变成了你自定义的路由,其下一跳指向 10.0.0.8。而原来的系统路由对于该前缀的状态可能显示为“无效”。
这证明自定义路由已成功覆盖了系统路由。从此,该子网内所有发往虚拟网络内部的流量,都会被引导至IP为 10.0.0.8 的虚拟设备。
总结 📚
本节课中我们一起学习了Azure的路由机制。
- 我们了解了系统路由是Azure自动创建和管理的默认路由,无法修改。
- 我们认识了自定义路由,它允许我们创建自己的路由表来定义流量路径,并能覆盖系统路由。
- 我们通过一个实例,演示了为何需要自定义路由(例如强制流量经过防火墙),并逐步完成了创建路由表、关联子网、添加路由规则的全过程。
- 我们明确了路由的评估顺序:自定义路由优先于系统路由。

掌握路由配置是设计安全、可控的Azure网络架构的关键技能,它确保了你的网络流量能够按照企业策略进行流转。
003:Azure虚拟网络连接简介
在本节课中,我们将学习如何在不同的网络之间建立连接。这包括将您的本地网络连接到Azure,以及在Azure内部连接两个虚拟网络。我们将探讨为什么需要这些连接,并介绍几种主要的连接方式。

概述

作为网络工程师,您可能需要将公司网络迁移到云端,并希望实现一个全球传输网络架构,以连接分散在各地的办公室。通过建立网络连接,您可以管理以云为中心的网络环境,利用全球企业IT足迹,并支持远程办公等需求。此外,为了访问位于云端的资源(如文件存储、数据库或应用程序),与云资源建立连接也是必要的。
上一节我们介绍了虚拟网络的基本概念,本节中我们来看看如何实现网络间的互联。
连接选项
以下是几种在Azure中连接网络的主要方式:
-
VPN连接
- 站点到站点VPN:用于将您的本地数据中心连接到Azure虚拟网络。
- 点到站点VPN:用于将单个客户端设备(如个人电脑)连接到Azure虚拟网络。
-
虚拟网络对等互连
- 用于在Azure内部,直接连接两个不同的虚拟网络。


VPN连接详解
VPN(虚拟专用网络)通过在公共网络(如互联网)上建立加密隧道来安全地传输数据。在Azure中,您可以通过VPN建立两种主要连接:
- 站点到站点VPN:这种连接方式在您的本地网络网关与Azure虚拟网络网关之间建立一条安全的隧道。它适用于需要将整个本地网络(如公司数据中心)持续连接到Azure的场景。配置通常涉及在两端设置兼容的VPN设备或网关。
- 点到站点VPN:这种连接方式允许单个设备通过创建安全的VPN连接来访问Azure虚拟网络。它非常适合远程办公人员或需要临时访问云端资源的场景。用户通常需要在设备上安装一个VPN客户端配置文件。
虚拟网络对等互连详解
虚拟网络对等互连是一种将两个Azure虚拟网络直接连接起来的方法。对等互连建立后,两个网络中的资源可以通过私有IP地址直接通信,就像它们在同一网络中一样。这种连接方式流量不经过公共互联网,因此延迟更低、带宽更高且无需额外的网关设备。
总结

本节课中我们一起学习了Azure中主要的网络连接方式。我们了解了站点到站点VPN和点到站点VPN如何通过加密隧道安全地连接本地网络或单个设备到Azure。同时,我们也探讨了虚拟网络对等互连,这是一种在Azure内部高效、直接连接两个虚拟网络的解决方案。掌握这些连接选项,是设计和实施混合云或纯云网络架构的基础。
004:站点间VPN连接简介

在本节课中,我们将要学习Azure中的站点间VPN连接。我们将了解VPN网关的概念、支持的设备类型、不同的架构以及创建站点间VPN连接的具体步骤。
概述
VPN(虚拟专用网络)用于通过安全隧道发送流量。站点间VPN连接特指将本地数据中心连接到Azure虚拟网络。
VPN网关简介
在深入了解站点间VPN之前,我们先讨论VPN网关。VPN网关是一种服务,它使用特定类型的虚拟网络网关,通过公共互联网在Azure虚拟网络和本地位置之间发送加密流量。它建立的就是一个安全隧道。
VPN网关也可用于通过Microsoft网络在Azure虚拟网络之间发送加密流量。此外,可以向同一个VPN网关创建多个连接,所有VPN隧道共享可用的网关带宽。

连接架构与设备
以下是VPN网关支持的三种主要连接架构:
- 站点间连接:用于从本地网络连接到Azure。
- 虚拟网络间连接:用于在Azure内部通过VPN连接不同的虚拟网络。
- 点到站点连接:用于将单个客户端计算机连接到Azure。
本节课我们主要关注站点间连接。要建立站点间连接,您的本地数据中心需要一台兼容的VPN设备。以下是部分支持的VPN设备厂商:

- Cisco
- Citrix
- F5
- 4net
VPN网关SKU



选择VPN网关时,需要根据性能需求选择合适的SKU(库存单位)。以下是第一代网关的部分SKU示例:
| SKU名称 | 最大站点间隧道数 | 聚合吞吐量基准 |
|---|---|---|
| Basic | 10 | 100 Mbps |
| VpnGw1 | 30 | 650 Mbps |
| VpnGw2 | 30 | 1 Gbps |
注意:上表为示例,具体规格请参考官方文档。选择SKU时,需考虑所需的连接数和带宽。



创建站点间VPN连接
上一节我们介绍了VPN网关的基础概念,本节中我们来看看如何一步步创建站点间VPN连接。

先决条件

在开始之前,请确保满足以下条件:

- 拥有一个有效的Azure账户。
- 本地数据中心有一台兼容的VPN设备。
- 该VPN设备拥有一个公共IP地址。
操作步骤
以下是连接本地设备到Azure的核心步骤:

- 创建虚拟网络:在Azure中创建一个虚拟网络(VNet)。
- 创建VPN网关:在VNet中创建一个VPN网关。建议为网关子网分配
/27或更大的地址空间,该子网应仅用于网关资源。 - 查看公共IP地址:创建网关后,在概述页面记下其分配到的公共IP地址。
- 创建本地网络网关:在Azure中创建一个本地网络网关资源,用于代表您的本地网络,需要填写本地VPN设备的公共IP地址和本地地址空间。
- 配置VPN设备:在您的本地VPN设备上进行相应配置,以连接到Azure VPN网关。
- 创建VPN连接:在Azure门户中创建连接资源,将虚拟网络网关和本地网络网关关联起来。连接类型选择“站点到站点”,并配置共享密钥。
- 验证连接:创建连接后,验证其状态是否显示为“已连接”。
- 连接到虚拟机:连接建立后,您就可以从本地网络访问Azure虚拟网络中的虚拟机了。
关键配置项:在创建VPN连接时,必须使用与本地VPN设备配置相同的共享密钥。

总结

本节课中我们一起学习了Azure站点间VPN连接。我们了解了VPN网关的作用、三种连接架构、所需的VPN设备以及如何通过八个主要步骤建立从本地到Azure的安全连接。记住,配置的关键在于确保Azure端的设置与本地VPN设备的设置(尤其是公共IP和共享密钥)相匹配。
005:点到站点VPN连接介绍与配置 🖧
在本节课中,我们将要学习Azure中的点到站点VPN连接。点到站点VPN允许单个客户端计算机与Azure虚拟网络建立安全连接,非常适合远程办公人员或少量客户端需要访问云端资源的情况。
点到站点VPN连接概述
点到站点VPN网关连接允许您从单个客户端计算机创建到虚拟网络的安全连接。该连接由客户端计算机发起建立。此解决方案主要适用于需要从远程位置(例如家中或会议场所)连接到Azure虚拟网络的远程办公人员。
与站点到站点VPN相比,点到站点VPN适用于客户端数量较少的情况。当您只有少数几个客户端需要连接时,可以选择点到站点VPN,而无需建立完整的站点到站点连接。
支持的VPN协议
点到站点VPN支持多种协议,以下是主要的几种:
- OpenVPN协议:这是一种基于SSL或TLS的VPN协议。TLS VPN解决方案通常能够穿透防火墙,因为大多数防火墙开放TCP 443端口用于出站连接,而TLS正是使用此端口。OpenVPN可用于Android、iOS、Windows、Linux和Mac设备。
- SSTP协议:即安全套接字隧道协议,同样是一种基于TLS的VPN协议。它也能穿透防火墙并使用443端口进行出站连接。但需要注意的是,SSTP仅支持Windows设备。Azure支持所有具有SSTP并支持TLS 1.2及以上版本的Windows系统,例如Windows 8.1及更高版本。
- IKEv2 VPN:这是一种基于标准的IPsec VPN解决方案,可用于从Mac设备进行连接,支持macOS 10.11及更高版本。
客户端身份验证方法
点到站点VPN客户端可以通过以下几种方法进行身份验证:
- 基于证书的身份验证:使用Azure原生证书认证时,设备上存在的客户端证书将用于对连接用户进行身份验证。客户端证书从受信任的根证书生成,然后安装到每台客户端计算机上。您可以使用企业解决方案生成的根证书,也可以生成自签名证书。VPN网关负责执行客户端证书的验证。
- 原生Azure Active Directory身份验证:您可以使用Azure Active Directory凭据进行连接。原生Azure AD身份验证仅支持我们上一节提到的OpenVPN协议,并且需要使用Azure VPN客户端。支持的操作系统包括Windows 10和macOS。
- RADIUS服务器身份验证:Azure Active Directory域身份验证允许用户使用其组织的域凭据连接到Azure。这需要一个特定的RADIUS服务器。该RADIUS服务器将与AD服务器集成,组织也可以使用其现有的RADIUS部署进行身份验证。RADIUS服务器可以部署在本地或Azure虚拟网络中。在身份验证过程中,Azure VPN网关充当传递角色,在RADIUS服务器和连接设备之间转发身份验证消息。
创建点到站点VPN连接
上一节我们介绍了点到站点VPN的概念和协议,本节中我们来看看如何创建一个点到站点VPN连接。以下是创建步骤的简要概述,您也可以参考提供的Microsoft官方链接获取详细指南。
首先,您需要创建一个资源组。
然后,您需要创建一个虚拟网络。这些步骤您应该已经熟悉。在这里,您需要创建子网。我们已经详细了解了如何创建子网和虚拟网络。


之后,您需要创建一个网关子网。当您打开虚拟网络的子网配置时,会看到“添加网关子网”的选项。您需要添加一个网关子网。

他们正在按照确切的方式添加。这是他们使用的CIDR地址块。




完成之后,您需要创建虚拟网络网关。您只需在门户中搜索“虚拟网络网关”,然后点击“创建”并添加设置,包括您想要的名字、网关类型、SKU等选项。

接下来,您需要创建证书。正如之前提到的,我们有不同的身份验证选项。在示例中,他们使用的是客户端证书。他们正在创建自签名的根客户端证书,您也可以这样做。这是他们使用的命令。


# 示例:生成自签名根证书的命令(具体命令请参考官方文档)
在创建证书之后,您需要配置点到站点连接。您只需搜索“点到站点配置”并进行添加,然后配置所有选项,包括地址池、隧道类型以及您想要的身份验证类型(证书或RADIUS)。因为我们使用证书,所以选择Azure证书身份验证,最后添加此配置。
最后,您需要测试VPN连接。具体操作是:登录Azure门户,转到您的VPN网关页面,点击“点到站点配置”,下载VPN客户端,然后进行连接测试。以上就是主要的步骤。
总结

本节课中我们一起学习了Azure点到站点VPN连接。我们了解了它的定义、适用场景、支持的协议(OpenVPN、SSTP、IKEv2)以及三种客户端身份验证方法(证书、Azure AD、RADIUS)。最后,我们概述了在Azure门户中创建和配置点到站点VPN连接的关键步骤。掌握这些知识,您就可以为远程用户或少量客户端建立安全的云端接入通道了。
006:虚拟网络对等连接简介 🧩
在本节课中,我们将要学习Azure虚拟网络对等连接(VNet Peering)的核心概念、类型及其高级功能,如网关传输和服务链。我们将通过简单的示例和实际操作演示,帮助你理解如何连接不同的虚拟网络。
什么是虚拟网络对等连接?🤔
上一节我们介绍了虚拟网络及其子网的基本概念和创建方法。本节中,我们来看看如何连接不同的虚拟网络。
虚拟网络对等连接使你能够无缝地连接两个独立的Azure虚拟网络,并实现最优的网络性能。通常,大规模运营的组织需要在不同的虚拟网络之间建立连接,VNet对等连接正是为此设计。
默认情况下,同一个虚拟网络内的虚拟机,即使位于不同的子网中,也可以通过私有IP地址相互通信。然而,不同虚拟网络中的虚拟机默认无法通过私有IP直接通信,必须借助公共网络通道。
通过建立VNet对等连接,不同虚拟网络中的资源可以像在同一个网络中一样,通过Azure骨干网进行通信,而无需使用公共IP地址。
核心概念:
- 默认同VNet内通信:
VM1 (私有IP) <--> VM2 (私有IP) - 默认跨VNet通信:
VM1 (私有IP) -> 公共网络 -> VM3 (私有IP) - 对等连接后跨VNet通信:
VM1 (私有IP) <--Azure骨干网--> VM3 (私有IP)
此外,对等连接还支持跨租户和跨订阅配置。需要注意的是,VNet对等连接不具有传递性。这意味着,如果VNet A与VNet B对等,VNet B与VNet C对等,这并不自动意味着VNet A与VNet C对等。
对等连接的类型 🌍
了解了VNet对等连接的基本作用后,我们来看看它的两种主要类型。
VNet对等连接主要分为两种类型:区域对等和全局对等。
以下是两种类型的简要说明:
- 区域对等:连接位于同一Azure区域内的两个虚拟网络。
- 示例:
VNet1 (美国东部) <--> VNet2 (美国东部)
- 示例:
- 全局对等:连接位于不同Azure区域的两个虚拟网络。
- 示例:
VNet2 (美国东部) <--> VNet3 (欧洲西部)
- 示例:
网关传输 🚌
在建立了对等连接的基础上,我们来看看如何实现对等网络之外的资源访问,这就用到了网关传输功能。
网关传输是VNet对等连接的一个属性,它允许对等虚拟网络中的资源使用其中一个虚拟网络的VPN网关,来访问本地数据中心(跨 premises)或其他虚拟网络。
例如,假设VNet1与VNet2对等,而VNet1中配置了一个VPN网关连接到本地数据中心。如果启用了网关传输,那么VNet2中的虚拟机也可以通过VNet1的VPN网关访问本地数据中心的资源,而无需在VNet2中单独部署VPN网关。
核心要点:
- 一个虚拟网络只能有一个网关。
- 网关传输同时支持区域对等和全局对等。
- 该功能允许对等虚拟网络共享网关,节省成本和管理开销。
服务链 ⛓️
除了网关传输,对等连接还支持更复杂的网络流量引导,即服务链。
服务链使你能够通过用户定义的路由,将流量从一个虚拟网络定向到对等虚拟网络中的虚拟设备(如防火墙、WAN优化器)或虚拟网络网关,从而实现自定义路由。


一个典型的应用场景是中心-辐射型网络拓扑:
- 创建一个中心虚拟网络,其中部署了网络虚拟设备(如防火墙)或VPN网关。
- 创建多个辐射虚拟网络,用于托管不同的工作负载(如应用服务器、数据库)。
- 将所有辐射虚拟网络与中心虚拟网络对等。
- 配置用户定义路由,使辐射虚拟网络的流量在到达目的地前,先流经中心虚拟网络中的虚拟设备进行检查或优化。

这样,你可以在中心点集中管理安全策略和网络连接。





对等连接演示 🖥️
理论部分已经介绍完毕,现在让我们通过实际操作来巩固所学知识。以下是创建并配置VNet对等连接的步骤概要。
我们将创建两个虚拟网络VNet1和VNet2,并在其中各创建一台虚拟机。在对等连接建立前后,测试它们之间通过私有IP的连通性。
准备工作:
- 两个虚拟网络的IP地址范围不能重叠。
- 规划示例地址空间:
VNet1:10.0.0.0/16- 子网
Subnet1:10.0.0.0/24 - 虚拟机
VM1(IP自动分配)
- 子网
VNet2:192.168.0.0/16- 子网
Subnet2:192.168.0.0/24 - 虚拟机
VM2(IP自动分配)
- 子网


操作步骤:
- 创建资源:在Azure门户中,分别创建
VM1(在VNet1/Subnet1中)和VM2(在VNet2/Subnet2中)。 - 测试初始连通性:在
VM1中尝试通过SSH连接VM2的私有IP地址(例如ssh user@192.168.0.4)。此时连接会失败,因为网络未对等。 - 配置对等连接:
- 导航到
VNet1的资源页面。 - 在“设置”下选择“对等”。
- 点击“+ 添加”。
- 配置从
VNet1到VNet2的对等链接(系统通常会同时自动创建反向链接)。 - 确保“允许虚拟网络访问”设置为“启用”。
- 导航到
- 测试对等后连通性:再次从
VM1尝试SSH连接VM2的私有IP地址。此时连接应该成功,证明对等连接已生效,流量通过Azure私有骨干网传输。





总结 📚

本节课中我们一起学习了Azure虚拟网络对等连接。我们从如何连接不同网络的需求出发,首先了解了VNet对等连接的基本概念和重要性。接着,我们探讨了其两种类型:区域对等和全局对等。然后,我们深入学习了两个高级功能:网关传输允许对等网络共享VPN网关以访问外部资源;服务链则利用用户定义路由实现对流量的精细控制,常用于中心-辐射型网络架构。最后,通过一个动手演示,我们完整实践了创建虚拟网络、配置对等连接并验证连通性的全过程。

掌握VNet对等连接,是设计高效、灵活且安全的Azure网络架构的关键一步。
007:Azure负载均衡入门 🚀
在本节课中,我们将要学习Azure负载均衡的核心概念、不同类型以及如何配置一个基本的负载均衡器。负载均衡是构建高可用、可扩展应用程序的关键服务。
什么是负载均衡? ⚖️
上一节我们介绍了课程概述,本节中我们来看看负载均衡的基本概念。
负载均衡的作用是将工作负载分配到多个虚拟机上。它通过将流量分发到后端服务器池中的健康实例,来提高应用程序的可用性和资源利用率。
例如,假设有两个虚拟机(VM1和VM2),一个应用程序运行在这两个虚拟机上。当用户访问网站 www.abc.com 时,流量不会直接到达虚拟机,而是首先经过负载均衡器。负载均衡器根据预设的规则(如协议、端口)将流量分发到合适的虚拟机,并检查该虚拟机是否健康。
核心功能:
- 流量根据规则进行分发。
- 通过分担工作负载提高可用性。
- 优化资源使用,最大化吞吐量。
负载均衡器的分类 📊
了解了基本概念后,我们来看看负载均衡器有哪些不同的分类方式。
负载均衡器主要可以从两个维度进行分类:作用范围和协议类型。
以下是基于作用范围的分类:
- 全局负载均衡:将工作负载分发到位于不同区域、甚至混合云(本地和云端)的后端服务。此服务将最终用户流量路由到最近、可用的后端。
- 区域负载均衡:在同一个区域的虚拟网络内,跨虚拟机分发流量。这些虚拟机可以位于可用性区域中,但都在同一区域内。
以下是基于协议类型的分类:
- HTTP/S负载均衡:基于OSI模型第7层(应用层)工作,专门用于处理HTTP或HTTPS流量,适用于Web应用程序。
- 非HTTP/S负载均衡:可以处理非HTTP流量(如TCP、UDP),推荐用于非Web工作负载。
Azure中的负载均衡选项 🛠️
上一节我们介绍了负载均衡的分类,本节中我们来看看Azure平台提供的具体负载均衡服务。
Azure提供了多种负载均衡解决方案,每种适用于不同的场景。
以下是主要的Azure负载均衡选项:
- Azure负载均衡器:这是一个高性能、超低延迟的第4层(传输层)负载均衡服务。它用于所有UDP和TCP协议的入站流量,每秒可处理数百万请求,并确保解决方案的高可用性。
- Azure流量管理器:这是一个基于DNS的流量负载均衡器。它使您能够将流量最优地分发到全球Azure区域的服务,同样提供高可用性。
- Azure应用程序网关:提供应用程序交付控制器,具备第7层负载均衡能力。您还可以用它来优化Web应用程序性能。
- Azure Front Door:这是一个应用程序交付网络,为Web应用程序提供全球负载均衡和站点加速服务,同样使用第7层。
深入理解Azure负载均衡器 🔍
在众多选项中,Azure负载均衡器是最基础且核心的服务。本节我们将详细探讨它。
Azure负载均衡器在OSI第4层运行,将入站流量分发到后端池实例。后端池由虚拟机组成。它使用健康探测来持续检查后端机器的健康状况,只有健康的实例才会接收流量。
其工作流程如下:用户流量首先到达负载均衡器的前端公共IP。负载均衡器根据配置的规则(基于端口和IP),将流量分发到后端池中的虚拟机。
Azure负载均衡器的类型
Azure负载均衡器主要有三种类型。
以下是三种类型的具体说明:
- 公共负载均衡器:为虚拟网络内的虚拟机提供出站连接。它拥有一个面向公网的前端公共IP,流量首先到达此IP,然后根据规则进行负载均衡。
- 内部负载均衡器:仅在前端需要私有IP时使用。它用于在虚拟网络内部(不暴露给公网)分发流量。例如,让一组虚拟机通过负载均衡器访问后端的数据库实例。
- 网关负载均衡器:用于需要高性能和高可用性的场景,特别是与第三方网络虚拟设备(如防火墙、入侵检测系统)集成时。它可以透明地插入这些设备,便于部署、扩展和管理。
关键概念:规则与会话持久性
负载均衡器通过规则来定义流量如何分发。规则将前端IP和端口组合映射到后端池和端口组合。
默认情况下,来自同一客户端的连续请求可能由后端池中任何健康的虚拟机处理(None模式)。如果希望特定客户端的所有请求都由同一台虚拟机处理,可以启用会话持久性。例如,客户端X的首次请求由VM1处理,启用会话持久性后,其后续请求也将由VM1处理。可以根据客户端IP或协议来设置此行为。


负载均衡器SKU对比 📈
Azure负载均衡器提供不同的SKU(服务等级),适用于不同场景。本节我们比较标准版和基础版。



标准版负载均衡器适用于需要高性能和超低延迟的网络层流量分发。基础版负载均衡器适用于不需要高可用性或冗余的小型应用程序。

以下是标准版与基础版的主要区别:
- 后端池端点:标准版支持任何虚拟机或虚拟机规模集。基础版仅支持单个可用性集或虚拟机规模集中的虚拟机。
- 健康探测协议:标准版支持TCP、HTTP、HTTPS。基础版仅支持TCP和HTTP。
- 其他特性:标准版功能更全面,支持可用性区域、出站规则等。建议查阅官方文档获取完整对比信息。
实践:创建并配置Azure负载均衡器 🧪
理论部分已经介绍完毕,现在让我们通过一个动手实验来巩固所学知识。本节我们将一步步创建一个标准SKU的公共负载均衡器。
实验架构与准备
我们将创建以下资源:
- 一个虚拟网络(VNet1)及其子网。
- 两台虚拟机(VM1和VM2),分别安装Apache和Nginx。
- 一个标准SKU的公共负载均衡器。
准备工作:
- 创建虚拟网络、子网和两台虚拟机(过程在之前的虚拟网络课程中已涵盖)。
- 在VM1上安装Apache:
sudo apt-get install apache2 - 在VM2上安装Nginx:
sudo apt-get install nginx - 移除两台虚拟机上的公共IP地址,因为我们将通过负载均衡器的公共IP来访问服务。
创建负载均衡器
现在,我们在Azure门户中创建负载均衡器。
以下是创建负载均衡器的关键步骤:
- 基本信息:选择资源组、区域,命名为“LB1”,SKU选择“标准”,类型选择“公共”。
- 前端IP配置:添加一个前端IP配置(例如“IP1”),并关联一个新的标准SKU、静态、区域冗余的公共IP地址。
- 后端池:创建一个后端池(例如“MyPool”),选择之前创建的虚拟网络,并将VM1和VM2的IP配置添加到池中。
- 负载均衡规则:创建一条规则(例如“rule1”)。
- 前端IP选择刚创建的“IP1”。
- 后端池选择“MyPool”。
- 协议选择“TCP”,端口设为“80”(因为Web服务使用HTTP)。
- 需要创建一个健康探测:命名为“myHealthProbe”,协议“TCP”,端口“80”,间隔5秒。如果5秒内无响应,则标记实例不健康。
- 会话持久性暂时保持默认(None)。
- 完成其他设置(如入站NAT规则、出站规则可暂不配置),然后创建负载均衡器。
验证结果
创建完成后,在负载均衡器的概览页面找到其前端公共IP地址。在浏览器中访问此IP地址。
首次访问,你可能会看到来自VM2(Nginx)的默认页面。刷新几次页面,你可能会看到页面切换为VM1(Apache)的默认页面。这表明负载均衡器正在根据规则(这里是轮询或最少连接数等默认算法)将你的请求分发到后端两台健康的虚拟机上。
总结 🎯

本节课中我们一起学习了Azure负载均衡的核心知识。我们首先了解了负载均衡的基本概念和作用。然后,探讨了Azure负载均衡器的不同类型:公共、内部和网关负载均衡器,以及它们各自的应用场景。我们还比较了标准版和基础版SKU的区别。最后,通过一个完整的动手实验,我们创建了一个标准SKU的公共负载均衡器,将流量分发到两台运行不同Web服务器的虚拟机上,并验证了其工作效果。掌握负载均衡是设计高可用性Azure架构的重要一步。
008:Azure应用程序网关

概述
在本节课中,我们将要学习Azure应用程序网关。它是一种工作在OSI第7层的Web流量负载均衡器,用于管理流向Web应用程序的流量。我们将了解其工作原理、核心功能、路由选项以及如何通过一个简单的演示来配置它。
什么是Azure应用程序网关?
Azure应用程序网关是一个Web流量负载均衡器,它使你能够管理流向Web应用程序的流量。它工作在OSI模型的第7层(应用层)。
其工作原理与标准的Azure负载均衡器类似,但它支持一些额外的功能。我们可以通过一个简单的架构图来理解。
[浏览器] --> [应用程序网关前端IP] --> [HTTP/HTTPS监听器] --> [规则] --> [HTTP设置] --> [后端池]
与Azure负载均衡器不同,应用程序网关的后端池不仅支持虚拟机(VMs),还支持虚拟机规模集(VM Scale Sets)以及本地(On-premises)服务器。
应用程序网关的路由选项
上一节我们介绍了应用程序网关的基本架构,本节中我们来看看它支持的路由选项。除了基本的流量分发,它还支持基于路径的路由和多站点路由。
基于路径的路由
基于路径的路由允许根据URL路径将流量导向不同的后端服务器池。
以下是其工作原理的示例:
假设我们有两个后端池:一个用于处理图片(image-server-pool),另一个用于处理视频(video-server-pool)。

- 当用户访问
abc.com/images时,流量会被路由到image-server-pool。 - 当用户访问
abc.com/videos时,流量则会被路由到video-server-pool。

多站点路由
多站点路由允许根据访问的域名(主机头)将流量导向不同的后端池。


以下是其工作原理的示例:
假设应用程序网关需要处理两个网站:abc.com 和 xyz.com。

- 访问
abc.com的请求会被路由到为abc.com配置的后端池。 - 访问
xyz.com的请求则会被路由到为xyz.com配置的后端池。
此外,应用程序网关还提供一个可选功能:Web应用程序防火墙(WAF)。启用WAF后,它可以保护你的Web应用免受SQL注入等基于Web的威胁。




应用程序网关的SKU
Azure应用程序网关主要有两个SKU版本:v1 和 v2。
- v1(标准版):提供三种固定规模:小型、中型和大型。
- 小型适用于开发和测试场景。
- 各规模的具体性能指标(如吞吐量)不同。
- v2:支持自动缩放功能,可以根据流量模式动态调整容量。如果你需要固定规模的部署,也可以选择v2。
你可以根据需求选择适合的SKU版本。v2版本在定价上包含固定费用和容量单位费用两部分。


以下是v1与v2的主要功能对比:
- 自动缩放:仅v2支持。
- 区域冗余:仅v2支持。
- 静态VIP:仅v2支持。
- Kubernetes集成:仅v2支持。
- 基于URL和多站点托管:v1和v2均支持。
演示:创建和配置应用程序网关
在理论部分,我们介绍了应用程序网关的概念和功能。现在,让我们通过一个实际操作演示来巩固理解。
演示环境规划
我们将创建一个包含以下组件的测试环境:
- 一个虚拟网络(VNet),地址空间为
10.0.0.0/16。 - 两个子网:
- 子网1:用于放置应用程序网关(前端子网)。
- 子网2:用于放置后端虚拟机(后端子网)。
- 在子网2中创建两台虚拟机:
VM1和VM2。- 在
VM1上安装 Apache Web服务器。 - 在
VM2上安装 Nginx Web服务器。
- 在
- 在子网1中创建并配置一个应用程序网关,将流量负载均衡到
VM1和VM2。
配置步骤
以下是创建应用程序网关的核心步骤摘要:
- 基本信息:在Azure门户中创建应用程序网关,选择资源组、区域,并选择 v2 SKU以启用自动缩放。
- 网络配置:选择之前创建的虚拟网络,并将网关部署在 子网1 中。
- 前端IP:配置一个新的公共IP地址作为应用程序网关的入口点。
- 后端池:添加一个后端池(例如
my-pool),并将VM1和VM2作为目标成员加入。 - 路由规则:
- 添加一个监听器(例如
my-listener),配置为监听 HTTP(端口80) 协议。 - 将监听器关联到之前创建的
my-pool后端池。 - 可以配置高级选项,如基于Cookie的会话亲和性(将用户会话保持在同一台后端服务器)。
- 添加一个监听器(例如
完成配置并部署后,你可以通过访问应用程序网关的公共IP地址来测试负载均衡效果。刷新浏览器页面,应该会交替看到来自Apache和Nginx的默认页面,这证明负载均衡正在正常工作。


总结
本节课中我们一起学习了Azure应用程序网关。我们了解到它是一个第7层负载均衡器,专为管理Web流量而设计。核心知识点包括其基于路径和多站点的路由能力、v1和v2 SKU的区别(特别是v2的自动缩放功能),以及可选的Web应用程序防火墙(WAF)保护。最后,我们通过一个动手演示,展示了如何创建应用程序网关并将其配置为对运行不同Web服务器的后端虚拟机进行负载均衡。与基本的Azure负载均衡器相比,应用程序网关为Web应用程序提供了更丰富、更智能的流量管理功能。
009:Azure流量管理器
概述
在本节课中,我们将要学习Azure流量管理器。它是一种基于DNS的流量负载均衡器,能够将流量分发到全球的公共应用程序端点,并提供高可用性和快速响应。我们将了解其工作原理、核心功能、不同的流量路由方法,并通过一个简单的演示来加深理解。
Azure流量管理器简介
Azure流量管理器是一个基于DNS的流量负载均衡器。它允许你将流量分发到全球Azure区域的面向公众的应用程序。流量管理器还为你的公共端点提供高可用性和快速响应能力。
流量管理器使用DNS,根据流量路由方法将客户端请求定向到适当的服务端点。我们将在后续幻灯片中讨论流量路由方法。它使用一种路由方法来将流量分发到公共端点。


此外,它提供健康监控功能,会持续检查每个端点的健康状况,从而监控你的机器健康状态。端点可以是托管在Azure内部或外部的面向互联网的服务,也支持混合场景。
Azure流量管理器的功能
以下是Azure流量管理器的一些核心功能:
- 提高应用程序可用性:流量管理器为关键应用程序提供高可用性。它通过持续监控端点并提供自动故障转移来实现这一点。当某个端点宕机时,它会将流量重定向到可用的端点。
- 提升应用程序性能:Azure允许你在全球各地的数据中心运行云服务和网站。流量管理器可以通过将流量定向到延迟最低的端点来提升性能。
- 无停机服务维护:你可以在不造成停机的情况下对应用程序进行计划内维护。因为在进行维护时,流量管理器可以将你的流量定向到其他端点。
- 支持混合应用程序:流量管理器也支持外部非Azure端点。你可以在混合场景中使用它。
流量管理器工作原理
上一节我们介绍了流量管理器的功能,本节中我们来看看它是如何工作的。我们将借助一个来自微软官方文档的例子进行说明。
假设一个客户端(浏览器)想要访问页面 partners.contoso.com/login.aspx。以下是详细步骤:
- 客户端向其配置的递归DNS服务发送DNS查询,以解析名称
partners.contoso.com。 - 递归DNS服务查找
contoso.com的名称服务器,并收到一个指向contoso.trafficmanager.net的CNAME记录。 - 递归DNS服务接着查找
trafficmanager.net域的名称服务器(由Azure流量管理器服务提供),并向其发送对contoso.trafficmanager.net的请求。 - Azure流量管理器 根据两个因素决定返回哪个端点:
- 每个端点的当前健康状态(通过健康检查)。
- 配置的流量路由方法(如优先级、权重等)。
- 流量管理器将选定的端点(例如
contoso.cloudapp.net)作为另一个DNS CNAME记录返回给递归DNS服务。 - 递归DNS服务查找
cloudapp.net的名称服务器,获取contoso.cloudapp.net的IP地址。 - 递归DNS服务整合结果,向客户端返回一个包含最终IP地址的DNS响应。
- 客户端收到DNS结果,直接连接到该应用程序服务端点(例如Web应用),而不是通过流量管理器。
核心概念:流量管理器在DNS层面进行流量分发,客户端最终直接与后端服务通信。
流量路由方法
我们已经了解了流量管理器如何通过DNS工作,本节中我们来看看它决定流量去向的核心机制——流量路由方法。主要有四种方法:
-
优先级路由
- 描述:你可以为端点设置优先级。流量默认总是被导向优先级最高的可用端点。
- 工作方式:如果优先级为1的端点健康检查失败(降级或宕机),流量会自动故障转移到列表中下一个优先级(如优先级2)的健康端点。
- 适用场景:为主站点配置主动-被动故障转移。
-
加权路由
- 描述:你可以为每个端点分配一个权重值。
- 工作方式:流量按照分配给每个端点的权重比例进行分发。例如,端点A权重50,端点B权重50,则各接收50%的流量。如果某个端点宕机,其权重将按比例分配给其他健康端点。
- 公式:
端点接收流量比例 = (端点权重) / (所有健康端点权重之和) - 适用场景:进行A/B测试,或将部分流量逐步导向新部署。
-
性能路由
- 描述:将流量路由到对用户而言网络延迟最低的位置。
- 工作方式:流量管理器维护一个网络延迟表。当收到DNS查询时,它会判断请求来源,并返回延迟最低的可用端点的地址。如果该端点不可用,则返回下一个延迟最低的端点。
- 适用场景:为全球用户提供最佳访问体验的应用程序。
-
地理路由
- 描述:根据用户请求的源地理区域(国家/地区)将流量定向到特定端点。
- 工作方式:你可以配置规则,例如“来自德国的所有用户访问端点1(位于欧洲)”。你还可以配置嵌套配置文件,例如将墨西哥和亚洲的流量合并处理,或设置一个“世界其他地区”的默认端点。
- 适用场景:需要满足数据本地化法规、提供本地化内容或限制服务访问区域的场景。
演示:创建和配置流量管理器
前面的章节介绍了理论,现在让我们通过一个动手演示来巩固所学。我们将创建两个Web应用和一个流量管理器配置文件,并配置优先级路由。
步骤1:创建Web应用
首先,我们在两个不同的Azure区域创建两个Web应用作为端点。
-
Web应用1 (East US):
- 资源组:
temp1 - 名称:
prod123 - 运行时栈:Docker容器 (Linux)
- 区域:美国东部
- 资源组:
-
Web应用2 (West US):
- 资源组:
temp2 - 名称:
prod456 - 运行时栈:Docker容器 (Linux)
- 区域:美国西部
- 资源组:
创建完成后,访问它们的默认URL(如 prod123.azurewebsites.net)会显示一个默认的Azure应用服务页面。
步骤2:创建流量管理器配置文件
- 在Azure门户中,搜索并进入“流量管理器配置文件”。
- 点击“创建”。
- 配置基本信息:
- 名称:例如
myTrafficProfile - 路由方法:选择 优先级
- 资源组:可以选择
temp1或新建一个,这仅决定配置文件本身的存储位置,与端点无关。
- 名称:例如
- 点击“创建”。部署需要一些时间。
步骤3:添加并配置端点
配置文件创建完成后,我们需要将两个Web应用添加为端点。
- 在流量管理器配置文件的“设置”下,点击“端点”。
- 点击“添加”。
- 第一个端点 (主要):
- 类型:Azure端点
- 名称:
primary - 目标资源类型:应用服务
- 目标资源:选择
prod123(位于美国东部的Web应用) - 优先级:
1(最高) - 保持“启用”状态。
- 第二个端点 (次要):
- 类型:Azure端点
- 名称:
secondary - 目标资源类型:应用服务
- 目标资源:选择
prod456(位于美国西部的Web应用) - 优先级:
2 - 保持“启用”状态。
- 第一个端点 (主要):
添加后,流量管理器会开始监控这两个端点的健康状态。
步骤4:测试流量管理器

- 在流量管理器配置文件的“概述”页面,复制“DNS名称”(例如
myTrafficProfile.trafficmanager.net)。 - 在浏览器中访问此DNS名称。
- 预期结果:由于我们配置了优先级路由,且
primary端点(优先级1)是健康的,所有流量都应被导向prod123.azurewebsites.net,你会看到其默认页面。 - 测试故障转移:
- 返回到流量管理器配置文件的“端点”设置。
- 将
primary端点的状态设置为 “已禁用” 并保存。这模拟了该端点故障。 - 再次访问流量管理器的DNS名称。
- 预期结果:现在流量应被自动重定向到
secondary端点(优先级2),即prod456.azurewebsites.net,显示其默认页面。这验证了优先级路由和故障转移功能正常工作。

总结

本节课中我们一起学习了Azure流量管理器。我们了解到它是一个基于DNS的全局负载均衡服务,通过智能路由方法(优先级、权重、性能、地理)将用户流量分发到最合适的应用程序端点。其核心价值在于提升应用程序的可用性、性能,并支持无缝的维护操作和混合架构。通过动手演示,我们实践了如何创建流量管理器配置文件、添加端点以及测试基于优先级的故障转移流程。
010:Azure Front Door 与 CDN
在本节课中,我们将学习Azure Front Door和Azure内容分发网络(CDN)的核心概念、工作原理以及如何创建它们。这两项服务旨在优化全球用户对应用程序和内容的访问速度与可靠性。
什么是内容分发网络(CDN)?
上一节我们介绍了负载均衡器,本节中我们来看看另一种提升应用性能的服务:内容分发网络。
内容分发网络是一个分布在全球各地的服务器网络,能够高效地向用户交付网络内容。CDN将缓存内容存储在其位于“接入点”位置的服务器上,这些位置靠近最终用户,旨在最小化延迟。
其工作原理可以概括为:用户首次请求内容时,请求会被路由到最近的边缘服务器。如果内容未缓存,边缘服务器会从源服务器获取内容并缓存下来。此后,同一区域的其他用户再请求相同内容时,就可以直接从本地边缘服务器获取,无需再访问遥远的源服务器,从而显著提升访问速度并降低源服务器负载。
以下是CDN工作原理的简化图示:
用户请求 -> 最近边缘服务器 -> [检查缓存]
| (缓存未命中)
V
源服务器 -> 返回内容并缓存在边缘服务器 -> 返回给用户
^
| (后续请求,缓存命中)
用户请求 -> 最近边缘服务器 -> 直接返回缓存内容
Azure Front Door:现代化的云CDN
Azure Front Door是一个现代化的云内容分发网络,它在全球范围内为用户和应用程序(包括静态和动态Web内容)提供快速、可靠且安全的访问。它利用微软的全球边缘网络,拥有数百个全球和本地的接入点(即边缘位置)。
使用Azure Front Door的主要优势包括:
- 全球分发与扩展:利用微软网络,通过全球118个以上边缘位置进行内容分发。
- 支持现代应用与架构:可使用自定义域名,并在全球范围内进行负载均衡和流量路由。
- 简单且经济高效:提供简化的配置和管理体验。




Azure Front Door的工作流程如下:
- 选择并连接到最近的Azure Front Door边缘位置。
- 匹配Front Door配置文件并建立TLS连接。
- (可选)检查Web应用程序防火墙规则。
- 匹配路由规则并选择后端池。
- 评估路由规则,返回缓存内容或从后端池中选择源服务器。
- 将请求转发到源服务器。
创建Azure Front Door配置文件
以下是创建Azure Front Door配置文件的步骤:
- 在Azure门户中搜索并进入“Front Door和CDN配置文件”。
- 点击“创建”,选择“Azure Front Door”。
- 可以选择“快速创建”(使用默认设置)或“自定义创建”。本教程使用“快速创建”。
- 选择订阅、创建或选择资源组、选择区域。
- 为配置文件命名(例如
my-frontdoor)。 - 配置端点名称(需全局唯一,例如
contoso)。 - 选择源类型并配置源地址。
- 查看配置并点击“创建”。部署完成后,即可通过提供的端点主机名访问服务。
Azure CDN
Azure CDN为开发人员提供了一个全球解决方案,通过缓存静态内容来快速向用户交付高带宽内容。数据被缓存在全球各地的物理节点上。
使用Azure CDN的好处包括:
- 更好的性能和用户体验:减少加载内容所需的往返次数。
- 强大的扩展能力:可处理瞬时高负载(如产品发布活动)。
- 分发用户请求:直接从边缘服务器提供内容,减少回源流量。
创建Azure CDN配置文件和端点
以下是创建Azure CDN配置文件和端点的步骤:
- 在Azure门户中搜索并进入“CDN配置文件”。
- 点击“创建”,选择“Azure CDN Standard from Microsoft”。
- 选择或创建新的资源组,为配置文件命名(例如
my-cdn-profile),选择定价层和区域。 - 创建配置文件后,在其中“创建端点”。
- 为端点命名(例如
my-endpoint),选择源类型(如存储帐户、Web应用等)。 - 配置源主机名和路径。
- 创建端点后,可以通过
端点主机名/容器名/文件名的格式访问缓存内容。首次访问可能较慢,内容被缓存后,后续访问速度将大幅提升。
总结
本节课中我们一起学习了Azure中的内容分发与加速服务。
我们首先了解了内容分发网络的基本概念及其通过边缘缓存提升性能的原理。接着,深入探讨了Azure Front Door,它是一个功能强大的全球性CDN和应用程序加速服务,支持高级路由、负载均衡和安全功能。然后,我们介绍了Azure CDN,这是一个专注于静态内容高速分发的服务。最后,我们通过实际操作演示了如何在Azure门户中创建Front Door配置文件和CDN端点。

这些服务是构建高性能、高可用性全球应用程序的关键组件,能够确保世界各地的用户都能获得快速、安全的访问体验。
011:Azure中的网络安全与监控
📖 概述
在本模块中,我们将学习Azure中的网络安全与监控。网络安全是通过对网络流量应用控制,保护资源免受未经授权访问或攻击的过程。它只允许合法的流量请求。我们将探讨提供网络安全的Azure资源,以及如何监控和管理网络基础设施。


🔒 网络安全组(NSG)
上一节我们介绍了网络安全与监控的基本概念,本节中我们来看看网络安全组。
网络安全组用于限制网络流量。你可以使用网络安全组来允许或阻止特定流量。网络安全组可以关联到子网级别或网络接口级别,也支持多重关联。其基本目的是管理你希望允许或拒绝的网络流量。
网络安全组规则
流量基于特定规则被允许或阻止。默认情况下,当你创建虚拟机时,一个默认的网络安全组会附加到虚拟机的网络接口卡上。
以下是默认的入站安全规则:
- 规则 65000:允许虚拟网络内任何端口、任何协议的入站流量。这意味着虚拟网络内的机器可以相互通信。
- 规则 65001:允许来自Azure负载均衡器、任何协议、到任何目的地的流量。
- 规则 65500:拒绝除上述两条规则外的所有入站流量。
以下是默认的出站安全规则:
- 规则 65000:允许虚拟网络内任何端口、任何协议的出站流量。
- 规则 65001:允许到互联网的任何端口、任何协议的出站流量。
- 规则 65500:拒绝除上述两条规则外的所有出站流量。
需要注意的是,这些默认规则无法被删除。
覆盖默认规则
如果你需要允许特定端口和协议,可以通过创建优先级更高的规则来覆盖默认规则。规则优先级由数字表示,数字越小,优先级越高。
例如,默认规则65500拒绝了所有非指定的入站流量。如果你想允许远程桌面协议端口3389的入站流量,可以创建一个优先级数字小于65500的新规则(例如1000)。这样,当流量到达时,系统会优先匹配这条新规则,从而允许3389端口的流量。
NSG有效安全规则
网络安全组规则可以应用在子网级别,也可以应用在虚拟机的网络接口级别。为了允许特定流量到达目标,必须在所有关联的网络安全组(无论是子网级还是网络接口级)中都配置允许规则。如果任一级别的规则拒绝了该流量,则流量将被阻止。
公式表示:
最终允许 = (子网NSG规则允许) AND (网络接口NSG规则允许)
🛡️ 应用程序安全组(ASG)
上一节我们介绍了网络安全组,本节中我们来看看应用程序安全组。
通常,部署虚拟机并附加网络安全组时,会将网络安全组应用到子网级别或网络接口卡级别。如果应用到子网级别,规则将适用于该子网内的所有网络接口卡或虚拟机。
应用程序安全组在网络安全组内部使用。它的用途是,当你希望对一组特定的虚拟机应用特定的安全规则,同时保持默认组规则不变时,可以使用应用程序安全组来简化管理。
应用示例
假设一个虚拟网络中有四台虚拟机:VM1、VM2(Web服务器)、VM3(应用逻辑服务器)、VM4(数据库服务器)。一个网络安全组NSG1关联到整个子网。
目标:
- 只允许互联网对
VM1和VM2(Web服务器)的HTTP(端口80)访问。 - 默认允许虚拟网络内通信,但需要阻止除
VM3外所有虚拟机对VM4(数据库)的访问。 - 只允许
VM3(应用逻辑服务器)通过特定端口(如1433)访问VM4(数据库)。
实现:
以下是使用应用程序安全组在NSG1中配置的规则:
-
允许Web流量:
- 优先级: 100
- 源: 互联网
- 目标:
ASG-Web(一个包含VM1和VM2网络接口的应用程序安全组) - 端口: 80
- 操作: 允许
-
阻止对数据库的通用访问:
- 优先级: 200
- 源: 虚拟网络
- 目标:
ASG-DB(一个包含VM4网络接口的应用程序安全组) - 操作: 拒绝
-
允许应用服务器访问数据库:
- 优先级: 300
- 源:
ASG-Logic(一个包含VM3网络接口的应用程序安全组) - 目标:
ASG-DB - 端口: 1433
- 操作: 允许
通过这种方式,你可以轻松管理针对不同角色虚拟机组的精细访问控制,而无需修改每个虚拟机的网络接口规则。
🖥️ 实战演示:NSG规则配置
现在,让我们通过实际操作来看看网络安全组的使用。
创建虚拟机并查看默认规则
首先,我们创建一个虚拟机。在创建过程中,选择允许特定端口(例如SSH的22端口)。创建完成后,系统会自动生成一个关联的默认网络安全组。
查看该网络安全组的入站规则,你会看到之前讨论的默认规则(65000, 65001, 65500),以及一条为SSH添加的允许规则(端口22)。
测试默认规则
在虚拟机上安装Apache Web服务器(监听80端口)。尝试通过浏览器访问虚拟机的公共IP地址。此时访问会失败,因为默认规则65500拒绝了所有非指定的入站流量,而80端口不在允许之列。
添加规则以允许Web流量
为了允许HTTP流量,我们需要在网络安全组中添加一条新的入站规则。
操作步骤如下:
- 导航到虚拟机的网络安全组。
- 选择“入站安全规则”。
- 点击“添加”。
- 配置新规则:
- 源: 可以是“任何”,或你的特定IP地址以增强安全。
- 源端口范围:
* - 目标: “任何”
- 目标端口范围:
80 - 协议:
TCP - 操作:
允许 - 优先级: 输入一个小于
65500的数字,例如310。 - 名称: 例如
Allow-HTTP
保存规则后,稍等片刻让规则生效。再次通过浏览器访问虚拟机的公共IP地址,此时你应该能够看到Apache的默认主页。
管理网络安全组
你可以在Azure门户中查看和管理网络安全组,包括其关联的子网和网络接口。你也可以创建新的网络安全组并关联到现有资源。
代码示例(添加入站规则的Azure CLI命令概念):
# 这是一个概念性示例,展示添加规则的思想
az network nsg rule create \
--nsg-name MyNSG \
--name AllowHTTP \
--priority 310 \
--direction Inbound \
--access Allow \
--protocol Tcp \
--destination-port-ranges 80
📝 总结
在本节课中,我们一起学习了Azure网络安全与监控的核心组件。
我们首先了解了网络安全组,它是用于过滤虚拟网络流量的基础防火墙,通过入站和出站规则控制访问。我们学习了默认规则、优先级机制以及如何通过创建更高优先级的规则来覆盖默认行为。


接着,我们探讨了应用程序安全组,它允许你将虚拟机分组,并在网络安全组规则中将这些组作为源或目标,从而实现对特定应用层(如Web层、数据库层)的精细化访问控制,极大简化了安全管理。
最后,通过一个实战演示,我们观察了默认NSG规则的行为,并亲手添加了一条新的入站规则以允许Web流量,验证了NSG规则配置的实际效果。

通过掌握这些工具,你可以有效地保护Azure中的网络资源,并实施符合需求的访问策略。
012:Azure防火墙 🔥





在本节课中,我们将学习Azure防火墙。Azure防火墙是一种云原生的、智能的网络安全服务,用于保护您的Azure虚拟网络资源。我们将了解它的核心概念、规则类型,并通过一个实际配置示例来演示其工作原理。
什么是防火墙?
首先,我们来理解什么是防火墙。在计算机世界中,防火墙的作用是保护您的系统免受不需要的软件或网络流量的侵入。当您浏览互联网时,防火墙会在您的系统周围建立一道“墙”,只允许合法的文件或来源进入您的系统。
什么是Azure防火墙?


Azure防火墙是一种状态防火墙即服务。它提供智能的网络防火墙安全,是一个云原生的解决方案。其主要特点包括:
- 内置高可用性:您无需手动配置多个防火墙来实现高可用,服务本身已提供。
- 支持第3层到第7层过滤:这意味着它可以基于网络层(IP地址、端口)和应用层(URL、域名)进行流量控制。
- 基于威胁情报的过滤:可以基于已知的恶意IP地址、域名或URL来告警或拒绝流量。

Azure防火墙的规则类型
Azure防火墙主要通过三种类型的规则来控制流量。以下是这些规则的详细介绍:

1. NAT规则
NAT规则用于允许入站互联网连接,通过配置目标网络地址转换来实现。例如,将公网IP的某个端口流量转发到内部虚拟机的特定端口。


2. 网络规则
网络规则用于配置基于源地址、协议、目标端口和目标地址的访问控制。例如,允许特定子网访问另一个子网上的SQL服务器端口。


3. 应用规则
应用规则用于配置基于完全限定域名(FQDN)的访问控制。例如,允许特定子网访问 *.google.com 或 www.microsoft.com。


Azure防火墙与网络安全组(NSG)的协同工作



上一节我们介绍了Azure防火墙的规则,本节我们来看看它如何与网络安全组协同工作,为您的资源提供多层防护。


Azure防火墙提供了额外的、完全托管的网络安全层。它通常与“中心-辐射”网络架构结合使用。


让我们通过一个示例来理解:
假设您有多个虚拟网络(辐射网络)。在中心位置部署一个Azure防火墙。所有进出辐射网络的流量首先会经过此防火墙。防火墙会根据其配置的规则(网络规则或应用规则)决定是否允许流量通过。



即使流量通过了防火墙,在到达目标虚拟机之前,还需要通过虚拟机或子网级别配置的网络安全组的检查。NSG会再次根据其规则进行过滤。




这样,Azure防火墙和NSG共同构成了两层安全防护,极大地增强了网络安全性。





Azure防火墙实战演示 🛠️


现在,让我们通过一个实际配置示例来看看Azure防火墙如何工作。我们已经预先创建好了一些资源以便演示。




环境准备


我们创建了以下资源:
- 一个虚拟网络:地址空间为
10.0.0.0/16。 - 两个子网:
- AzureFirewallSubnet:地址范围
10.0.1.0/26,用于部署Azure防火墙。 - WorkloadSubnet:地址范围
10.0.2.0/24,用于部署业务虚拟机。
- AzureFirewallSubnet:地址范围
- 一台虚拟机:部署在
WorkloadSubnet中。其网络安全组已禁用所有入站端口(包括RDP),仅依靠防火墙进行访问控制。 - 一个Azure防火墙:部署在
AzureFirewallSubnet中,并关联了一个公共IP地址。 - 一个路由表:关联到
WorkloadSubnet,确保所有发往互联网的流量都经过Azure防火墙。路由配置如下:- 地址前缀:
0.0.0.0/0(代表所有互联网流量) - 下一跃点类型:虚拟设备
- 下一跃点地址:
10.0.1.4(Azure防火墙的私有IP地址)
- 地址前缀:



配置防火墙规则



接下来,我们为Azure防火墙配置具体的规则。

1. 应用规则
我们配置了一条规则,允许来自工作负载子网 (10.0.2.0/24) 的流量访问 www.google.com。
名称: Allow-Google
源: 10.0.2.0/24
协议: HTTP, HTTPS
目标: www.google.com
操作: 允许


2. 网络规则
我们配置了一条规则,允许工作负载子网通过UDP协议访问外部DNS服务器 (209.244.0.3 和 209.244.0.4) 的53端口,以进行域名解析。
名称: Allow-DNS
源: 10.0.2.0/24
协议: UDP
目标地址: 209.244.0.3, 209.244.0.4
目标端口: 53
操作: 允许
同时,我们在虚拟机的网络接口卡上配置了这些外部DNS服务器地址。

3. NAT规则
我们配置了一条规则,将发送到防火墙公共IP地址3389端口的RDP流量,转发到内部虚拟机 (10.0.2.4) 的3389端口。
名称: Allow-RDP
源: *
目标地址: <防火墙公共IP>
目标端口: 3389
转换地址: 10.0.2.4
转换端口: 3389
协议: TCP
操作: 允许



测试验证

现在,我们来测试配置是否生效。
- 测试RDP连接:使用防火墙的公共IP地址进行RDP连接。连接成功,这证明了NAT规则工作正常。
- 测试应用规则:在虚拟机内部打开浏览器,访问
www.google.com。访问成功,因为应用规则允许此域名。 - 测试规则拒绝:在同一个浏览器中尝试访问
www.microsoft.com。访问被阻止,因为我们没有配置允许此域名的规则。



这个测试清晰地展示了Azure防火墙如何根据我们定义的规则,精确地控制网络流量的允许与拒绝。



总结



在本节课中,我们一起学习了Azure防火墙的核心知识。我们首先了解了防火墙的基本概念以及Azure防火墙作为一种云原生服务的特点。然后,我们详细探讨了其三种核心规则类型:NAT规则、网络规则和应用规则,并解释了它们如何与网络安全组协同构建多层防御。


最后,通过一个完整的实战演示,我们一步步配置了虚拟网络、子网、路由以及防火墙规则,并验证了防火墙能够有效地基于域名、端口和IP地址来控制网络访问。Azure防火墙是保护Azure虚拟网络环境中工作负载安全的关键服务。
013:Azure DDoS防护 🛡️

在本节课中,我们将学习Azure分布式拒绝服务防护。我们将了解什么是DDoS攻击,Azure DDoS防护的功能,以及如何在虚拟网络中启用和配置该服务。
什么是拒绝服务攻击?
首先,我们需要理解什么是拒绝服务攻击。拒绝服务攻击是指意图阻止用户访问服务或系统的攻击。
拒绝服务攻击通常有一个单一的发起源。
什么是分布式拒绝服务攻击?
上一节我们介绍了拒绝服务攻击,本节中我们来看看它的分布式形式。分布式拒绝服务攻击是一种从多个位置、不同网络和系统发起的攻击。
分布式拒绝服务攻击的流量来源是分布式的。

Azure分布式拒绝服务防护可以保护您免受此类攻击。它结合了应用程序设计的最佳实践,并提供增强的DDoS缓解功能来防御分布式拒绝服务攻击。该服务会自动调整,以帮助保护虚拟网络内的特定Azure资源。
Azure DDoS防护的功能
了解了基本概念后,我们来看看Azure DDoS防护提供了哪些核心功能。
以下是Azure DDoS防护的主要功能:
- 始终在线的流量监控:您的应用程序流量模式会每周7天、每天24小时被监控,以寻找任何攻击迹象。
- 自适应实时调整:该服务会根据您服务的流量模式自动进行调整。
- 多层保护:它提供第3层、第4层和第7层的防护。
- 攻击分析:该服务提供攻击分析报告。


DDoS攻击的类型
Azure DDoS防护功能强大,那么它能防御哪些类型的攻击呢?以下是三种主要的分布式拒绝服务攻击类型:

- 容量耗尽型攻击:这类攻击用大量看似合法的流量淹没网络层。它们包括UDP洪水攻击、放大攻击和其他欺骗性数据包洪水攻击。
- 协议攻击:这类攻击通过利用第3层和第4层协议栈中的弱点,使目标无法访问。例如SYN洪水攻击、反射攻击和其他协议攻击。
- 资源(或应用)层攻击:这类攻击针对Web应用程序数据包,旨在中断主机之间的数据传输。例如HTTP协议违规、SQL注入、跨站脚本等攻击。

Azure DDoS防护可以保护您免受所有这三种类型的攻击。
如何启用DDoS防护计划

在了解了攻击类型后,本节我们将实际操作,学习如何为虚拟网络启用DDoS防护。


首先,在Azure门户中搜索“DDoS防护”。
点击“创建DDoS防护计划”。
选择所需的订阅。
创建一个资源组,例如命名为 temp。
为计划命名,例如 myDDoSPlan。
选择区域,例如“美国东部”。
浏览标签页,然后点击“查看 + 创建”。
Azure将进行验证,然后您可以点击“创建”。
创建过程可能需要一些时间来完成。
创建完成后,您可以转到该资源。在这里,您可以查看受保护的资源、日志等信息。
将DDoS防护计划关联到虚拟网络
上一节我们创建了DDoS防护计划,本节中我们来看看如何将其添加到虚拟网络。
首先,创建一个虚拟网络。
点击“创建虚拟网络”。
选择相同的资源组。
为其命名,例如 vnet1。
在此处,您可以直接选择防火墙和DDoS防护计划。您可以通过勾选复选框来启用“Azure DDoS防护网络保护”。
我们暂时不从这里选择,以便展示另一种方法。
使用默认的IP地址空间和子网设置,然后点击“创建”。
验证通过后,创建虚拟网络。这可能需要一点时间。

在创建虚拟网络的同时,我们可以转到之前创建的DDoS防护计划。
在计划中,找到“受保护的资源”部分。
点击“添加”。
您的虚拟网络 vnet1 应该会显示在列表中,选择并添加它。

通过这种方式,您就可以使用DDoS防护计划来保护虚拟网络内的资源了。

总结

本节课中我们一起学习了Azure DDoS防护。我们了解了拒绝服务攻击与分布式拒绝服务攻击的区别,探讨了Azure DDoS防护的核心功能,识别了三种主要的DDoS攻击类型,并逐步实践了如何创建DDoS防护计划并将其关联到虚拟网络,以实现对Azure资源的保护。
014:Azure网络观察器 🔍

在本节课中,我们将学习Azure网络观察器。这是一个用于监控、诊断和修复Azure网络资源的工具套件。我们将了解它的核心功能,并通过一个演示来学习如何使用其中的关键诊断工具。
概述
Azure网络观察器提供了一套工具,用于监控、诊断、查看指标以及启用或禁用Azure资源的日志。它主要帮助您监控和修复资源的网络健康状况。您可以监控虚拟机、虚拟网络、应用程序网关、负载均衡器等基础设施即服务(IaaS)类型的资源。


上一节我们介绍了网络安全组等概念,本节中我们来看看如何监控和诊断网络问题。



网络观察器工具简介

以下是网络观察器提供的主要诊断工具列表:


- IP流验证:用于诊断连接性问题。它可以检查特定流量是否被允许或拒绝,并指出是哪条网络安全组(NSG)规则导致了该结果。
- 下一跳:用于确定流量是否被正确路由。它会根据路由表显示流量的下一跳类型。
- VPN诊断:用于排查网关和连接问题。
- NSG流日志:将您的IP流量映射到网络安全组。
- 连接故障排除:显示源虚拟机与目标虚拟机之间的连接状态。
- 拓扑:生成资源在虚拟网络中的可视化关系图。

我们将在演示中具体查看其中几个工具。
演示:使用网络观察器诊断工具

在本演示中,我们将使用一个已创建好的虚拟网络,其中包含两台虚拟机:broadVM和testVM。

1. IP流验证工具


此工具用于验证特定流量是否会被允许或拒绝。例如,我们想检查从外部IP(如1.1.1.1)到broadVM虚拟机端口3389的入站流量是否被允许。
手动检查需要查看虚拟机的有效安全规则,如果规则很多会非常繁琐。IP流验证工具可以自动完成这个检查。
操作步骤如下:
- 在网络观察器中选择“IP流验证”。
- 选择源虚拟机(例如
broadVM)。 - 选择对应的网络接口。
- 选择协议(例如 TCP)。
- 选择方向(例如 入站)。
- 输入本地IP地址(虚拟机IP)和端口(例如
3389)。 - 输入远程IP地址(例如
1.1.1.1)和端口(例如3389)。 - 点击“检查”。
结果分析:
工具会显示流量状态是“允许”还是“拒绝”,并明确指出是哪条具体的NSG规则导致了该结果。例如,它可能显示“拒绝”,原因是匹配了“拒绝所有入站”的默认规则。
2. 连接故障排除工具

此工具用于测试两台虚拟机之间的连接。例如,我们可以测试从broadVM到testVM在端口80上的连接。
操作步骤如下:
- 在网络观察器中选择“连接故障排除”。
- 选择源资源组和源虚拟机(
broadVM)。 - 选择目标虚拟机(
testVM)。 - 选择目标端口(例如
80)。 - 选择要运行的诊断测试(如连通性、NSG、下一跳等)。
- 点击“检查”。
结果分析:
工具会显示测试结果。如果成功,会显示“成功”,并附上详细信息,如发送的数据包数量、失败数量、平均/最小/最大延迟等。它还会显示逐跳的详细信息,例如从broadVM到testVM的下一跳地址,并提供一个拓扑视图。

3. 下一跳工具


此工具用于确定从源虚拟机到指定目标IP地址的流量的下一跳类型。它基于关联的路由表进行计算。


操作步骤如下:
- 在网络观察器中选择“下一跳”。
- 选择源虚拟机和网络接口。
- 输入源IP(虚拟机IP)和目标IP(例如外部IP
1.1.1.1)。 - 点击“下一跳”。
结果分析:
工具会显示下一跳的类型(例如 Internet、VirtualNetwork、None等),并说明该结果是根据哪条路由(系统路由或自定义路由表)得出的。


总结
本节课中我们一起学习了Azure网络观察器。我们了解到,网络安全对于保护资源至关重要,而监控对于诊断和修复网络问题同样重要。
作为网络工程师,您需要能够诊断网络连接问题,了解如何排查和修复问题,以建立可靠的连接。网络观察器提供了强大的工具集来帮助您完成这些任务,包括:
- 连接故障排除:测试虚拟机间的连通性。
- IP流验证:检查流量是否被NSG规则允许或拒绝。
- 下一跳:验证流量的路由路径。

掌握这些工具将极大地提升您在Azure环境中管理和维护网络的能力。

浙公网安备 33010602011771号