0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

40 代おっさん ELBを勉強してみた

Posted at

本記事について

本記事は AWS 初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。

ELBの概要

ELBEC2.png

上の図だとEC2が一台のため、単一障害点になります。
そのため例えば AZ 1c にもう一台EC2を置いたとします(下の図)
そうするとまた違った問題点が起きます。

ELBEC2構成.png

その問題点とは
・アクセスポイントが分かれてしまう(ユーザーから見るとアクセスポイントが2つになる)
・サーバーが正常かチャックをしないといけない(異常が出た場合、そのサーバーを停止させないといけない)
・セキュリティーの問題(直接、webサーバーにアクセスさせるのはセキュリティー上あまりよろしくない)
・セキュリティーの処理の負荷(HTTPSをHTTPに複合化するのは多少の負荷がかかり、本来コンテンツを提供するwebサーバーに通信の複合化の処理までさせるのは、あまりお勧めできません。)

上の問題点はDNS仕組み、監視仕組みを作りこむことはできますが、そこで代わりになるものがELBです。(下の図)

ELBEC2ELB構成.png

ELBの機能の特徴

ロードバランサーにはDNS名のアクセスポイントが付与される

ELBエンドポイント.png

ユーザーからのアクセスポイントを一つにして、ELBが自動でEC2の負荷状況を見て自動でリクエストを分散してくれます。(オートスケールと連動してEC2の平均のCPU使用率を見て、EC2を増やしたり、減らしたりすることも対応可能)

ヘルスチャック機能がある

定期的にELBが対象のファイルに通信を流し、正しいレスポンスが返ってくれば通信を流し、正しくないレスポンスがくれば通信をストップする。(この動きをロードバランサー切り離すという)
上の動きを、何秒ごとにチャックするかなどの設定もできる。

ELBに証明書を付与することでSSL通信の終端となる

ELBHTTPS.png

HTTPS通信をするためには証明書が必要になります。(AWS Certificate Manager で無料でとれる)この証明書をELBに配置することでその先がHTTP通信で通信がすることができる。
これをSSLターミネーションと言うみたいです。

ALB,NLB,CLBについて

ALB,NLB,CLBはELBのロードバランサー種類になります。

ALB

アプリケーションレイヤー(L7)HTTP,HTTPSの負荷分散に使えます。
※L7 とはOSI参照モデルで第7層のこと

NLB

トランスポートレイヤー (L4) TCP,UDPの負荷分散に使えます。
※L4 とはOSI参照モデルで第4層のこと

CLB

こちらは古い規格であり、今後は機能追加もないことからあえて使う必要がないとのことでした。

##ELBの使用例

ELB使用例1drawio.png

上の図のようにELBをPublic subnetに置き、あとはPribate subnetに置くとセキュリティーレベルが高まるようです。
あとこれだとEC2のメンテナンスができないため別途、踏み台サーバーを用意してメンテナンスを行います。

ELB使用例2.png

上の図はアプリケーションによってですが、フロントとAPIを担うサーバーをわけることがあるようです。
こちらだとEC2横並びで繋がっているだけですからEC2同士が単一障害点になってしまいます。
ですので下の図のように

ELB使用例3.png

このように内部でELBを使用してわけることができます。

ELB使用例4.png

なおもう少し踏み込んで話すと上の図のように外部向けはALBを使用して内部向けはNLBを使用する。理由はNLBは処理速度が速いみたいですのでアーキテクチャよりますが、内部はL7まで求めたものを使用しなくても良いみたいです。

最後に

少し訓練校でバランサーなどを実機で触ったおかげでなんとか概要はつかめた気になりましたが、本当に分かったか微妙です><
次は手を動かしながらもっと勉強していきます!!

またこの記事は AWS 初学者を導く体系的な動画学習サービス「AWS CloudTech」の課題カリキュラムで作成しました。
https://aws-cloud-tech.com/

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?