Day4 Webserver和ALB
Day4 Webserver和ALB

Day4 Webserver和ALB

内容纲要

Day4 Webserver

1.回顾

之前学习了Linux的基本操作和常用命令,包括权限的了解和修改,多了解记一下命令问题应该不是很大,最后学习了如何配置SSH密码登录,一般密钥对就够了,不是很推荐打开密码登录可以提高安全性。

2.目标

ALB(Application Load Balancer)基本的了解

Apache的基本了解(只能静态网站)

ロードバランサ(负载均衡)了解和使用

3.ALB

ALB简介

HTTP/HTTPS
Application Load Balancer は、HTTP トラフィック(流量)および HTTPS トラ
フィックの負荷分散に最適です。Application Load Balancer を使用すると、マ
イクロサービス(微服务)やコンテナ(容器)といった最新のアプリケーショ
ンアーキテクチャ(应用程序架构)を対象とした高度なリクエストルーティン
グ(高级请求路由功能)を実現できます。

在常用服务器上部署网站,如果我们同时架设在两台服务器上,其中一台挂掉,我们只能手动切换成另外一台服务器,如果通过ALB 可以达到负载均衡,帮我们自动切换可用服务器。中转和复合分散。

4.利用Apache来部署一个简单网页

Apache是什么?

Apache HttpdとWebサーバー ( Apache HTTP Server & web server / 阿帕奇服务器与网
站服务器 / アパッチ & ウェブサーバー)
Welcome! – The Apache HTTP Server Project
Webサーバー就是网站服务器。Apache是一个可以用来做静态网站的中间件。

听老师描述,貌似和我常用的nginx是类似的东西吧。Σ(‘◉⌓◉’)

实操步骤

1.使用bas-web1a的服务器

2.web1a: 下载安装apache

3.web1a网页的路径:

/var/www/html/index.html

4.启动命令

systemctl start httpd

systemctl enable httpd

误区

1.忘记下载安装

2.路径错误

3.忘记启动运行

4.html文件内容/格式修改错误


通过私网主机创建一个简单网页

1.创建一个NATゲートウィイ

为了使我们的私有网络主机能有网用,我们需要创建一个NATゲートウィイ来连接网络

1.进入VPC—NATゲートウィイ—-创建NATゲートウィイ

2.创建NATゲートウィイ的时候我们需要选择pub1a这个网,也就是公网。

注意⚠️:不要选择私有网络,不然还是没网。

3.然后我们需要关联路由表,点击ルートテーブル

4.选择我们的pri1a这个网,然后ルート編集ーールートを追加ーー追加刚刚创建的NATゲートウィイ

2.下载Apache并创建一个简单的网页

2.1下载Apache并编辑一个网页

回到web1a的服务器上就可以使用网络。

然后执行下面的操作

sodu yum install httpd -y   #安装Apache

sodu vim /var/www/html/index.html       #新建index文件编辑内容

粘贴下面内容

<br /> <html></p> <p><head></p> <style type="text/css"> p {font-size:100px; color : Turquoise} </style> <p></head></p> <p><body></p> <p>Page for PC</p> <p></body></p> <p></html><br />

2.1查看Apache状态并运行

1.首先我们输入

systemctl status httpd          #查看服务状态

发现没有运行

[root@web1a html]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:httpd.service(8)

2.我们来启动他

systemctl start httpd   #启动服务
#然后
systemctl enable httpd  #自动启动

发现已经跑起来了

[root@web1a ec2-user]# systemctl status httpd
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2023-01-10 08:00:06 UTC; 37s ago
     Docs: man:httpd.service(8)
 Main PID: 5280 (httpd)
   Status: "Total requests: 0; Idle/Busy workers 100/0;Requests/sec: 0; Bytes served/sec:   0 B/sec"
   CGroup: /system.slice/httpd.service
           ├─5280 /usr/sbin/httpd -DFOREGROUND
           ├─5281 /usr/sbin/httpd -DFOREGROUND
           ├─5282 /usr/sbin/httpd -DFOREGROUND
           ├─5283 /usr/sbin/httpd -DFOREGROUND
           ├─5284 /usr/sbin/httpd -DFOREGROUND
           └─5285 /usr/sbin/httpd -DFOREGROUND

