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:将原先的间断性边界收缩因子变为连续性边界…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...

以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
掌握 HTTP 请求:理解 cURL GET 语法
cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...