ELBによる負荷分散システムを構築
2つのEC2インスタンスを作成できたので、今度は2つのEC2インスタンスをロードバランスさせ、負荷分散システムにしてみましょう。
AWSではロードバランサで負荷分散を行うサービスをElastic Load Balancer(ELB)が提供しています。ここでは、次のシステム構成図のような基盤を構築します。
まず、作成した2台のEC2インスタンス[http-node1]と[http-node2]を両方とも起動します。
ロードバランサであるELBを設定するには、AWS Webマネジメントコンソールの[Load Balancers]をクリックし、[Create Load Balancer]をクリックします。
ロードバランサの名前[Load Balancer name]は[http-ELB]とします。ロードバランサのネットワークがDefault VPCになっていることを確認し、ポートを次のように設定します。
次に、ロードバランサで行うヘルスチェックの設定をします。設定項目の意味は次のとおりです。
設定項目 | 説明 |
---|---|
Ping Protocol | ヘルスチェックを行うプロトコル。HTTP/TCP/HTTPS/SSLを選択できる。 |
Ping Port | ヘルスチェックを行うポート番号を指定。 |
Ping Path | どのファイルに対してヘルスチェックを行うかを設定。 |
Response Timeout | ヘルスチェックからの応答を受信したときの処理待ち時間。設定した時間を過ぎた場合は処理を中断。 |
Health Check Interval | ヘルスチェックを行う間隔 |
Unhealthy Threshold | インスタンスが「異常」という判断するまでに行うヘルスチェックの回数。たまたまタイミングが悪く、応答を返せなかったということもあるため、何回か連続して応答がなかったらインスタンスの異常と判断する。 |
Healthy Threshold | インスタンスが「正常」という判断するまでに実施するヘルスチェックの回数。 |
今回はデフォルトのままで[Continue]ボタンをクリックします。
続いて、ロードバランサのセキュリティグループを設定します。ここでは、新しくセキュリティグループ作成するため、[Create a new security group]を選択します。[Security group name]を[ELB-SecGP]として、HTTP(ポート80)を許可するよう、次のようにルールを設定します。
最後に、負荷分散を行う対象のEC2インスタンスを選択します。作成した[http-node1]と[http-node2]の2台で負荷分散させたいので、この2台を選択します。確認画面が表示されるので、http-node1とhttp-node2が含まれていることを確認して[create]ボタンをクリックします。
以上で、ロードバランサの設定は完了です。