AWS ALB基础知识

news2025/1/7 18:14:09

1.AWS 中的负载均衡器概述

  • 负载均衡器类型:Application Load Balancer (ALB)、Network Load Balancer (NLB)、Classic Load Balancer (CLB)
    • ALB 最适合 HTTP/HTTPS 流量,并在第 7 层(应用层)运行。
    • NLB 适用于 TCP/UDP 流量,并在第 4 层(传输层)运行。
    • CLB(旧版)在 4 层和 7 层运行,但在现代架构中很少使用。

2.Application Load Balancer (ALB) 功能

  • 七层负载均衡:ALB 可以执行基于 HTTP(S) 请求的路由,包括 URL 路径、HTTP 头、查询参数和基于主机的路由。
  • 基于内容的路由:ALB 可以根据 URL 路径或主机名将流量路由到不同的目标组(例如,“/images”可以转到一个目标组,而“/api”可以转到另一个目标组)。
  • 基于主机的路由:ALB 允许基于域名的路由(例如,“api.example.com”与“www.example.com”)。
  • 基于路径的路由:根据请求的 URL 路径,流量可以定向到不同的服务。
  • WebSocket 支持:ALB 支持 WebSocket 连接,以实现实时、双向通信。
  • SSL 终止:ALB 支持 HTTPS 终止,从而从后端服务器卸载加密/解密工作。
  • 跨区负载均衡:在不同可用区中的目标之间均匀分配流量。
  • 健康检查:ALB 持续检查目标组中目标的健康状况,并仅将流量路由到运行状况良好的实例。

3.目标群体和目标

  • 目标组:ALB 将请求路由到目标组。目标可以是 EC2 实例、Lambda 函数、IP 地址或容器 (ECS)。
  • 目标类型
    • EC2 实例:您向 ALB 注册 EC2 实例。
  • Lambda 函数:ALB 可以将流量路由到 AWS Lambda 函数。
    • IP 地址:ALB 可以将流量直接路由到 IP 地址(适用于本地或混合环境)。
    • 容器:ALB 支持 ECS 中的容器化应用程序。

4.侦听器和规则

  • 侦听器:侦听器是检查连接请求的进程。ALB 支持 HTTP(端口 80)和 HTTPS(端口 443)监听器。
  • 侦听器规则:您可以根据条件(如路径或主机标头)定义特定规则,以将请求转发到相应的目标组。
  • 默认规则:如果没有与请求匹配的特定规则,ALB 将使用默认规则。

5.ALB 安全

  • 安全组:ALB 安全组控制对 ALB 的访问。
  • SSL/TLS 加密:使用 HTTPS(SSL/TLS 证书)保护客户端和 ALB 之间的流量。
  • WAF 集成:AWS WAF (Web Application Firewall) 可与 ALB 一起使用,以保护您的 Web 应用程序免受常见的 Web 攻击。

6.使用 ALB 进行扩展

  • 使用目标组进行 Auto Scaling:您可以将目标组与 Auto Scaling 组相关联,以确保您的应用程序根据流量自动扩展。
  • 流量分配:ALB 会自动均衡每个目标组中健康目标之间的流量。
  • 静态内容缓存:您可以将 ALB 与 Amazon CloudFront 结合使用,以缓存静态内容并减少后端服务的负载。

7.ALB 的用例

  • 微服务架构:ALB 非常适合根据 URL 或主机标头将请求路由到不同的微服务。
  • 容器化应用程序:ALB 与 ECS 结合使用,为管理容器化应用程序的流量提供了可扩展且灵活的解决方案。
  • 无服务器应用程序:ALB 可与 AWS Lambda 一起使用,以将 HTTP 请求路由到无服务器函数。
  • 混合架构:ALB 可以通过 IP 地址目标将流量路由到 EC2 实例和本地基础设施。

8.定价和成本考虑

  • 定价模型:使用 ALB 的成本取决于其运行的小时数和负载均衡器处理的数据量。
  • 请求成本:ALB 还根据处理的请求数量收费。
  • 数据传输成本:在 AWS 和客户端之间传输数据的成本,尤其是在您有跨区域请求时。

