AWS ELB基础知识

news2025/1/8 1:04:13

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提高性能,减少资源使用。

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

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

相关文章

用VS C#构建Windows服务【纯操作版,附带项目地址】

1.点击“创建新项目”,选择“Windows 服务(.NET Framework)” 2、给项目命名 3、双击“Service1.cs”,右键,选择“添加安装程序”,就会生成一个“ProjectInstaller.cs”文件 4、双击“P…

KUKA机器人如何修改程序并下载到机器人控制器中?

KUKA机器人如何修改程序并下载到机器人控制器中? 如下图所示,首先将使用的网卡的IP地址设置为自动获得, 打开workvisual软件,点击搜索,正常情况下可以搜索到项目文件,选中后双击进入, 如下图所示,此时,workvisual会自动从机器人控制器中下载项目文件到电脑上,耐心等待…

L28.【LeetCode笔记】移动零(三种解法)

目录 1.题目 2.向前覆盖法 分析 代码 提交结果 3.优解:双指针 代码 提交结果 4.其他不符合题意的方法:使用队列 代码 提交结果 1.题目 https://leetcode.cn/problems/move-zeroes/description/ 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾…

js逆向实战(1)-- 某☁️音乐下载

下载某云音乐源文件.mp4格式 首先随便点进一首歌,如图所示获取该音乐id,然后点击播放键,打开F12进行查询XHR 由此可知,实际请求网址是 https://music.163.com/weapi/song/enhance/player/url/v1?csrf_token「你的token」url需带…

深入了解 SSL/TLS 协议及其工作原理

深入了解 SSL/TLS 协议及其工作原理 一. 什么是 SSL/TLS?二. SSL/TLS 握手过程三. SSL/TLS 数据加密与传输四. 总结 点个免费的赞和关注,有错误的地方请指出,看个人主页有惊喜。 作者:神的孩子都在歌唱 一. 什么是 SSL/TLS? 安全套接层&am…

Java四大常用JSON解析性能对比:Hutool、Fastjson2、Gson与Jackson测试

1. 引言 JSON 是现代软件开发中常用的数据交换格式,尤其在微服务和前后端分离的架构中更是必不可少。 本文将对 Java 中四大主流 JSON 解析库——Hutool、Fastjson2、Gson 和 Jackson 进行性能测试和对比分析,通过实测 20 万条数据解析,揭示…

【整理集合大全】MySQL(4) 数据库增删改查SQL语句

查看数据库 show databases; 使用数据库 use 数据库名;创建数据库 CREATE DATABASE 数据库名;删除数据库 DROP DATABASE 数据库名;创建表 create table 表名(列名1 类型(长度) [约束],列名2 类型(长度) [约束],…… );长度区别 int类型带长度:不影响存取值&…

升级 Spring Boot 3 配置讲解 —— Spring Boot 3 核心源码专讲

学会这款 🔥全新设计的 Java 脚手架 ,从此面试不再怕! Spring Boot 3 是 Spring 生态中的重要里程碑,它不仅全面支持 Java 17,还引入了许多新特性,如对 GraalVM 原生镜像的支持、改进的性能优化以及更灵活的…

vue3中el-table实现多表头并表格合并行或列

1、el-table中添加事件 :span-method"genderSpanCity" <el-table :span-method"genderSpanCity":data"data.tableData":fit"true" table-layout"fixed" header-align"center" stripestyle"width:100%;he…

OpenGL —— 流媒体播放器 - ffmpeg解码rtsp流,opengl渲染yuv视频(附源码,glfw+glad)

效果 说明 FFMpeg和OpenGL作为两大技术巨头,分别在视频解码和图形渲染领域发挥着举足轻重的作用。本文将综合两者实战视频播放器,大概技术流程为:ffmpeg拉取rtsp协议视频流,并经过解码、尺寸格式转换为yuv420p后,使用opengl逐帧循环渲染该yuv实时视频。 核心源码 vertexSh…

