AWS ELB基础知识
1.负载均衡器的类型
需要了解三种类型的 ELB:
- Application Load Balancer (ALB) **:
- 在 HTTP/HTTPS 层(OSI 模型的第 7 层)运行。
- 非常适合路由 HTTP/HTTPS 流量。
- 支持高级路由功能,例如基于 URL 的路由、基于主机的路由和 WebSocket 支持。
- 可以根据请求内容(例如,路径或主机名)将流量路由到不同的目标组。
- 支持容器化应用程序(例如 ECS 和 EKS)和微服务架构。
- 网络负载均衡器 (NLB)**:
- 在 TCP 级别(OSI 模型的第 4 层)运行。
- 非常适合处理高吞吐量和低延迟流量。
- 专为极致性能而设计,每秒能够处理数百万个请求。
- 支持静态 IP 地址和弹性 IP。
- 通常用于非 HTTP 流量,例如数据库连接或 IoT 应用程序。
- Classic Load Balancer (CLB) **:
- 在 HTTP/HTTPS 和 TCP** 级别运行。
- 支持基本的负载均衡功能,通常用于传统应用程序。
- 不支持基于路径或基于主机的路由等新功能。
2.目标群体和目标
- 目标群体:
- 目标组是负载均衡器将流量路由到的目标(EC2 实例、Lambda 函数、IP 地址或容器)的集合。
- 目标组与 ELB 监听器关联,根据规则将流量路由到特定的目标。
- 健康检查:
- 每个目标组都可以配置运行状况检查,确保流量仅路由到运行状况良好的实例。
- 运行状况检查配置包括协议、端口、路径(适用于 HTTP/S)和运行状况阈值设置。
- 目标类型:
- EC2 实例、IP 地址、Lambda 函数和容器 (ECS/EKS) 可以注册为目标。
3.听众
- 侦听器 是检查来自客户端的连接请求(如 HTTP 或 HTTPS)的进程。它与特定端口相关联(例如,HTTP 的端口 80,HTTPS 的端口 443)。
- 侦听器规则指定负载均衡器如何根据请求内容将流量路由到不同的目标组(例如,ALB 的基于路径或基于主机的路由)。
- 您可以在 ALB 或 NLB 上配置 SSL 终止,以从您的目标中卸载加密/解密过程。
4.跨区负载均衡
- 跨区负载均衡允许在所有可用区之间分配流量,确保在所有目标之间均匀分配负载,而不管可用区如何。
- ALB 默认开启此功能,但 NLB 和 CLB 可能需要特定配置。
5.安全功能和集成
- SSL/TLS 终止:ALB 和 NLB 可以终止 SSL/TLS 连接,从而从您的后端实例中卸载加密和解密过程。
- Web 应用程序防火墙 (WAF):您可以将 AWS WAF 与 ALB 集成,以保护您的 Web 应用程序免受常见的 Web 漏洞(例如 SQL 注入、跨站点脚本)的攻击。
- 访问控制:ELB 可以与安全组相关联,以控制访问和管理入站/出站流量。
- 侦听器规则:对于高级路由和负载均衡,您可以在 ALB 上定义侦听器规则,以根据请求(例如主机名、路径)将流量路由到不同的目标组。
6.使用 ELB 自动扩展
- ELB 通常与 Auto Scaling 结合使用,以根据流量动态调整正在运行的 EC2 实例的数量。
- 自动扩展可确保您的应用程序有足够的资源来处理流量峰值,而 ELB 在可用实例之间均匀分配流量。
7.与其他 AWS 服务集成
- ECS/EKS:ECS (Elastic Container Service) 和 EKS (Elastic Kubernetes Service) 都使用负载均衡器将流量分配到容器化应用程序。
- Lambda:借助 ALB,您可以将 AWS Lambda 函数注册为目标,以将流量直接路由到无服务器函数。
- CloudWatch 指标:ELB 提供与 CloudWatch 的集成,以便根据各种指标(例如请求计数、响应时间和运行状况良好/运行状况不佳的主机计数)进行监控和设置警报。
8.扩展和性能注意事项
- 弹性:ELB 会自动扩展或缩减以应对流量的变化。
- 会话粘性 (Sticky Sessions):在某些情况下,您可能需要确保来自同一客户端的请求被路由到同一实例(例如,对于有状态的应用程序)。这是通过 ALB 中的会话 Cookie 处理的。
9.高可用性和容错能力
- ELB 具有高可用性和容错能力,能够在多个可用区 (AZ) 之间分配流量。
- 可用区隔离:AWS 中的 ELB 会自动检测运行状况不佳的目标,并将流量重新路由到不同可用区中运行状况良好的实例。
10.定价注意事项
- ELB 定价基于负载均衡器运行的小时数和负载均衡器处理的数据量。
- 定价因负载均衡器类型(ALB、NLB 或 CLB)和处理的请求数量、传输的数据和区域等因素而异。
11.故障排除和日志记录
- 访问日志:ELB 访问日志提供有关发送到负载均衡器的请求的详细信息,可用于故障排除和监控。
- CloudWatch Logs:指标和日志可以发送到 Amazon CloudWatch 进行进一步分析。
知识点
- 类型:Classic Load Balancer (CLB)是传统负载均衡器,为EC2实例提供基本负载均衡功能;Application Load Balancer (ALB)主要处理HTTP和HTTPS流量,支持基于主机、路径的高级路由,适用于现代Web应用和微服务架构;Network Load Balancer (NLB)用于TCP/UDP流量,能以低延迟处理每秒数百万请求,支持SSL/TLS终止并可将加密流量转发到后端服务器;Gateway Load Balancer (GLB)主要用于将流量导向虚拟网络功能。
- 路由和目标组:负载均衡器可基于多种规则将流量路由到目标组,目标组包含要接收流量的实例等目标,需合理配置以确保流量正确分发。健康检查用于确定目标实例的健康状态,负载均衡器会根据检查结果决定是否向实例发送流量。
- 与自动缩放集成:ELB与Auto Scaling配合,新实例自动注册到负载均衡器,流量在Auto Scaling组的所有健康实例间均匀分配,实现弹性伸缩。
- 安全功能:SSL/TLS终止可在负载均衡器处处理加密连接,减轻后端服务器负担。安全组用于控制进出负载均衡器及关联实例的流量。AWS WAF可创建自定义安全规则,AWS Shield提供DDoS攻击防护,它们与ELB集成增强安全性。
- 高可用性和容错:ELB可跨多个可用区分布流量,确保即使某个可用区出现问题,应用仍可正常处理流量。启用跨区负载均衡能使流量在所有可用区均衡分布。
注意事项
- 类型选择:CLB适用于对功能要求简单的遗留系统;需基于内容或高级路由的HTTP/HTTPS流量选ALB;处理高流量、低延迟的TCP/UDP流量优先考虑NLB。
- 安全配置:及时更新SSL/TLS证书,定期审查和更新安全组规则,合理配置AWS WAF规则,避免误拦截正常流量。
- 健康检查:合理设置健康检查参数,确保能准确反映实例健康状态,避免因检查过于宽松或严格导致流量分配问题。
- 与其他服务集成:确保ELB与Auto Scaling、AWS Certificate Manager等其他服务的集成配置正确,如Auto Scaling组的实例启动配置和ELB的目标组设置需匹配,以保证实例正常注册和流量分发。
- 成本优化:根据实际流量需求选择合适的负载均衡器类型和规格,避免资源浪费。如高流量场景可启用HTTP/2提高性能,减少资源使用。
相关文章:
AWS ELB基础知识
1.负载均衡器的类型 需要了解三种类型的 ELB: Application Load Balancer (ALB) **: 在 HTTP/HTTPS 层(OSI 模型的第 7 层)运行。非常适合路由 HTTP/HTTPS 流量。支持高级路由功能,例如基于 U…...
我用Ai学Android Jetpack Compose之Text
这篇开始学习各种UI元素,答案来自 通义千问,通义千问没法生成图片,图片是我补充的。 下述代码只要复制到第一个工程,做一些import操作,一般import androidx.compose包里的东西,即可看到预览效果。完整工程代…...
Robot---奇思妙想轮足机器人
1 背景 传统机器人有足式、轮式、履带式三种移动方式,每种移动方式都有各自的优缺点。轮式机器人依靠车轮在地面上移动,能源利用率高、移动速度快,但是仅以轮子与地面接触,缺乏越障能力和对复杂地形的适应能力,尤其面对…...
springcloud 介绍
Spring Cloud是一个基于Spring Boot的微服务架构解决方案集合,它提供了一套完整的工具集,用于快速构建分布式系统。在Spring Cloud的架构中,服务被拆分为一系列小型、自治的微服务,每个服务运行在其独立的进程中,并通过…...
【STM32】I2C为什么要开漏输出和上拉电阻
为什么需要使用开漏输出 防止短路:假设使用推挽结构,多个设备挂在同一总线上,当存在某一设备将某一信号驱动为高电平,而其他设备驱动为低电平,会导致短路,导致器件损坏或降低寿命。对于开漏结构࿰…...
【从零开始入门unity游戏开发之——C#篇44】C#补充知识——var隐式类型、初始化器、匿名类型
文章目录 一、var隐式类型1、var 的基本用法2、注意3、总结 二、初始化器1、类定义2、对象初始化器3、集合初始化3.1 数组初始化3.2 List<T> 初始化3.3 Dictionary<TKey, TValue> 初始化 三、匿名类型1、示例代码2、匿名类型的限制: 专栏推荐完结 一、v…...
Spring Boot 中 TypeExcludeFilter 的作用及使用示例
在Spring Boot应用程序中,TypeExcludeFilter 是一个用于过滤特定类型的组件,使之不被Spring容器自动扫描和注册为bean的工具。这在你想要排除某些类或类型(如配置类、组件等)而不希望它们参与Spring的自动装配时非常有用。 作用 …...
解锁kafka组件安全性解决方案:打造全方位安全防线
文章目录 前言安全漏洞修复权限管理身份验证数据传输数据存储 前言 Kafka组件的安全性解决方案旨在保护Kafka集群免受未经授权访问、数据泄露、知识产权问题和竞争法问题的侵害。提高开源中间件的安全性和稳定性,包括安全漏洞修复、权限管理、身份验证等方面的内容…...
【C++数据结构——图】最小生成树(头歌实践教学平台习题) 【合集】
目录😋 任务描述 相关知识 带权无向图 建立邻接矩阵 Prim算法 1. 算法基本概念 2. 算法背景与目标 3. 算法具体步骤 4. 算法结束条件与结果 测试说明 通关代码 测试结果 任务描述 本关任务:编写一个程序求图的最小生成树。 相关知识 为了完成…...
Java(1)入门基础
1. Java简介 1.1 什么是Java Java 是一款由Sun Microsystems公司(现为甲骨文公司Oracle Corporation的一部分)的James Gosling及其团队在1995年发布的高级编程语言。同时,Java 是一种面向对象的语言,这意味着它允许开发者通过创…...
2024.1.5总结
今日不开心:这周本来想花点时间学习的,没想到全都花在刷视频,外出消费去了。 今日思考: 1.找对象这件事确实不能强求,顺其自然吧,单身和不单身,其实,各有各的利弊。在一次坐地铁的过程中,我一…...
【C语言程序设计——循环程序设计】枚举法换硬币(头歌实践教学平台习题)【合集】
目录😋 任务描述 相关知识 一、循环控制 / 跳转语句的使用 1. 循环控制语句(for 循环) 2. 循环控制语句(while 循环) 3. 跳转语句(break 语句) 4. 跳转语句(continue 语句&…...
在调用 borrowObject 方法时,Apache Commons Pool 会根据连接池的配置触发一系列相关的方法
在调用 borrowObject 方法时,Apache Commons Pool 会根据连接池的配置触发一系列相关的方法 1. GrpcChannel 的概念 GrpcChannel 是 gRPC 客户端与服务器之间通信的核心组件。它是基于 HTTP/2 的连接,支持多路复用,即通过单个通道可以发送多…...
Linux中的tty和pts概念和区别
目录 1、什么是tty (1)tty的概念 (2)tty0 (3)tty1~6 2、什么是pts (1)pts的含义 (2)pts的具体解释 3、pts与 tty 设备的比较 4、设备文件的位置 1、什…...
【SOC 芯片设计 DFT 学习专栏 -- RTL 中的信号名和 Netlist 中的信号名差异】
Overview 本文将介绍 soc 设计中 RTL-to-Netlist 映射及 RTL 中的信号名和 Netlist 中的信号名差异, 在 SoC设计中,RTL-to-Netlist映射 是从RTL(Register Transfer Level)代码转换为Netlist的过程。这通常涉及将用硬件描述语言&…...
机器学习经典算法——线性回归
目录 算法介绍 一元线性回归模型 多元线性回归模型 误差项分析 相关系数 算法案例 一元线性回归预测——广告销售额案例 二元线性回归预测——血压收缩案例 多元线性回归预测——糖尿病案例 算法介绍 线性回归是利用数理统计中回归分析,来确定两种或两种…...
MLU上使用MagicMind GFPGANv1.4 onnx加速!
文章目录 前言一、平台环境准备二、环境准备1.GFPGAN代码处理2.MagicMind转换修改env.sh修改run.sh参数解析运行 3.修改后模型运行 前言 MagicMind是面向寒武纪MLU的推理加速引擎。MagicMind能将人工智能框架(TensorFlow、PyTorch、Caffe与ONNX等)训练好…...
VulnHub—potato-suncs
使用命令扫描靶机ip arp-scan -l 尝试访问一下ip 发现一个大土豆没什么用 尝试扫描一下子域名 没有发现什么有用的信息 尝试扫描端口 namp -A 192.168.19.137 -p- 尝试访问一下端口,发现都访问不进去 查看源代码发现了网页的标题 potato,就想着爆破一下密码 hydr…...
【Flink CDC】Flink CDC的Schema Evolution表结构演变的源码分析和流程图
Flink CDC版本:3.2.1 说明:本文从SchemaOperator接收到,表结构变更事件开始,表结构变更事件应由source端产生,本文不讨论。 可以先看流程图,研究源码。 参考文章: Flink cdc3.0动态变更表结构—…...
【智能算法】改进蚁狮优化算法【matlab】
目录 1 主要内容 2 部分程序 3 程序结果 下载链接 1 主要内容 该程序方法复现《改进蚁狮算法的无线传感器网络覆盖优化》两种改进算法模型,即原始ALO算法的基础上添加了两种改进策略: - 改进1:将原先的间断性边界收缩因子变为连续性边界…...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