9.ALB vs. NLB vs. CLB

  • 知识点:与CLB相比,CLB工作在第4层(TCP)和第7层(HTTP/HTTPS),ALB严格工作在第7层且路由能力更先进;与NLB相比,NLB工作在第4层(TCP/UDP),适合高性能、低延迟流量,ALB用于基于内容规则的HTTP/HTTPS流量路由。
  • 注意事项:根据业务对流量处理和路由需求的不同,准确选择合适的负载均衡器类型。
    • ALB 最适合 HTTP/HTTPS 流量、第 7 层路由以及 WebSockets 和 SSL 终止等高级功能。
    • NLB 适用于 TCP/UDP 流量、极高性能和静态 IP 地址。
    • CLB 是一个传统选项,它结合了第 4 层和第 7 层功能,但现在仅推荐用于传统用例。

10.ALB 故障排除

  • 访问日志:ALB 访问日志提供有关请求和响应的详细信息,包括请求路径、状态代码和延迟。
  • CloudWatch 指标:ALB 提供请求计数、错误率、延迟和运行状况良好的主机计数的 CloudWatch 指标,这有助于诊断问题。
  • 运行状况检查:了解和配置目标的运行状况检查对于确保流量仅路由到运行状况良好的目标至关重要。

11.ALB基本概念

  • 知识点:ALB即应用程序负载均衡器,工作在应用层(第7层),可基于URL、主机头或查询字符串等内容路由流量,适用于HTTP和HTTPS流量,支持基于路径、主机的路由及SSL终止等功能。
  • 注意事项:要清楚ALB适用的流量类型和可实现的具体功能,在实际应用中根据需求选择合适的负载均衡方式。

12.ALB特性

  • 知识点:支持基于主机头和URL路径的路由,可实现SSL终止、WebSocket连接,通过粘性会话(会话亲和性)保证同一客户端请求定向到同一后端,能将请求转发到包含EC2实例、IP地址或Lambda函数的目标组,支持跨可用区负载均衡和HTTP/2协议。
  • 注意事项:配置时需根据业务需求合理选择和配置各功能,如设置粘性会话时要考虑会话保持的时长和影响。

13.安全和合规

  • 知识点:与安全组和网络访问控制列表(NACLs)集成控制进出流量,需配置SSL证书以在ALB监听器上启用HTTPS,可集成AWS WAF保护应用免受常见网络攻击。
  • 注意事项:要及时更新和管理SSL证书,确保其有效性,合理配置安全组和NACLs规则,避免限制过度或不足。

14.ALB监听器规则

  • 知识点:可配置监听器规则,根据URL路径或查询字符串等因素确定如何路由流量。
  • 注意事项:规则配置要准确,避免规则冲突或覆盖导致流量路由错误。

15.目标组和健康检查

  • 知识点:支持EC2实例、IP地址和Lambda函数作为目标,可自动进行健康检查,还可配置目标组的健康检查。
  • 注意事项:合理设置健康检查的参数,如检查路径、频率等,确保能准确反映目标的健康状态。

16.自动扩展和高可用性

  • 知识点:可根据传入流量自动扩展,支持跨多个可用区分配流量以实现高可用性和容错,能与AWS Auto Scaling集成根据需求扩展EC2实例。
  • 注意事项:要设置合适的自动扩展策略,避免过度扩展或扩展不及时。

17.ALB与微服务和容器集成

  • 知识点:可与ECS和EKS集成,为容器化应用提供负载均衡能力。
  • 注意事项:在集成时要确保各服务之间的配置和网络设置正确,保证流量正常路由。

18.常见场景和最佳实践

  • 知识点:常见场景包括基于主机名和路径路由流量、配置SSL终止和将HTTP流量重定向到HTTPS。
  • 注意事项:根据具体业务场景选择最佳路由策略,配置SSL终止和重定向时要注意证书配置和重定向规则的正确性。

19.故障跟踪和监控

  • 知识点:在Amazon CloudWatch中提供请求计数、延迟和错误率等指标,可启用访问日志跟踪流经负载均衡器的所有HTTP请求。
  • 注意事项:定期查看监控指标和日志,及时发现和解决潜在问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2272107.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

