ELB - Amazon EC2 ハンズオン

Elastic Load Balancing(ELB) を設定し、実際に動作しているかまでを確認していきます。

ここでは、Classic Load Balancer です。

概要は、[Elastic Load Balancing](https://qiita.com/leomaro7/items/0b96ad1b25bee1957f8c) で紹介しているので参考に！

---
###1.ロードバランサーを設定する
EC2を開き、「ロードバランサー」から「ロードバランサーの作成」をクリックします。
![スクリーンショット 2018-08-29 18.46.01.png](https://qiita-image-store.s3.amazonaws.com/0/280929/e50605e2-3233-ed64-d42d-d245113d4e01.png)

今回は、[Classic Load Balancer]で「作成」します。
![スクリーンショット 2018-08-29 18.46.18.png](https://qiita-image-store.s3.amazonaws.com/0/280929/7a71a9b7-34bd-b4df-e895-50d8fbdee5a7.png)

**ステップ1.ロードバランサーの定義**
「ロードバランサー名」：ロードバランサ名を入力します。なお、ロードバランサー名はエンドポイント名に組み込まれることを注意してください。
「リスナーの設定」：「追加」で適宜プロトコルの追加します。（今回はデフォルトの設定でかまいません。）
「サブネットの選択」ではVPCでELBを稼働させるサブネットを選択します。
「次の手順：セキュリティグループの割り当て」をクリックします。

↓この場合、ロードバランサー80番ポートでリッスンし、インスタンス80番ポートへ転送します。
![スクリーンショット 2018-08-29 18.47.41.png](https://qiita-image-store.s3.amazonaws.com/0/280929/88e709a8-aa56-ab14-e8a4-bd59d03ad454.png)
![スクリーンショット 2019-01-18 22.00.37.png](https://qiita-image-store.s3.amazonaws.com/0/280929/89ee6276-34fb-7ee0-8efc-1911c315361b.png)

**ステップ2.セキュリティグループの割り当て**
既に作成済みのセキュリティグループを割り当てる場合は「既存のセキュリティグループを選択する」にし、割り当てたいセキュリティグループを選択し、「次の手順：セキュリティ設定の構成」をクリックします。
![スクリーンショット 2018-08-29 18.48.02.png](https://qiita-image-store.s3.amazonaws.com/0/280929/d6fe4a92-f522-eee1-1b9a-f86bc9f2e763.png)

**ステップ3.セキュリティ設定の構成**
「次の手順：ヘルスチェックの設定」をクリックします。
![スクリーンショット 2018-08-29 18.48.41.png](https://qiita-image-store.s3.amazonaws.com/0/280929/cf135042-9c1b-7133-16ee-7393613e24ee.png)

**ステップ4.ヘルスチェックの設定**
設定はすべてデフォルトのまま「次の手順：EC2インスタンスの追加」をクリック。
・ELBは負荷分散されたそれぞれのEC2インスタンスについて、定期的に状態をチェックします。
 そのため、EC2インスタンスでは、pingポートで着信トラフィックを受け入れる必要があります。
 今回は、各インスタンスに実行中のHTTPサーバーがあり、ポート80で着信トラフィックを受け入れることとします。
・応答タイムアウト：ヘルスチェックからの応答を待つ時間です。
・間隔：ヘルスチェックを送信する間隔です。
・非正常のしきい値：異常と判断するまでの連続失敗回数。
・正常のしきい値：正常と判断するまでの成功回数。
![スクリーンショット 2018-08-29 18.48.57.png](https://qiita-image-store.s3.amazonaws.com/0/280929/882bb97e-dd82-2bbc-aa76-66c89179c2f3.png)

**ステップ5.EC2インスタンスの追加**
ELBを適用するEC2インスタンスを選択し、「次の手順：タグの追加」をクリックします。
![スクリーンショット 2018-08-29 18.50.35.png](https://qiita-image-store.s3.amazonaws.com/0/280929/a16acd25-81db-0d24-85d2-41cdc3095b5e.png)

**ステップ6.タグの追加**
特に必要がなければ、そのまま「確認と作成」をクリックします。
![スクリーンショット 2018-08-29 18.50.53.png](https://qiita-image-store.s3.amazonaws.com/0/280929/cf5c348a-02b2-29cb-dfc0-1c21b5866a68.png)

**ステップ7.確認**
「作成」をクリックし、完了です。
![スクリーンショット 2018-08-29 18.51.03.png](https://qiita-image-store.s3.amazonaws.com/0/280929/0ed0e805-f455-0961-723d-e9da1630af4b.png)

が、ステータスをみると、ヘルスチェックが　Out of Service になっていて、動かない！
![image.png](https://qiita-image-store.s3.amazonaws.com/0/280929/1e61521e-86ea-bc74-038c-1d2d05fc0f2c.png)

と、いうことで↓２へ！


###2.ロードバランシングされているか確認する

[5.Apache/IIS をインストール](https://qiita.com/leomaro7/items/8560bfbeb0672d0d83ec#5apacheiis-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB) の記事を参考にApacheをインストールしておく。

/var/www/htmlディレクトリに移動して、適当に health.html を作成する。
![スクリーンショット 2018-10-22 23.22.45.png](https://qiita-image-store.s3.amazonaws.com/0/280929/d83a10eb-f334-ad8f-d1a1-adfb55742556.png)

InService　になりました！
![スクリーンショット 2018-10-22 23.25.17.png](https://qiita-image-store.s3.amazonaws.com/0/280929/f74fbaf8-4b3d-3396-1086-cf7c9a00165d.png)

監視対象のファイルを用意していなかった。。。

↓他にもこんなのがあるので。。。
参考：[Classic Load Balancer　のトラブルシューティングを行う: ヘルスチェック](https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/classic/ts-elb-healthcheck.html)