部署Azure负载均衡

Azure负载均衡器

工作在4层
发送源地址 源IP 源端口 源协议 接收的IP 端口
负载均衡池中的虚拟机:应用的源端口和地址范围来自源计算机,而不是负载平衡器。目标端口和地址范围适用于目标计算机,而不是负载均衡器。

负载均衡”是指在一组后端资源或服务器之间均衡地分配负载(传入网络流量)。

Azure负载均衡器在开放式系统互连(OSI)模型的第四层上运行。它是客户端的单一联系点。负载均衡器将抵达负载均衡器前端的入站流量分配到后端池实例。这些流取决于所配置的负载均衡规则和运行状况探测。后端池实例可以是Azure虚拟机,或虚拟机规模集中的实例。

公共负载均衡器可以为虚拟网络中的虚拟机 (VM)提供出站连接。可以通过将专用IP地址转换为公共IP地址来实现这些连接。公共负载均衡器用于对传入 VM的Internet流量进行负载均衡。

内部(或专用)负载平衡器用于仅在前端需要专用IP的情况。内部负载均衡器用于对虚拟网络内部的流量进行负载均衡。负载均衡器前端可以在混合方案中从本地网络进行访问。
在这里插入图片描述

什么是负载均衡器

使用标准负载均衡器,你可以缩放应用程序,并创建高度可用的服务。负载均衡器支持入站和出站方案。负载均衡器提供低延迟和高吞吐量,以及为所有TCP和UDP应用程序纵向扩展到数以百万计的流。

可以使用标准负载均衡器完成的关键方案包括:

  • 对发往Azure虚拟机的内部和外部流量进行负载均衡。
  • 通过在区域内部和区域之间分配资源,提高可用性。
  • 配置Azure 虚拟机的出站连接。
  • 使用运行状况探测来监视已实现负载均衡的资源。
  • 使用端口转发通过公共IP地址和端口访问虚拟网络中的虚拟机。
  • 启用对IPv6负载均衡的支持。
  • 标准负载均衡器通过Azure Monitor提供多维度指标。可以就给定维度对这些指标进行筛选、分组和细分。可便于深入了解服务的当前及历史性能和运行状况。还支持资源运行状况。有关更多详细信息,请查看标准负载均衡器诊断。
  • 对多个端口和/或多个IP地址上的服务进行负载均衡。
  • 跨Azure区域移动内部和外部负载均衡器资源。
  • 使用HA端口,同时对所有端口上的TCP和UDP流进行负载均衡。

跨区域负载均衡

Azure标准负载均衡器支持跨区域负载均衡,支持异地冗余HA方案,例如:

  • 来自多个区域的传入流量。
  • 即时全局故障转移到下一个最佳区域部署。
  • 将跨区域的负载分布到最接近的Azure区域,具有超延迟。
  • 能够在单个终结点后扩展/缩减。
  • 静态IP
  • 客户端IP保留
  • 在无学习曲线的现有负载均衡器解决方案上构建

在这里插入图片描述
在这里插入图片描述

创建负载均衡器

在这里插入图片描述

加入到后端池

在这里插入图片描述

添加规则

在这里插入图片描述

端口转发通过访问5000端口访问内网虚拟机22端口

在这里插入图片描述

删除负载均衡

先删除规则,后端池虚拟机拿掉,删除负载均衡器

部署一个应用程序网关

应用程序网关

工作在第七层OSI

Azure应用程序网关是一种web流量负载均衡器,可用于管理Web应用程序的流量。传统负载均衡器在传输层(OSI层4-TCP和UDP)进行操作,并基于源IP地址和端口将流量路由到目标IP地址和端口。

应用程序网关可以根据HTTP请求的其他属性(例如URI路径或主机头)进行路由决策。例如,可以基于传入URL路由流量。因此,如果/images在传入URL中,则可将流量路由到为映像配置的一组特定服务器(称为池)中。如果/video在URL中,则可将该流量路由到针对视频优化的另一个池中。

