ZA303学习笔记十部署负载均衡器和网络安全

负载均衡器和网络安全

部署Azure负载均衡

Azure负载均衡器

工作在4层
发送源地址 源IP 源端口 源协议 接收的IP 端口

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

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

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

内部(或专用)负载平衡器用于仅在前端需要专用IP的情况。内部负载均衡器用于对虚拟网络内部的流量进行负载均衡。负载均衡器前端可以在混合方案中从本地网络进行访问。
ZA303学习笔记十部署负载均衡器和网络安全

什么是负载均衡器

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

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

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

跨区域负载均衡

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

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

ZA303学习笔记十部署负载均衡器和网络安全
ZA303学习笔记十部署负载均衡器和网络安全

部署一个应用程序网关

应用程序网关

工作在第七层OSI

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

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

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

ZA303学习笔记十部署负载均衡器和网络安全

多站点托管功能

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

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

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

ZA303学习笔记十部署负载均衡器和网络安全

基于URL路径的路由

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

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

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

ZA303学习笔记十部署负载均衡器和网络安全

重定向

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

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

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

支持以下类型的重定向:

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

ZA303学习笔记十部署负载均衡器和网络安全

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

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

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

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

ZA303学习笔记十部署负载均衡器和网络安全

URL重写VS URL重定向

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

对于URL重定向,应用程序网关会将重定向响应发送到使用新URL的客户端。这反过来要求客户端将其请求重新发送到重定向中提供的新URL。用户在浏览器中看到的URL将更新到新的URL
ZA303学习笔记十部署负载均衡器和网络安全

部署一个网络应用程序防火墙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应用程序免受常见漏洞的侵害。它还提供了易于配置的*位置来进行管理。
ZA303学习笔记十部署负载均衡器和网络安全

保护

  • 无需修改后端代码即可保护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完全集成。
ZA303学习笔记十部署负载均衡器和网络安全

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

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

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

ZA303学习笔记十部署负载均衡器和网络安全

部署Azure Traffic Manager流量管理器

Azure Traffic Manager流量管理器

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

流量管理器根据流量路由方法和终结点的运行状况,使用DNS将客户端请求定向到最合适的服务终结点。终结点可以是托管在Azure内部或外部的任何面向Internet的服务。流量管理器提供多种流量路由方法和终结点监视选项来满足不同的应用程序需求和自动故障转移模型。流量管理器能够灵活应对故障,包括整个Azure区域的故障。
ZA303学习笔记十部署负载均衡器和网络安全

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

部署堡垒机

上一篇:【Azure 应用服务】"App Service"如何能判断自身网路没有问题?


下一篇:云原生应用之旅——Kubernetes成长记 | 第三站:结识Azure Kubernetes