Web安全扫盲

1、建立网络思维模型的必要 1 . 我们只有知道了通信原理&#xff0c; 才能够清楚的知道数据的交换过程。 2 . 我们只有知道了网络架构&#xff0c; 才能够清楚的、准确的寻找漏洞。 2、局域网的简单通信 局域网的简单通信&#xff08;数据链路层&#xff09; 一般局域网都通…

HTML 显示器纯色亮点检测工具

HTML 显示器纯色亮点检测工具 相关资源文件已经打包成html等文件&#xff0c;可双击直接运行程序&#xff0c;且文章末尾已附上相关源码&#xff0c;以供大家学习交流&#xff0c;博主主页还有更多Html相关程序案例&#xff0c;秉着开源精神的想法&#xff0c;望大家喜欢&#…

ARM发布Armv9.5架构:迈向更强性能与灵活性的新时代

2024年11月30日&#xff0c;ARM正式发布了其最新的Armv9.5架构&#xff0c;这是Arm技术发展的又一重要里程碑。从表中信息来看&#xff0c;Armv9.5架构的发布标志着该公司的架构系列在性能、灵活性和可扩展性方面取得了进一步突破。本次发布不仅是技术上的提升&#xff0c;更是…

被催更了,2025元旦源码继续免费送

“时间从来不会停下&#xff0c;它只会匆匆流逝。抓住每一刻&#xff0c;我们才不会辜负自己。” 联系作者免费领&#x1f496;源&#x1f496;码。 三联支持&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4dd;欢迎留言讨论 &#x1f525;亲爱的朋友们&#xff0c;感谢你…

【Rust自学】10.4. trait Pt.2:trait作为参数和返回类型、trait bound

喜欢的话别忘了点赞、收藏加关注哦&#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵&#xff01;(&#xff65;ω&#xff65;) 说句题外话&#xff0c;写这篇的时间比写所有权还还花的久&#xff0c;trait是真的比较难理解的概念。 10.4.1. 把trait作为参数 继续以…

R机器学习:神经网络算法的理解与实操,实例解析

神经网络算法是一种模仿生物神经网络&#xff08;尤其是人脑&#xff09;结构和功能的算法。它由大量相互连接的节点&#xff08;称为神经元&#xff09;组成&#xff0c;这些神经元组织成层&#xff0c;通过传递信号来处理信息。神经网络算法在机器学习、人工智能等领域中扮演…

Java(day4)

二维数组 静态初始化 动态初始化 练习 public class test1 {public static void main(String[]args){int arr[][]{{22,66,44},{77,33,88},{25,45,65},{11,66,99}};int sum0;for(int i0;i<arr.length;i){int a0;for(int j0;j<arr[i].length;j){sumarr[i][j];aarr[i][j];…

element-plus大版本一样,但是小版本不一样导致页面出bug

npm 的版本 node的版本 npm的源这些都一样&#xff0c;但是效果不一样 发现是element的包版本不一样导致的 2.9.1与2.8.1的源是不一样的&#xff0c;导致页面出bug;

【Docker】安装registry本地镜像库,开启Https功能

下载镜像 docker pull registry:2 需要启动https功能&#xff0c;就要生成服务端的自签名的证书和私钥&#xff0c;以及在docker客户端安装这个经过签名的证书。 第一步&#xff1a;生成公私钥信息&#xff0c;第二步&#xff0c;制作证书签名申请文件&#xff0c; 第三步&…

单片机-LED点阵实验

要将第一个点点亮&#xff0c;则 1 脚接高电平 a 脚接低电平&#xff0c;则第一个点就亮了&#xff1b;如果要将第一行点亮&#xff0c;则第 1 脚要接高电平&#xff0c;而&#xff08;a、b、c、d、e、f、g、h &#xff09;这些引脚接低电平&#xff0c;那么第一行就会点亮&…