这种类型的路由称为应用程序层(OSI层7)负载均衡。Azure应用程序网关可以执行基于URL的路由等操作。

优点

  • 自动缩放:应用程序网关Standard_v2支持自动缩放,可以根据不断变化的流量负载模式进行纵向扩展或缩减。自动缩放还消除了在预配期间选择部署大小或实例计数的要求。
  • 区域冗余:Standard_v2应用程序网关可以跨多个可用性区域,从而提供更好的容错能力,并且无需在每个区域中预配单独的应用程序网关。

在这里插入图片描述

部署应用程序网关

在这里插入图片描述

添加应用程序网关后端池,可以选虚拟机,规模集,DNS,应用程序

添加HTTP

在这里插入图片描述
在这里插入图片描述
加粗样式

添加HTTPS

在这里插入图片描述
在这里插入图片描述

多站点托管功能

根据过来的URL地址判断流量走向

使用多站点托管功能可以在应用程序网关的同一端口上配置多个Web应用程序。它可以将多达100多个网站添加到一个应用程序网关中,从而为部署配置更有效的拓扑。每个网站都可以定向到自己的后端池。例如,contoso.com.fabrikam.com和adatum.com,这三个域指向应用程序网关的IP地址。你将创建三个多站点侦听器,并为每个侦听器配置相应的端口和协议设置。

此外,你还可以在多站点侦听器中定义通配符主机名,每个侦听器最多可以定义5个主机名。若要了解详细信息,请参阅侦听器中的通配符主机名。

在这里插入图片描述

基于URL路径的路由

基于URL路径的路由用于根据请求的URL路径,将流量路由到后端服务器池。

方案之一是将针对不同内容类型的请求路由到不同的后端服务器池。

示例中,应用程序网关针对contoso.com从三个后端服务器池提供流量,例如:VideoServerPool、
IlmageServerPool和 DefaultServerPool。

在这里插入图片描述

重定向

访问URL 重定向后URL会发生变更,比如http变更为https

可以使用应用程序网关来重定向流量。它有一种泛型重定向机制,可以将一个侦听器上接收的流量重定向到另一个侦听器或外部站点。这样可以简化应用程序配置、优化资源使用情况,并支持全局重定向和基于路径的重定向等新的重定向方案。

为确保应用程序及其用户之间的所有通信都通过加密路径进行,适用于许多Web应用的常见重定向方案是支持HTTP到HTTPS自动重定向。过去用户曾使用创建专用的后端池等技术,其唯一目的在于将通过HTTP接收的请求重定向到HTTPS。由于应用程序网关提供重定向支持,因此你可以很容易地完成此操作,只需向路由规则添加一个新的重定向配置,然后将使用HTTPS协议的另一个侦听器指定为目标侦听器即可。

支持以下类型的重定向:

  • 301永久性重定向
  • 302已找到
  • 303参见其他307 临时重定向

在这里插入图片描述

重写HTTP标头和URL(类似反向代理)

重写后URL地址不会变,是在服务器内部重写,用户访问是没有区别的

应用程序网关允许重写请求和响应的所选内容。利用此功能,可以转换Url、查询字符串参数以及修改请求和响应标头。它还允许您添加条件,以确保仅当满足某些条件时才重写URL或指定的标头。这些条件基于请求和响应信息。

HTTP标头和URL重写功能仅适用于应用程序网关V2 SKU

在这里插入图片描述

URL重写VS URL重定向

对于URL重写,应用程序网关会在将请求发送到后端之前重写URL。这不会更改用户在浏览器中看到的内容,因为用户无法看到所做的更改。

对于URL重定向,应用程序网关会将重定向响应发送到使用新URL的客户端。这反过来要求客户端将其请求重新发送到重定向中提供的新URL。用户在浏览器中看到的URL将更新到新的URL
在这里插入图片描述

部署一个网络应用程序防火墙WAF

Azure web 应用程序防火墙

只工作在七层,针对于http/https

