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ファイルにしました。オフラインで見る場合とかにどうぞ。
ここから先は
¥ 500
こんな弱小ブログでもサポートしてくれる人がいることに感謝です。