見出し画像

AWSでWEBサーバーをたてよう(3)ALB編

『AWSでWEBサーバーを作る』の3回目
ALBを使って、2台のWEBサーバーで1つのWEBサイトを作ります。
ALBを使うと複数のWEBサーバーで負荷分散する仕組みを簡単に作れます。また、1台のWEBサーバーで不具合が起きると、他のWEBサーバーでWEBサイトを提供できるようになります。

■やること
・2つのWEBサーバーでALBを作成
・動作確認① WEBサイトが開くことを確認
・動作確認② 1つのWEBサイトを停止してもWEBサイトが開くことを確認
・動作確認③ WEBサーバーの起動と停止を反対にしてもWEBサイトが開くことを確認

構成図

今回作成する構成図です

本書では、ここまでは完成してるとして、ALBの作り方を紹介します。

作成の⼿順

WEBサーバーを起動する

NodejsをインストールしたEC2インスタンスを2つ用意します。
ALBは、異なるAZ(アベイラビリティゾーン)にある2つ以上のEC2インスタンスが必要です。そのため、図のようにEC2インスタンスは異なるAZに配置します。(ap-northeast-1a と ap-northeast-1c に1台づつEC2インスタンスがあります。) 

ロードバランサー

AWS管理コンソールのEC2を開き、ロードバランサーの項目を開きます。

ALB(Application Load Balancer)を開く

名前など登録

作成するALBの名前(任意)などを登録します。
今回は、リスナーは、HTTP(80)にします。

AZ(アベイラビリティゾーン)を設定する

WEBサーバーのEC2インスタンスが含まれるように、VPCやAZを設定します。AZは2つ以上設定します。

セキュリティ設定の構成

今回は、リスナーをHTTP(80)と、暗号化していない通信なのでこのような警告が表示されます。セキュリティを考慮しないので次に進みます。

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

セキュリティグループを設定します。

ターゲットグループ作成

ターゲットトグループの名前は任意です。用意したWEBサーバーのプロトコルは、HTTP(8082ポート)で、index.html があります。ヘルスチェックの詳細設定はデフォルトをそのまま使用します。

EC2インスタンスを登録

WEBサーバーのEC2インスタンスを選択し、`登録済みに追加` ボタンをクリックします。

ターゲット登録

WEBサーバーのEC2インスタンスが `登録済みターゲット` に登録されたことを確認します。

ALBを作成

`作成`ボタンをクリックし、ALBを作成します。

作成状況

ALBの作成状況が表示されます。`閉じる`ボタンをクリックします。
以下のように、ALBが作成されていることを確認します。

DNS名をメモする

`DNS名`は、『3. 動作確認』で使うのでメモ帳などにコピーしておきます。

初期化中

初期化中(initial)なので待ちます。

利用可能

initial が healthy に変われがALB作成完了です。

動作確認

WEBサイトを開く

WEBブラウザで URL (`http://{ALBのDNS名}/index.html`)を開き、以下のように表示されれば成功です。

WEBサーバを1つ止めてみる

2台あるWEBサーバーの1つで、WEBサービスを止めます。

502エラー発生(想定通り)

WEBサービスが止まったEC2インスタンスにアクセスしていたので、ブラウザで502エラーが発生しました。

ターゲットグループを確認

ターゲットグループを確認します。
WEBサービスを止めたEC2インスタンスのステータスが health → unhealthy に変わりました。WEBサービスを止めたため、ステータスを確認できなくなったようです。

ブラウザを開く

もう一度、WEBブラウザで URL (`http://{ALBのDNS名}/index.html`)にアクセスするとサイトが開きます。
WEBサービスを止めたWEBサーバーを使わず、WEBサービスが起動しているWEBサーバーにアクセスしたようです。

WEBサービスの起動,停止を入れ替えてみる

今度は、WEBサービスが起動していたインスタンスのWEBサービスを停止します。
また、WEBサービスが停止していたインスタンスのWEBサービスを起動します。

ターゲットグループを確認

ターゲットグループを開き、EC2インスタンスのステータス(health/unhealthy)が期待通りか確認します。

ブラウザを開く

もう一度、WEBブラウザで URL (`http://{ALBのDNS名}/index.html`)にアクセスしてサイトが開けば成功です。
これで、2台のWEBサーバーのどちらか一方に問題がおきても、サービス継続するWEBサイトができました。ALB便利です。

PDF版

同じ内容をPDFファイルにしました。オフラインで見る場合とかにどうぞ。

ここから先は

0字 / 1ファイル

¥ 500

こんな弱小ブログでもサポートしてくれる人がいることに感謝です。