Azure应用程序网关提供的Azure Web应用程序防火墙(WAF)可以对Web应用程序进行集中保护,避免其受到常见的攻击和漏洞伤害。Web应用程序已逐渐成为利用常见已知漏洞的恶意攻击的目标。SQL注入和跨站点脚本是最常见的攻击。

应用程序网关上的WAF基于开放Web应用程序安全项目(OWASP)中的核心规则集(CRS)3.1、3.0或2.2.9。WAF 会自动更新以包含针对新漏洞的保护,而无需其他配置。

应用程序网关作为应用程序传送控制器(ADC)运行。它提供了传输层安全性(TLS)(以前称为安全套接字层(SSL))、终止、基于Cookie的会话相关性、轮循负载分发、基于内容的路由、托管多个网站的功能,以及安全增强功能。

应用程序网关安全增强功能包括TLS策略管理和端到端TLS支持。将WAF 集成到应用程序网关,从而增强了应用程序的安全性。此集成可以保护web应用程序免受常见漏洞的侵害。它还提供了易于配置的中央位置来进行管理。
在这里插入图片描述

保护

  • 无需修改后端代码即可保护web应用程序免受Web漏洞和攻击的威胁。
  • 同时保护多个Web应用程序。应用程序网关的实例最多可以托管40个受Web应用程序防火墙保护的网站。
  • 为同一WAF后面的不同站点创建自定义WAF 策略
  • 利用IP信誉规则集保护 Web应用程序免受恶意机器人的攻击(预览版)

功能

  • SQL注入保护。
  • 跨站点脚本保护。
  • 其他常见Web攻击防护,例如命令注入、HTTP请求走私、HTTP响应拆分和远程文件包含。
  • 防止HTTP协议违反行为。
  • 防止HTTP协议异常行为(例如缺少主机用户代理和接受标头)。
  • 防范爬网程序和扫描程序。
  • 检测常见应用程序错误配置(例如Apache和IIS等)。
  • 具有下限和上限的可配置请求大小限制。
  • 排除列表允许你忽略WAF评估中的某些请求属性。常见示例是Active Directory插入的令牌,这些令牌用于身份验证或密码字段。
  • 根据应用程序的具体需求创建自定义规则。
  • 按地理位置筛选流量,以允许或阻止从特定的国家/地区访问你的应用程序。(预览版)
  • 使用机器人缓解规则集防范应用程序遭到机器人攻击。(预览版)

在这里插入图片描述

部署Azure防火墙

单独设置Vnet,所有进来的流量都要从防火墙走一遍
费用十分高

Azure防火墙是托管的基于云的网络安全服务,可保护Azure虚拟网络资源。它是一个服务形式的完全有状态防火墙,具有内置的高可用性和不受限制的云可伸缩性。

可以跨订阅和虚拟网络集中创建、实施和记录应用程序与网络连接策略。Azure防火墙对虚拟网络资源使用静态公共IP地址,使外部防火墙能够识别来自你的虚拟网络的流量。该服务与用于日志记录和分析的 Azure Monitor完全集成。
在这里插入图片描述

部署Azure Front Door前门服务(跨区域的应用程序网关)

https://learn.microsoft.com/en-us/azure/frontdoor/create-front-door-portal

检查访问内容在进行转发(只转发http/https)

Azure Front Door 中,你可以进行优化以实现最佳性能以及进行快速全球故障转移以实现高可用性,并以此定义、管理和监视web流量的全局路由。使用Front Door,可将全球(多区域)消费型和企业应用程序转化成可靠、高性能、个性化的现代应用程序、API和内容供 Azure全球受众访问。

Front Door在第7层或HTTP/HTTPS层工作,使用任意广播协议和拆分TCP 与Microsoft 全球网络来改善全球连接。因此,根据配置中选择的路由方法,可以确保Front Door将客户端请求路由到最快且可用性最高的应用程序后端。应用程序后端是托管在Azure内部或外部的任何面向Internet的服务。Front Door提供多种流量路由方法和后端运行状况监视选项来满足不同的应用程序需求和自动故障转移模型。类似于流量管理器,Front Door能够灵活应对故障,包括整个Azure 区域的故障。

