「ELBってよくわからんけど、とりあえず作ってみたいな」という方向けの記事です。
ELBとは?
ELB = Elastic Load Balancing
AWS上で稼働するロードバランサーサービスです。
主に以下2つの機能があります。
- 複数サーバーによる冗長構成を構築する
- それらのサーバーに対して負荷分散・スケールを行う
ELBがあると何がうれしいのか
- バックエンドにあるEC2インスタンスのリクエスト数やコネクション数が均等になるように負荷分散してくれる
- ELB自体も負荷に応じて自動でスケールしてくれる
ELBの種類
- ALB (Application Load Balancer): L7 (アプリケーション層) で負荷分散するやつ
- NLB (Network Load Balancer): L4 (トランスポート層) で負荷分散するやつ
- CLB (Classic Load Balancer): 昔使われていたやつ。今となっては特殊なケースだけ使う。(例:EC2-Classicネットワークを使っている場合)
ロードバランサーを設定する前の事前準備
ロードバランサーを設定する際、VPCとサブネット指定する必要があります。
VPCとサブネットをまだ作成していない方は、以下の記事を参考になさってみてください!
ロードバランサー設定手順
1. AWSコンソール にログイン
2. [EC2] と入力し、Enterキーを押す
3. サイドバーの[ロードバランシング] > [ロードバランサー] をクリック
4. [ロードバランサーの作成] をクリック
今回はELB配下にEC2インスタンスを置きたいので ALB
を選びました。
ロードバランサーの設定
1. 以下を設定し、[次のステップ: セキュリティ設定の構成] をクリック
- 基本的な設定 > 名前:ロードバランサー名 (任意の内容でOK)
- アベイラビリティゾーン > VPC:紐付けたいVPC
- アベイラビリティゾーン > サブネット:紐付けたいサブネット
他の項目はとりあえずデフォルト値にしておきます。
セキュリティ設定の構成
1. [次のステップ: セキュリティグループの設定] をクリック
セキュリティグループの設定
1. 任意の内容を設定し、[次のステップ: ルーティングの設定] をクリック
今回はELB用に新しいセキュリティグループを作成し、ルールはデフォルト値にしました。
ルーティングの設定
ELBの通信経路を設定します。
1. 任意の内容を設定し、[次のステップ: ターゲットの登録] をクリック
今回はELB用に新しいターゲットグループを作成し、デフォルト値にしました。
ターゲットの登録
ロードバランサーのトラフィック転送先 = ターゲットです。
(例:EC2などのリソースやエンドポイント)
1. 任意のインスタンスを選択し、[登録済みに追加] をクリック
2. 選択したインスタンスが[登録済みターゲット] に追加されたことを確認し、[次のステップ: 確認] をクリック
確認
1. 内容を確認し、問題なければ[作成] をクリック
【念のための確認①】
1. [リスナー]タブ > ルール > 転送先のリンクをクリック
【念のための確認②】
[説明]タブ内のDNS名
をブラウザのURLバーにコピペすると、アクセスできることを確認できます。
(※ 今回紐付けたサブネットの中にEC2が配置されている&起動されている場合)