概要
当初の予定にはなかったが、せっかくなので、AWSの勉強も兼ねて、ALB(Application Load Balancer)を作成して、EC2をALBに組み込んでみる。
手順
ALBの作成
「ロードバランサーの種類の選択」画面に移動する。
EC2 > ロードバランシング > ロードバランサー > ロードバランサーの作成
「Application Load Balancer」を選択する。
・「ロードバランサーの種類の選択」画面で「Application Load Balancer」を選択する。
手順 1 ロードバランサーの設定
以下のように設定する。
※ アベイラビリティーゾーンに関しては
と画面にも注意書きがあるように、マルチAZで設定する。
手順 6: 確認
「作成」を押す。
EC2インスタンスのセキュリティグループ変更
EC2インスタンスのセキュリティグループのインバウンドを
タイプ | プロトコル | ポート範囲 | ソース |
---|---|---|---|
カスタムTCP | TCP | 10080 | マイIP |
から
タイプ | プロトコル | ポート範囲 | ソース |
---|---|---|---|
カスタムTCP | TCP | 10080 | ALBに割り当てたセキュリティグループ |
に変更する。
※「ソース」蘭にセキュリティグループのID、もしくは「Name」タグ名の先頭何文字かを入力すると、候補が表示される。
確認
ヘルスチェックがEC2インスタンスに到達していることの確認
EC2インスタンスにsshログインして、ヘルスチェックがEC2インスタンスに到達していること、及び200を返していることを確認する。
$ tail -f /var/log/nginx/access.log | grep "ELB-HealthChecker" 172.31.28.154 - - [27/May/2020:23:56:23 +0000] "GET /polls/ HTTP/1.1" 200 109 "-" "ELB-HealthChecker/2.0" "-" 172.31.28.154 - - [27/May/2020:23:56:53 +0000] "GET /polls/ HTTP/1.1" 200 109 "-" "ELB-HealthChecker/2.0" "-"
ステータスが「healthy」になっていることの確認
ヘルスチェックが5回成功していることを確認したら、AWSマネージメントコンソールの「EC2 > ロードバランシング > ターゲットグループ」から、ステータスが「healthy」になっていることを確認する。