在这里插入图片描述

配置VM 只接受从Azure Front Door路由的流量

  • 可以在网络安全组中使用服务标记AzureFrontDoor.Backend
  • 在后端 Web 服务器中应用规则筛选,以根据生成的"X-Azure-FDID"标头值限制流量。请注意,某些服务(如 Azure 应用服务)提供此基于标头的筛选功能,而无需更改应用程序或主机。
  • Azure 通过虚拟化主机 IP 地址提供的基本基础结构服务:以及168.63.129.16169.254.169.254

通过虚拟化主机 IP 地址 168.63.129.16 和 169.254.169.254 提供基本的基础结构服务,如 DHCP、DNS、IMDS 和运行状况监控。这些 IP 地址属于 Microsoft,并且是所有区域中用于此目的的唯一虚拟化 IP 地址。有效的安全规则和有效的路由将不包括这些平台规则。若要覆盖此基本基础结构通信,可以通过在网络安全组规则上使用以下服务标记来创建安全规则以拒绝流量:AzurePlatformDNS、AzurePlatformIMDS、AzurePlatformLKM。

部署Azure Traffic Manager流量管理器

Azure Traffic Manager流量管理器

工作在所有层
基于DNS的流量只进行转发
前门/流量管理器在到应用程序网关在到内网负载均衡
此服务允许您将流量分配到全球 Azure 区域中面向公众的应用程序。 流量管理器也为您的公共端点提供高可用性和快速响应能力。

优点

  • 流量管理器通过监视终结点并在终结点出现故障时提供自动故障转移,为关键应用程序提供高可用性
  • 您可以在不停机的情况下对应用程序进行计划内维护。流量管理器可以在维护过程中将流量定向到备用终结点。
  • 流量管理器支持外部非 Azure 终结点,使其能够用于混合云和本地部署,包括“突发到云”、“迁移到云”和“故障转移到云”方案。
  • 使用嵌套的流量管理器配置文件,可以组合多种流量路由方法来创建复杂而灵活的规则,以扩展到更大、更复杂的部署的需求。

Azure流量管理器是一种基于DNS的流量负载均衡器,可以在全球Azure区域内以最佳方式向服务分发流量,同时提供高可用性和响应性。

流量管理器根据流量路由方法和终结点的运行状况,使用DNS将客户端请求定向到最合适的服务终结点。终结点可以是托管在Azure内部或外部的任何面向Internet的服务。流量管理器提供多种流量路由方法和终结点监视选项来满足不同的应用程序需求和自动故障转移模型。流量管理器能够灵活应对故障,包括整个Azure区域的故障。
在这里插入图片描述
在这里插入图片描述

添加终结点

在这里插入图片描述

Azure前门vs流量管理器

相同点:

1:多区域冗余:如果一个区域出现问题,可以无缝切换到另外一个区域。
2:临近区域路由:流量自动路由到最近的区域

  • 流量管理器:它使用DNS来转发请求到合适的地理位置终结点。它不会看客户和服务之间流量的数据,只是简单的根据策略进行转发。
  • 前门:它提供全球单点访问,客户可以访问网络应用程序,API,内容和云服务。通过单个控制界面和全球架构,前门服务可以让Azure客户创建,管理和安全的使用应用程序和内容,同时还增强了性能。

在这里插入图片描述

不同点:

协议

  • 流量管理器一所有协议:因为流量管理器工作在DNS层,所以你可以路由所有的网络协议,比如HTTP, TCP, UDP,等
  • Front Door— HTTP 加速:前门通过微软边缘站点进行转发。因此HTTP(S)请求的延时和吞吐量都得到了提升,并目ss协商和到应用程序的链接都得到了加速。

