ELB(ALB)の設定・接続・確認


内容

Application Load Balancerの設定を行う。
以下のような構成を構築する。

前提

・下記構成が既に配置されていること。
・セキュリティグループの通信許可設定がされていること
・EC2にApacheがインストールされていて起動していること

# yum install -y httpd
# systemctl start httpd.service
# systemctl status httpd.service
# ps -ef | grep -v grep | grep apache

手順

各サーバにHTMLファイルを配置する

/var/www/html配下にそれぞれ以下を記載したindex.htmlを配置します。
・ap-northeast-1aにはap-northeast-1aが記載されたファイルを格納します。
・ap-northeast-1cにはap-northeast-1cが記載されたファイルを格納します。

ap-northeast-1a

# vi /var/www/html/index.html
<html><h1>ap-northeast-1a</h1></html>

# cat index.html
<html><h1>ap-northeast-1a</h1></html>

ap-northeast-1c

# vi /var/www/html/index.html
<html><h1>ap-northeast-1c</h1></html>

# cat index.html
<html><h1>ap-northeast-1c</h1></html>

表示確認

それぞれのインスタンスのIPアドレスをコピーしてブラウザに張り付けて
上記のap-northeast-1a、ap-northeast-1cが表示されることを確認します。
これでELBによる振り分けを行った時にそれぞれ1aと1cに振り分けられていることを確認できます。


ALBの作成

ログイン~作成画面まで

[AWSマネジメントコンソール]⇒[サービス]⇒[コンピューティング]⇒[EC2]を選択します。

[EC2ダッシュボード]⇒[ロードバランシング]⇒[ロードバランサー]を選択します。

ロードバランサー一覧画面より[ロードバランサーの作成]を押下します。

ALBの選択

ALB、NLB、CLBの3種類の中からALBを選択します。

ロードバランサーの設定

ロードバランサーの設定を行います。赤枠の部分の設定となります。

今回は外部用なのでインターネット向けでipv4を選択。
プロトコルはHTTPでポートは80を使用。ここでHTTPSを選択すると次の画面で追加設定がありますが今回はHTTP。

設定
スキーム インターネット向け
IPアドレスタイム ipv4
リスナー HTTP:80

セキュリティ設定の構成

今回は特に設定する必要はないです。

セキュリティグループの設定

HTTPの通信許可設定がされているセキュリティグループを作成するか、割り当てを行います。

ルーティングの設定

ここから振り分け先の設定を行います。赤枠の部分となります。

ヘルスチェックの詳細設定は今回すぐにUnHealthyを確認したいので間隔を短くしています。

ターゲットグループ

設定
ターゲットの種類 インスタンス
プロトコル HTTP
ポート 80

ヘルスチェック

設定
プロトコル HTTP
パス /

ターゲットの登録

画面下部にターゲット登録可能な設定が表示されるので選択後[登録済みに追加]を押下します。
※Apacheを起動しておかないと表示されません。

作成完了

[ロードバランサーを正常に作成しました]と表示されればELBの作成が完了となります。

接続確認

[作成したELB]⇒[説明タブ]よりARNをコピーしてブラウザに貼り付けます。
何回か行うとap-northeast-1aap-northeast-1cが表示され、振り分けが行われているのが分かります。

ELB+α

リスナーIDがELBのプロトコルと待ち受けポート(下の図赤枠)で、転送先が設定した振り分け先のターゲットグループ(下の図青枠)となります。

振り分け先が正常か否かはターゲットグループのターゲットタブかモニタリングタブで確認できます。
1aのApacheは停止、1cのApacheは起動している状態だと
1aのステータスはunhealthy、1cのステータスはhealthyとなります。

終わり