【AWS ELB】httpアクセスをロードバランシング


目標

ELBを作成し、httpアクセスをロードバランシングすること

1. バックエンドインスタンス(EC2)の作成(注意手順以外は省略)

httpd自動起動用ユーザデータ(※)を設定する

※ 内容は以下


#!/bin/bash
yum update -y
amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2
yum install -y httpd mariadb-server
systemctl start httpd
systemctl enable httpd
usermod -a -G apache ec2-user
chown -R ec2-user:apache /var/www
chmod 2775 /var/www
find /var/www -type d -exec chmod 2775 {} \;
find /var/www -type f -exec chmod 0664 {} \;
echo `hostname` > /var/www/html/index.html

80番ポートのセキュリティグループを空ける

インスタンス作成を実行する(ロードバランシング検証のため複数インスタンス作成する、同一VPC内に作成すること)

ブラウザから作成したインスタンスのパブリックIPアドレスを入力し、httpアクセスを検証する(※)

※パブリックDNS名がブラウザ上に表示されればOK

作成したインスタンス詳細画面より、VPCID及びサブネットID、セキュリティグループ名を確認する(ELB作成時に利用)

2. ELBの作成

ロードバランサーの作成をクリック

ALBを利用する

ロードバランサの詳細設定(※)を行う
※設定情報は以下
名前: 任意
スキーム: インターネット向け
IPアドレスタイプ: ipv4
リスナー: HTTPプロトコル80番ポート
VPC: バックエンドインスタンスのVPCID
アベイラビリティゾーン: バックエンドインスタンスのサブネットID


ELBのセキュリティグループを設定する(※)
※バックエンドインスタンスにアタッチした既存セキュリティグループを利用

ターゲットグループ作成、ヘルスチェック設定(※)
※今回はターゲットグループ名のみ入力で他はデフォルト設定のままとした

ターゲットの登録
ELBバックエンドインスタンスを登録する

設定内容確認後、ELB作成実施

作成したELBのステータスが「active」になっていることを確認

ターゲットグループ内インスタンスへのヘルスチェックが正常であることを確認

3. 疎通検証

ELB詳細画面からDNS名を取得

取得したDNS名を利用してブラウザアクセス
⇒アクセス毎に異なるバックエンドインタンスへ接続されることを確認出来たらOK(キャッシュアクセスを防ぐため一方のアクセスにはブラウザシークレットモードを利用する)