8086汇编(16位汇编)学习笔记10.寄存器总结

8086汇编(16位汇编)学习笔记10.寄存器总结-C/C基础-断点社区-专业的老牌游戏安全技术交流社区 - BpSend.net 寄存器 8086CPU有14个寄存器 它们的名称为: AX、BX、CX、DX、SI、DI、SP、BP、 IP**、CS、DS、ES、**SS、PSW。 8086CPU所有的寄存器都是16位的&#…

如何在 Ubuntu 22.04 上安装 Cassandra NoSQL 数据库教程

简介 本教程将向你介绍如何在 Ubuntu 22.04 上安装 Cassandra NoSQL 数据库。 Apache Cassandra 是一个分布式的 NoSQL 数据库,旨在处理跨多个普通服务器的大量数据,并提供高可用性,没有单点故障。Apache Cassandra 是一个高度可扩展的分布…

uni-app:实现普通选择器,时间选择器,日期选择器,多列选择器

效果 选择前效果 1、时间选择器 2、日期选择器 3、普通选择器 4、多列选择器 选择后效果 代码 <template><!-- 时间选择器 --><view class"line"><view classitem1><view classleft>时间</view><view class"right&quo…

centos,789使用mamba快速安装R及语言包devtools

如何进入R语言运行环境请参考&#xff1a;Centos7_miniconda_devtools安装_R语言入门之R包的安装_r语言devtools包怎么安装-CSDN博客 在R里面使用安装devtools经常遇到依赖问题&#xff0c;排除过程过于费时&#xff0c;使用conda安装包等待时间长等。下面演示centos,789都是一…

STM32第十一课:STM32-基于标准库的42步进电机的简单IO控制(附电机教程,看到即赚到)

一&#xff1a;步进电机简介 步进电机又称为脉冲电机&#xff0c;简而言之&#xff0c;就是一步一步前进的电机。基于最基本的电磁铁原理,它是一种可以自由回转的电磁铁,其动作原理是依靠气隙磁导的变化来产生电磁转矩&#xff0c;步进电机的角位移量与输入的脉冲个数严格成正…

kafka使用以及基于zookeeper集群搭建集群环境

一、环境介绍 zookeeper下载地址&#xff1a;https://zookeeper.apache.org/releases.html kafka下载地址&#xff1a;https://kafka.apache.org/downloads 192.168.142.129 apache-zookeeper-3.8.4-bin.tar.gz kafka_2.13-3.6.0.tgz 192.168.142.130 apache-zookee…

JSON结构快捷转XML结构API集成指南

JSON结构快捷转XML结构API集成指南 引言 在当今的软件开发世界中&#xff0c;数据交换格式的选择对于系统的互操作性和效率至关重要。JSON&#xff08;JavaScript Object Notation&#xff09;和XML&#xff08;eXtensible Markup Language&#xff09;是两种广泛使用的数据表…

Android14 CTS-R6和GTS-12-R2不能同时测试的解决方法

背景 Android14 CTS r6和GTS 12-r1之后&#xff0c;tf-console默认会带起OLC Server&#xff0c;看起来olc server可能是想适配ATS(android-test-station)&#xff0c;一种网页版可视化、可配置的跑XTS的方式。这种网页版ATS对测试人员是比较友好的&#xff0c;网页上简单配置下…

BurpSuite工具安装

BurpSuite介绍&#xff1a; BurpSuite是由PortSwigger开发的一款集成化的Web应用安全检测工具&#xff0c;广泛应用于Web应用的漏洞扫描和攻击模拟&#xff0c;主要用于抓包该包(消息拦截与构造) 一、Burp suite安装 windows系统需要提前配置好java环境&#xff0c;前面博客…

Win11+WLS Ubuntu 鸿蒙开发环境搭建(一)

参考文章 Windows11安装linux子系统 WSL子系统迁移、备份与导入全攻略 如何扩展 WSL 2 虚拟硬盘的大小 Win10安装的WSL子系统占用磁盘空间过大如何释放 《Ubuntu — 调整文件系统大小命令resize2fs》 penHarmony南向开发笔记&#xff08;一&#xff09;开发环境搭建 一&a…

