Elastic Load Balancing (ELB) 笔记

6 篇文章 0 订阅
6 篇文章 0 订阅

Elastic Load Balancing (ELB) 笔记

目前我们已经将两台 Web 服务器放在两个不同的可用区,如何让使用者可以将这两台或是更多台的 Web 服务器是为是一台 Web 服务器,所以我们需要在 Web 服务器前放置一个负载均衡器,如图 1 所示,今天要介绍的是 Amazon 的负载均衡器 - Elastic Load Balancing (ELB)。

具有 ELB 的应用程序架构
图 1 、具有 ELB 的应用程序架构

负载均衡器的目的是自动将传入的应用程序流量,分配到多个目标,例如 Amazon Elastic Compute Cloud (EC2) 实例、容器或 Internet 协议 (IP) 地址。而 Amazon 将 ELB 分成三种不同类型

Application Load Balancer (ALB)

  • 应用程序级别(第 7 层)
  • 支持基于内容的路由和在容器中运行的应用程序
  • 支持两种行业标准协议(WebSocket 和 HTTP/2)
  • 能够了解有关目标实例和容器运行状况的其他信息。

Network Load Balancer (NLB)

  • 每秒处理数以千万计的请求,同时以超低延迟保持高吞吐量。
  • 适合实现传输控制协议 (TCP) 流量负载均衡,且能够在每秒处理数百万请求的同时保持超低延迟。
  • 在连接级别运行(第 4 层)

Classic Load Balancer (CLB)

  • 可跨多个 Amazon EC2 实例提供基本的负载均衡
  • 在应用程序级别和连接级别运行
  • 非常适合内置于 Amazon EC2-Classic 网络的应用程序

安装应用程序

合理来说,当加装为 ELB 后, ELB 应该要在两台WEB服务器之间自动进行切换,为了要观察这个行为,我们需要一个应用程序来观察目前执行的主机是哪一台, Amazon EC2 实例有内建一个网址(http://169.254.169.254/latest/meta-data),使用者可以针对这个网址来查询这个 EC2 实例的相关设定数据,如实例 ID 、实例可用区等等,我们就可以透过这个方法来得知目前执行的 EC2 实例是哪一台。

使用 PuTTy 登入两台 EC2 实例,执行相同指令,用来查询这个 EC2 实例所在的可用区,可以发现两台 EC2 实例所呈现的结果不同,见图 2

curl http://169.254.169.254/latest/meta-data/placement/availability-zone
  • 1
  • 2

 EC2 实例所在的可用区
图 2 、查询 EC2 实例所在的可用区

将以上内容写成 php 程序代码,置于 EC2 实例首页,首先先使用 Putty 登入 EC2 实例,接着安装 web 服务器与 php ,并启动 web 服务器

# install web server and php
sudo yum -y install httpd php  
# start web server
sudo systemctl  start httpd

 
 
  • 1
  • 2
  • 3
  • 4

接着撰写首页,可以选择自己孰悉的 Linux 编辑器,如 vim 或是 nano

sudo vim /var/www/html/index.php

 
 
  • 1

 设定 EC2 的首页
图 3 、设定 EC2 的首页

index.php 首页内容

<center>
<table class='table table-bordered'>
<tr><th>Meta-Data</th><th>Value</th></tr>
<?php
  #The URL root is the AWS meta data service URL where metadata
  # requests regarding the running instance can be made
  $urlRoot="http://169.254.169.254/latest/meta-data/";

Get the instance ID from meta-data and print to the screen

echo “<tr><td>InstanceId</td><td><i>” . file_get_contents($urlRoot . ‘instance-id’) . “</i></td><tr>”;

Availability Zone

echo “<tr><td>Availability Zone</td><td><i>” . file_get_contents($urlRoot . ‘placement/availability-zone’) . “</i></td><tr>”;
?>
</table>
</center>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

接着就可以透过浏览器看到结果,不同的网址,所呈现的可用区跟实例ID是不同的

 检查 EC2 的首页画面
图 4 、检查 EC2 的首页画面

设定 ELB

进入 EC2 控制台,在左手选单下方选择负载平衡器,并在右边按下Create Load Balancer

新增负载平衡器
图 5 、新增负载平衡器

我们选择 Application Load Balancer (ALB)

选择Application Load Balancer
图 6 、选择Application Load Balancer

接下来可以发现需要六个步骤

  1. Configure Load Balancer: 建议先看一下图 1,可以发现负载平衡器会跨越两个可用区,因为唯有如此才能完成高可用性的设定,所以除了设定名字外,记得选择 VPC (PS:一个区域可以有多个 VPC )以及可用区

Name : ithomeALB
Availability Zones
VPC : vpc-0bb7004b67556d0da (172.16.0.0/16) | ithomeVPC
Availability Zones
ap-southeast-1a: subnet-0f1df807467b642f6 (ithome public subnet 1)
ap-southeast-1b: subnet-06f56dccb2a9cfcf0 (ithome public subnet 2)

设定负载平衡器的涵盖范围
图 7 、设定负载平衡器的涵盖范围

  1. Configure Security Settings: 没有设定
  2. Configure Security Groups: 设定安全组,选择先前设定的安全组,跟原来的 EC2 实例一样

Assign a security group: Select an existing security group
_ithome_web_SG _

设定负载平衡器安全组
图 8 、设定负载平衡器安全组

  1. Configure Routing: 设定要将收到的流量转给哪个对象,因为 AWS 会将这些对象设定成一个目标群,所以我们先指定一个目标群,到后面再来设定这个目标群的内容

Target group : New target group
Name : ithomeTargetGroup

指定负载平衡器目标群
图 9 、指定负载平衡器目标群

  1. Register Targets: 指定目标群的内容,将先前设定的两个 EC2 实例指定到上面新建立的目标群

指定负载平衡器目标群内容
图 10、指定负载平衡器目标群内容

  1. Review

完成设定后,记得在回到负载平衡器得主画面,这时候就可以看到刚刚建立的负载平衡器,这时候就可以直接复制 DNS Name 的字段,当作是网址,直接读取网页(图 11),但请注意,要等一段时间,因为 DNS 注册需要一段时间,所以可能要等五分钟后, DNS 的 TTL 到期后会再去抓取的时候,这时候网页才会正常(图 12)

负载平衡器的内容
图 11 、负载平衡器的内容

![观察负载平衡器所对应到的主机]](https://img-blog.csdnimg.cn/img_convert/659487363b66d711327d90a9256f8772.png)
图 12、观察负载平衡器所对应到的主机

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
elasticsearch 学习笔记包括以下内容: 一、Elasticsearch概述: - Elasticsearch是一种开源的分布式搜索和分析引擎,可以用于快速搜索、分析和存储大量的结构化和非结构化数据。 - Elasticsearch与Solr相比有一些区别,包括用户、开发和贡献者社区的规模和成熟度等方面。 二、Elasticsearch安装: 1. 下载Elasticsearch,可以从官方网站或华为云镜像下载。 2. 安装Elasticsearch。 三、安装head插件: - head插件是一个可视化的管理界面,可以方便地管理和监控Elasticsearch集群。 四、安装Kibana: 1. Kibana是一个开源的数据可视化工具,用于展示和分析Elasticsearch中的数据。 2. 下载Kibana并安装。 3. 启动Kibana并进行访问测试。 4. 可选的汉化操作。 五、ES核心概念理解: - 学习ES的核心概念,包括索引、文档、映射、查询等。 以上是elasticsearch学习笔记的主要内容,希望对你有帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Elasticsearch 学习笔记(上)](https://blog.csdn.net/m0_52691962/article/details/127064350)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值