Jan 10 08:00:06 web1a systemd[1]: Starting The Apache HTTP Server...
Jan 10 08:00:06 web1a httpd[5280]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, usin... message
Jan 10 08:00:06 web1a systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.

好了使用同样的方法我们可以再创建一个pri1c(web1c)的主机

3.ALB实践 创建一个目标组(ターゲットグループ)

创建一个目标组(ターゲットグループ)可以方便我们管理和查看实例。

  1. 选择EC2→ターゲットグループ→ターゲットグループ作成
  2. 基本的な設定中我们选择インスタンス(指向我们的实例)
  3. 起一个ターゲットグループ名(qlite-dev-xxx-tg)
  4. 选择自己的VPC
  5. 创建,这样我们就可以看到我们跑的实例。
  6. 选择web1a和web1c然后端口选择80后,点击保留中として以下を含める
  7. ターゲットを確認中可以看到保留中的两台实例
  8. 最后点击ターゲットグループを作成

4.创建一个ロードバランサー

  1. 选择EC2→ロードバランサー→ロードバランサー作成

  2. 选择第一个ALB

  3. 起一个名字(qlite-dev-xxx-alb)

  4. 选择インターネット向け和IPV4

  5. Network mapping里选择我们的VPC

  6. 勾选我们的pub1a和pub1c(两个公网主机)⚠️记得不要选错

  7. 创建一个安全组,首先给安全组起个名(qlite-dev-xxx-sg-alb),VPC选择我们的VPC(⚠️点叉之后选择,不要默认选错了。如果选错了会不会显示)

    インバンドルール(入站规则)开放http的80端口。

    可以再开一个ipv6 最后创建。

  8. 回到刚刚的步骤,选择我们刚刚创建的安全组

  9. リスナーとルーティング(指向什么地方/目标)选择我们刚刚创建的ターゲットグループ

  10. 选择作成

回顾一下到这里我么你做了一些什么

2023-01-10-180530.jpg

到这里我们给我们的两个公网主机上做了一个ALB负载均衡

上图中的Web Server 1a和Web Server 1c就是我们的ターゲットグループ(targetgroup/目标组)

5.查看我们刚刚做的简单网页

选择EC2→ロードバランサー→点击我们创建的ロードバランサー查看详情

可以看到DNS名,复制他到我们的浏览器可以看到我们输入的内容

刷新可以看到颜色会变,代表会在我们两台主机中来回切换,代表我们的负载均衡做好了。

思考????

到这里今天学习就貌似结束了。

AWS这些东西直接涉及到了我的知识盲区。

总结一下今天做了什么

  • 在两台内网主机上部署了Apache然后创建了一个简单的网页。
  • 为了使我们在内网主机上的服务能够在外网进行访问我们创建了ALB
  • ALB是应用层负载均衡器,支持HTTP/HTTPS的协议,与Classic ELB不同的是,ALB支持基于请求路径的分发,即根据HTTP标头的请求URL路径的不同,分发给后端不同的目标组(Target Group)。
  • 通过ALB我们可以把HTTP请求分发给web1a,web1c这两台主机。
  • 为了配置好ALB我们先创建了目标组(ターゲットグループ),这给目标组就使方便告诉ALB我们需要分发的两台主机。
  • 接着我们正式创建一个负载均衡–ALB
  • 其中Network mapping就代表我们要把ALB部署到的位置,我们在上面选择了pub1a和pub1c(两个公网主机)即我们把ALB部署到了pub1a和pub1c的公共网络上。
  • 安全组就不需要解释了,就是防火墙,根据需求来打开
  • リスナーとルーティング(指向什么地方/目标)简单来说他就是接受请求的,相对Network mapping就是帮我们发送请求的。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注