チュートリアル: Classic Load Balancer を作成する
このチュートリアルでは、ウェブベースインターフェイスである AWS マネジメントコンソールを使用して クラシックロードバランサー を実践的に説明します。ここでは、パブリック HTTP トラフィックを受信し、このトラフィックを EC2 インスタンスに送信するロードバランサーを作成します。
EC2-Classic や VPC で使用するためのロードバランサーを作成できます。このチュートリアルで説明するタスクの一部は、VPC でのロードバランサーにのみ適用されます。
タスク
開始する前に
-
「VPC および EC2 インスタンスの準備」の各ステップを実行します。
-
ロードバランサーに登録する EC2 インスタンスを起動します。これらのインスタンスのセキュリティグループでは、ポート 80 の HTTP アクセスを許可していることを確認してください。
-
Apache や Internet Information Services (IIS) などのウェブサーバーを各インスタンスにインストールし、インターネットに接続されたウェブブラウザのアドレスフィールドにその DNS 名を入力して、サーバーのデフォルトページがブラウザに表示されることを確認します。
ステップ 1: ロードバランサーの種類を選択する
Elastic Load Balancing は、さまざまな種類のロードバランサーをサポートしています。このチュートリアルでは、Classic Load Balancer を作成します。
Classic Load Balancer を作成するには
-
https://console.aws.amazon.com/ec2/
で Amazon EC2 コンソールを開きます。 -
ナビゲーションバーで、ロードバランサーのリージョンを選択します。EC2 インスタンス用に選択したのと同じリージョンを必ず選択してください。
-
ナビゲーションペインの [LOAD BALANCING] で [ロードバランサー] を選択します。
-
[Create Load Balancer] を選択します。
-
[Classic Load Balancer] で [Create] を選択します。
ステップ 2: ロードバランサーを定義する
名前、ネットワーク、リスナーなど、ロードバランサーの基本的な設定を指定する必要があります。
リスナーとは接続リクエストをチェックするプロセスです。リスナーは、フロントエンド (クライアントからロードバランサー) 接続用のプロトコルとポート、およびバックエンド (ロードバランサーからインスタンス) 接続用のプロトコルとポートを使用して設定します。このチュートリアルでは、ポート 80 で HTTP リクエストを受け取り、HTTP を使用してポート 80 でインスタンスにそれらのリクエストを送信するリスナーを設定します。
ロードバランサーおよびリスナーを定義するには
-
[ロードバランサー名] に、ロードバランサーの名前を入力します。
Classic Load Balancer の名前は、リージョンの Classic Load Balancer セット内で一意にする必要があります。最大 32 文字で、英数字とハイフンのみ使用できます。先頭と末尾にハイフンを使用することはできません。
-
[Create LB inside (内側に LB を作成)] で、インスタンス用に選択したネットワークと同じネットワークを選択します (EC2-Classic または特定の VPC)。
-
[デフォルト VPC] デフォルト VPC を選択したときに、ロードバランサーのサブネットを選択する必要がある場合は、[Enable advanced VPC configuration (詳細な VPC 設定を有効にする)] を選択します。
-
リスナー設定をデフォルトのままにします。
-
[EC2-VPC] [Available subnets] で、アドオンを使用して、利用可能なパブリックサブネットを少なくとも 1 つ選択します。サブネットが [Selected subnets] に移動します。ロードバランサーの可用性を高めるには、複数のパブリックサブネットを選択します。
注記 EC2-Classic をネットワークとして選択した場合、またはデフォルト VPC を所有していて [Enable advanced VPC configuration] を選択しなかった場合は、サブネットを選択するユーザーインターフェイスは表示されません。
アベイラビリティーゾーンにつき、多くとも 1 つのサブネットしか追加できません。既に選択されたサブネットがあるアベイラビリティーゾーンからサブネットを選択する場合、現在アベイラビリティーゾーン用に選択されたサブネットがこのサブネットに置き換えられます。
-
[Next: Assign Security Groups] を選択します。
ステップ 3: VPC のロードバランサーにセキュリティグループを割り当てる
VPC をネットワークとして選択した場合は、ポートへのインバウンドトラフィックを許可するセキュリティグループをロードバランサーに割り当てる必要があります。このポートは、ロードバランサーとロードバランサーのヘルスチェック用に指定したポートです。
EC2-Classic をネットワークとして選択した場合は、次のステップに進むことができます。デフォルトでは、Elastic Load Balancing には EC2-Classic のロードバランサー用のセキュリティグループが用意されています。
ロードバランサーにセキュリティグループを割り当てるには
-
[Assign Security Groups] ページで [Create a new security group] を選択します。
-
セキュリティグループの名前と説明を入力するか、デフォルトの名前と説明をそのまま使用します。この新しいセキュリティグループには、ロードバランサーで使用するように設定したポートへのトラフィックを許可するルールが含まれます。
-
[Next: Configure Security Settings] を選択します。
-
このチュートリアルでは、セキュアリスナーを使用しません。[Next: Configure Health Check] を選択して、次のステップに進みます。
ステップ 4: EC2 インスタンスのヘルスチェックを設定する
Elastic Load Balancing は、ロードバランサーの EC2 インスタンスについて、ヘルスチェックを自動的に実行します。問題のあるインスタンスを検出した場合、Elastic Load Balancing はそのインスタンスへのトラフィックの送信を停止し、トラフィックのルートを正常なインスタンスに変更します。このステップでは、ロードバランサーのヘルスチェックをカスタマイズします。
インスタンスのヘルスチェックを設定するには
-
[Configure Health Check] ページで、[Ping Protocol] を HTTP に設定し、[Ping Port] を 80 に設定します。
-
[Ping Path] ボックスのデフォルト値を半角のスラッシュ (「/」) で置き換えます。これにより、Elastic Load Balancing は、ヘルスチェッククエリをウェブサーバーのデフォルトのホームページ (
index.html
など) に送信できるようになります。 -
[Advanced Details] はデフォルト値のままにします。
-
[Next: Add EC2 Instances] を選択します。
ステップ 5: ロードバランサーに EC2 インスタンスを登録する
ロードバランサーは、ロードバランサーに登録されたインスタンスにトラフィックを分散します。
アタッチされている Elastic Network Interface (ENI) にインスタンスを登録するとき、ロードバランサーは、インスタンスのプライマリインターフェイス (eth0) のプライマリ IP アドレスにトラフィックをルーティングします。
ロードバランサーへ EC2 インスタンスを登録するには
-
[Add EC2 Instances] ページで、ロードバランサーに登録するインスタンスを選択します。
-
クロスゾーン負荷分散およびConnection Drainingを有効のままにします。
-
[Next: Add Tags] を選択します。
また、次のオプションを使用すると、後でロードバランサーにインスタンスを登録することもできます。
-
ロードバランサーを作成した後で、実行中のインスタンスを選択します。詳細については、「ロードバランサーへのインスタンスの登録」を参照してください。
-
インスタンスの起動時にインスタンスを自動的に登録するように、Auto Scaling をセットアップします。詳細については、Amazon EC2 Auto Scaling ユーザーガイドの「スケーリングとロードバランシングを使用するアプリケーションのセットアップ」を参照してください。
ステップ 6: ロードバランサーにタグを付ける (オプション)
ロードバランサーにタグを設定することができます。また、次のステップに進むこともできます。ロードバランサーのタグ付けは後から行うことができます。詳細については、「Classic Load Balancer へのタグ付け」を参照してください。
ロードバランサーにタグを追加するには
-
[Add Tags] ページで、タグのキーと値を指定します。
-
別のタグを追加するには、[Create Tag] を選択して、タグのキーと値を指定します。
-
タグの追加が終了したら、[Review and Create] を選択します。
ステップ 7: ロードバランサーを作成して検証する
ロードバランサーを作成する前に、選択した設定を確認します。ロードバランサーを作成した後で、EC2 インスタンスにトラフィックを送信するかどうかを検証できます。
ロードバランサーを作成してテストするには
-
[Review] ページで、[Create ] を選択します。
-
ロードバランサーが作成されたことが通知されたら、[Close] を選択します。
-
新しいロードバランサーを選択します。
-
[Description] タブで [Status] 行を確認します。この行が一部のインスタンスが実行されていないことを示している場合、インスタンスはまだ登録中の可能性があります。詳細については、「Classic Load Balancer のトラブルシューティング: インスタンス登録」を参照してください。
-
少なくとも 1 つの EC2 インスタンスの状態が実行中であれば、ロードバランサーをテストできます。[DNS 名] の文字列 (例: my-load-balancer-1234567890.us-west-2.elb.amazonaws.com) をコピーし、インターネットに接続したウェブブラウザのアドレスフィールドに貼り付けます。ロードバランサーが実行中の場合は、 サーバーのデフォルトページが表示されます。
ステップ 8: ロードバランサーを削除する (オプション)
ロードバランサーが利用可能になると、ロードバランサーの実行時間に応じて 1 時間ごと、または 1 時間未満の時間について課金されます。不要になったロードバランサーは削除できます。ロードバランサーが削除されると、ロードバランサーの課金も停止されます。ロードバランサーを削除しても、ロードバランサーに登録されたインスタンスには影響を与えません。
ロードバランサーを削除するには
-
ロードバランサーをポイントするドメインの CNAME レコードが存在する場合は、新しい場所にポイントして DNS の変更が有効になってから、ロードバランサーを削除します。
-
https://console.aws.amazon.com/ec2/
で Amazon EC2 コンソールを開きます。 -
ナビゲーションペインの [LOAD BALANCING] で [ロードバランサー] を選択します。
-
ロードバランサーを選択します。
-
[ Actions] で、[Delete ] を選択します。
-
確認を求めるメッセージが表示されたら、[Yes, Delete] を選択します。
-
(オプション) ロードバランサーを削除しても、そのロードバランサーに関連付けられた EC2 インスタンスは実行し続けます。また、それらのインスタンスの実行時間に応じて 1 時間ごと、または 1 時間未満の時間について課金されます。インスタンスの停止や終了の詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「インスタンスの停止と起動」または「インスタンスの削除」を参照してください。