flink cdc oceanbase(binlog模式)

接上文&#xff1a;一文说清flink从编码到部署上线 环境&#xff1a;①操作系统&#xff1a;阿里龙蜥 7.9&#xff08;平替CentOS7.9&#xff09;&#xff1b;②CPU&#xff1a;x86&#xff1b;③用户&#xff1a;root。 预研初衷&#xff1a;现在很多项目有国产化的要求&#…

和为0的四元组-蛮力枚举(C语言实现)

目录 一、问题描述 二、蛮力枚举思路 1.初始化&#xff1a; 2.遍历所有可能的四元组&#xff1a; 3.检查和&#xff1a; 4.避免重复&#xff1a; 5.更新计数器&#xff1a; 三、代码实现 四、运行结果 五、 算法复杂度分析 一、问题描述 给定一个整数数组 nums&…

某xx到家app逆向

去官网下载app即可 https://www.dongjiaotn.com/#/home查壳 360的壳子 直接脱壳即可 抓包 请求地址 https://api.gateway.znjztfn.cn/server/user/index 请求参数 {"lng": "xxxx","lat": "xxxx","city_id": "1376&…

docker搭建gitlab和jenkins

搭建gitlab 搭建gitlab首先需要一个gitlab的镜像 其次最好为他设置一个单独的目录 然后编写一个docker-compose文件 version: 3.1 services:gitlab:image: gitlab_zh:latest //此处为你的镜像名称container_name: gitlab //容器名称restart: always …

嵌入式linux中socket控制与实现

一、概述 1、首先网络,一看到这个词,我们就会想到IP地址和端口号,那IP地址和端口各有什么作用呢? (1)IP地址如身份证一样,是标识的电脑的,一台电脑只有一个IP地址。 (2)端口提供了一种访问通道,服务器一般都是通过知名端口号来识别某个服务。例如,对于每个TCP/IP实…

推荐系统重排:MMR 多样性算法

和谐共存&#xff1a;相关性与多样性在MMR中共舞 推荐系统【多样性算法】系列文章&#xff08;置顶&#xff09; 1.推荐系统重排&#xff1a;MMR 多样性算法 2.推荐系统重排&#xff1a;DPP 多样性算法 引言 在信息检索和推荐系统中&#xff0c;提供既与用户查询高度相关的文…

概述(讲讲python基本语法和第三方库)

我是北子&#xff0c;这是我自己写的python教程&#xff0c;主要是记录自己的学习成果方便自己日后复习&#xff0c; 我先学了C/C&#xff0c;所以这套教程中可能会将很多概念和C/C去对比&#xff0c;所以该教程大概不适合零基础的人。 it seems that python nowadays 只在人工…

【python因果库实战16】双重稳健模型1

这里写目录标题 双重稳健模型数据简单双重稳健模型双重稳健 IP 特征模型 双重稳健模型 基本上&#xff0c;这些是利用加权模型增强结果模型的不同集合模型。 本笔记展示了不同的结果模型和倾向性模型组合方式&#xff0c; 但由于可能的组合非常多&#xff0c;本笔记并不打算展…

如何恢复已删除的 Telegram 消息 [iOSamp;Android]

Telegram 是一款功能强大的消息应用程序&#xff0c;因其易用性、隐私保护和众多炫酷功能而深受用户喜爱。然而&#xff0c;有时我们会不小心删除重要的消息。在这种情况下你应该做什么&#xff1f; 本文将为您提供简单有效的解决方案来恢复 Telegram 上已删除的消息&#xff…

第431场周赛:最长乘积等价子数组、计算字符串的镜像分数、收集连续 K 个袋子可以获得的最多硬币数量、不重叠区间的最大得分

Q1、最长乘积等价子数组 1、题目描述 给你一个由 正整数 组成的数组 nums。 如果一个数组 arr 满足 prod(arr) lcm(arr) * gcd(arr)&#xff0c;则称其为 乘积等价数组 &#xff0c;其中&#xff1a; prod(arr) 表示 arr 中所有元素的乘积。gcd(arr) 表示 arr 中所有元素的…