路由

  • 流量管理器一本地路由:通过在DNS层路由,流量管理器总是从点到点.即便使用你自己的网络,从你的办公室可以直通你的数据中心。
  • Front Door一独立扩展:因为前门是为HTTP请求工作,所以发送到不同URL的请求会根据策略,发送给不同的地区或者后台的服务池。

费用

  • 流量管理器―收费模式:基于DNS的使用情况来收费。
  • Front Door一队列式过滤:前门是在流量到达你的应用程序前,利用预设好的规则和策略对数据进行分析。根据数据过滤量和规则数来收费

部署网络安全组和应用程序安全组

网络安全组

一个或多个服务器放到同一个规则后面.
基于虚拟机本身或者子网,对内对外双向过滤

服务标签

服务标记表示来自给定 Azure 服务的一组 IP 地址前缀。它有助于最大程度地降低网络安全规则频繁更新的复杂性。

应用程序安全组

服务器可以不在一个子网,但是要同时遵守安全组规则,这是一个逻辑分组
工作内容相同的机器分配到一个逻辑分组
应用程序安全组使您能够将网络安全配置为应用程序结构的自然扩展,从而允许您对虚拟机进行分组并基于这些组定义网络安全策略。您可以大规模重复使用安全策略,而无需手动维护显式 IP 地址

逻辑分组

可以使用Azure网络安全组来筛选进出Azure虚拟网络中的Azure资源的网络流量。网络安全组包含安全规则,这些规则可允许或拒绝多种Azure资源的入站和出站网络流量。可以为每项规则指定源和目标、端口以及协议。

使用应用程序安全组可将网络安全性配置为应用程序结构的固有扩展,从而可以基于这些组将虚拟机分组以及定义网络安全策略。可以大量重复使用安全策略,而无需手动维护显式IP地址。平台会处理显式IP地址和多个规则集存在的复杂性,让你专注于业务逻辑。
在这里插入图片描述

部署堡垒机

Azure Bastion主机

发现用户进入系统做坏事,立刻切断堡垒机到内部服务器连接
堡垒机只是个服务,不是真实的虚拟机

Azure Bastion服务是的一种新型的完全托管平台PaaS服务,可在虚拟网络中进行预配。可通过TLS直接在Azure 门户中实现与虚拟机之间的安全无缝的 RDP/SSH 连接。在你通过Azure Bastion连接时,你的虚拟机无需公共IP地址。Bastion为预配它的虚拟网络中的所有vM提供安全的RDP和SSH 连接。使用Azure Bastion可防止虚拟机向外部公开RDP/SSH端口,同时仍然使用RDP/SSH提供安全访问。使用Azure Bastion,可直接从Azure门户连接到虚拟机。无需额外的客户端、代理或软件。
在这里插入图片描述

需要创建子网
在这里插入图片描述

在这里插入图片描述

实时虚拟机访问just-in-time (JIT)

  • 与所有网络安全防范技术一样,您的目标应该是减少攻击面。在这种情况下,这意味着开放端口更少,尤其是管理端口。
  • 您的合法用户也使用这些端口,因此关闭它们是不现实的。
  • 为了解决这个难题,Microsoft Defender for Cloud提供了JIT。使用JIT,您可以锁定VM的入站流量,减少受到攻击的风险,同时在需要时提供连接VM的轻松访问。
  • JIT 不支持受 Azure 防火墙管理器控制的 Azure 防火墙保护的 VM。Azure 防火墙必须使用规则(经典)进行配置,并且不能使用防火墙策略。
  • 在Azure中,您可以通过启用即时访问VM来阻止特定端口上的入站流量。云Defender确保网络安全组(NSG)和Azure防火墙规则中的选定端口存在“拒绝所有入站流量”规则。这些规则限制对Azure VM管理端口的访问,并保护它们免受攻击。
Logo

Authing 是一款以开发者为中心的全场景身份云产品,集成了所有主流身份认证协议,为企业和开发者提供完善安全的用户认证和访问管理服务

更多推荐