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

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

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

相关文章

数学建模入门——描述性统计分析

摘要:本篇博客主要讲解了数学建模入门的描述性统计分析,包括基本统计量的计算、数据的分布形态、数据可视化和相关性分析。 往期回顾: 数学建模入门——建模流程-CSDN博客 数学建模入门——数据预处理(全)-CSDN博客 …

30、论文阅读:基于小波的傅里叶信息交互与频率扩散调整的水下图像恢复

Wavelet-based Fourier Information Interaction with Frequency Diffusion Adjustment for Underwater Image Restoration 摘要介绍相关工作水下图像增强扩散模型 论文方法整体架构离散小波变换与傅里叶变换频率初步增强Wide Transformer BlockSpatial-Frequency Fusion Block…

Zero to JupyterHub with Kubernetes 下篇 - Jupyterhub on k8s

前言:纯个人记录使用。 搭建 Zero to JupyterHub with Kubernetes 上篇 - Kubernetes 离线二进制部署。搭建 Zero to JupyterHub with Kubernetes 中篇 - Kubernetes 常规使用记录。搭建 Zero to JupyterHub with Kubernetes 下篇 - Jupyterhub on k8s。 官方文档…

Matlab回归预测大合集(不定期更新)-188

截至2025-1-2更新 1.BP神经网络多元回归预测(多输入单输出) 2.RBF神经网络多元回归预测(多输入单输出) 3.RF随机森林多元回归预测(多输入单输出) 4.CNN卷积神经网络多元回归预测(多输入单输…

【读书与思考】历史是一个好东西

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】【读书与思考】 导言 以后《AI日记》专栏我想专注于 AI 相关的学习、成长和工作等。而与 AI 无关的一些读书、思考和闲聊,我打算写到这里,我会尽量控制自己少想和少写。 下图的一些感想…

Git使用mirror备份和恢复

Git使用mirror备份和恢复 使用到的命令总结备份1.进入指定代码仓库,拷贝地址2.进入要备份到的文件夹,右键打开git命令行,输入以下命令3.命令执行完成后会生成一个新文件夹 恢复1.在gitee上创建代码仓库![请添加图片描述](https://i-blog.csdn…

人工智能的可解释性:从黑箱到透明

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​​ ​ 人工智能(AI)的快速发展和广泛应用,带来了许多革新的成果,但也引发了对其透明性和可解释…

Nacos注册中心介绍及部署

文章目录 Nacos注册中心介绍及部署1. 注册中心简介2. 注册中心原理3. Nacos部署-基于Docker3.1 Nacos官网下载3.2 基础数据信息3.3 环境信息3.4 docker安装部署3.5 测试3.5 测试 Nacos注册中心介绍及部署 1. 注册中心简介 Spring Cloud注册中心是Spring Cloud微服务架构中的一…

Nginx与frp结合实现局域网和公网的双重https服务

背景: 因为局域网内架设了 tiddlywiki、 Nextcloud 等服务,同时也把公司的网站架设在了本地,为了实现局域网直接在局域网内访问,而外部访问通过frps服务器作为反向代理的目的,才有此内容。 实现的效果如下图琐事 不喜欢…

zephyr移植到STM32

Zephy如何移植到单片机 1. Window下搭建开发环境1.1 安装Choncolatey1.2 安装相关依赖1.3创建虚拟python环境1.4 安装west1.4.1 使用 pip 安装 west1.4.2 检查 west 安装路径1.4.3 将 Scripts路径添加到环境变量1.4.4 验证安装 1.5 获取zephyr源码和[安装python](https://so.cs…

【分糖果——DFS】

题目 代码1 #include <bits/stdc.h> using namespace std; set<string> s; void dfs(int num1, int num2, int u, string ans) {if (u 7){if (num1 num2 > 5)return;ans (char)((num1) * 17 num2);s.insert(ans);return;}for (int i 0; i < num1; i){f…

【HarmonyOS】鸿蒙应用实现屏幕录制详解和源码

【HarmonyOS】鸿蒙应用实现屏幕录制详解和源码 一、前言 官方文档关于屏幕录制的API和示例介绍获取简单和突兀。使用起来会让上手程度变高。所以特意开篇文章&#xff0c;讲解屏幕录制的使用。官方文档参见&#xff1a;使用AVScreenCaptureRecorder录屏写文件(ArkTS) 二、方…

解决在VS2019/2022中编译c++项目报错fatal error C1189: #error : “No Target Architecture“

解决在VS2019/2022中编译c项目报错fatal error C1189: #error : “No Target Architecture” 报错原因 在winnt.h中&#xff0c;不言而喻&#xff0c;一目了然&#xff1a; 代码节选&#xff1a; #if defined(_AMD64_) || defined(_X86_) #define PROBE_ALIGNMENT( _s ) TY…

Python教程丨Python环境搭建 (含IDE安装)——保姆级教程!

工欲善其事&#xff0c;必先利其器。 学习Python的第一步不要再加收藏夹了&#xff01;提高执行力&#xff0c;先给自己装好Python。 1. Python 下载 1.1. 下载安装包 既然要下载Python&#xff0c;我们直接进入python官网下载即可 Python 官网&#xff1a;Welcome to Pyt…

实现AVL树

目录 AVL树概念 AVL树结构 AVL树插入 LL型 - 右单旋 RR型 - 左单旋 LR型 - 左右双旋 RL型 - 右左双旋 插入代码实现 AVL树测试 附AVL树实现完整代码 AVL树概念 前面的博客介绍了搜索二叉树&#xff0c;二叉搜索树-CSDN博客 在某些特定的情况下&#xff0c;⼆叉搜索树…

极客说|微软 Phi 系列小模型和多模态小模型

作者&#xff1a;胡平 - 微软云人工智能高级专家 「极客说」 是一档专注 AI 时代开发者分享的专栏&#xff0c;我们邀请来自微软以及技术社区专家&#xff0c;带来最前沿的技术干货与实践经验。在这里&#xff0c;您将看到深度教程、最佳实践和创新解决方案。关注「极客说」&am…

React+redux项目搭建流程

1.创建项目 create-react-app my-project --template typescript // 创建项目并使用typescript2.去除掉没用的文件夹&#xff0c;只保留部分有用的文件 3.项目配置&#xff1a; 配置项目的icon 配置项目的标题 配置项目的别名等&#xff08;craco.config.ts&…

HTML+CSS+JS制作高仿小米官网网站(内附源码,含6个页面)

一、作品介绍 HTMLCSSJS制作一个高仿小米官网网站&#xff0c;包含首页、商品详情页、确认订单页、订单支付页、收货地址管理页、新增收获地址页等6个静态页面。其中每个页面都包含一个导航栏、一个主要区域和一个底部区域。 二、页面结构 1. 顶部导航栏 包含Logo、主导航菜…

obs directx11

创建逻辑 obs 在windows 下分为Opengl 和 directx 两种渲染模式&#xff0c;默认使用的是directx &#xff0c;兼容性更好&#xff1b; 代码路径&#xff1a; E:\opensrc\obs_studio_src\obs-studio\UI\obs-app.cpp 选择渲染模式 const char* OBSApp::GetRenderModule() con…

QT实现 端口扫描暂停和继续功能 3

上篇QT给端口扫描工程增加线程2-CSDN博客 为按钮pushButton_Stop添加clicked事件&#xff0c;功能为暂停扫描&#xff0c;并在暂停后显示继续按钮&#xff0c;点击继续按钮之后继续扫描 1.更新UI 添加继续按钮 点击转到槽则会自动声明 2. 更新 MainWindow.h 需要新增的部分…