すべてのプロダクト
Search
ドキュメントセンター

Server Load Balancer:サーバーグループの作成と管理

最終更新日:Dec 06, 2024

Network Load Balancer (NLB) サービスを使用する前に、サーバーグループを作成し、1つ以上のバックエンドサーバーをサーバーグループに追加して、NLBによって転送されたクライアント要求を受信する必要があります。 デフォルトでは、NLBはサーバーグループに指定したポートとプロトコルを使用して、指定したバックエンドサーバーにリクエストを転送します。 このトピックでは、サーバーグループを作成および管理する方法について説明します。

前提条件

  • Elastic Compute Service (ECS) インスタンス、elastic network Interface (ENI) 、またはelastic containerインスタンスをサーバーグループに追加する前に、リソースが作成され、NLBによって転送されたリクエストを受信するためのアプリケーションがリソースにデプロイされていることを確認してください。

  • サーバーグループ内のバックエンドサーバーにリクエストを転送するには、リスナーまたは転送ルールの作成時にサーバーグループを指定します。 詳細については、「NLBリスナーの概要」をご参照ください。

サーバーグループの作成

  1. NLBコンソールにログインします。

  2. 上部のナビゲーションバーで、NLBインスタンスがデプロイされています。

  3. 左側のナビゲーションウィンドウで、NLB > サーバーグループを選択します。

  4. サーバーグループページで、サーバーグループの作成をクリックします。

  5. サーバーグループの作成 ダイアログボックスでパラメーターを設定し、作成 をクリックします。 下表にパラメーターを示します。

    パラメーター

    説明

    サーバーグループタイプ

    サーバーグループタイプを選択します。 有効な値:

    • サーバータイプ: ECSインスタンス、ENI、またはelasticコンテナインスタンスを指定してバックエンドサーバーを追加できます。

    • IP: IPアドレスを指定してバックエンドサーバーを追加できます。

    説明

    IPアドレスを指定してバックエンドサーバーを追加する場合、プライベートIPアドレスのみを指定できます。 パブリックIPアドレスは指定できません。

    サーバーグループ名

    サーバーグループの名前を入力します。

    VPC

    ドロップダウンリストから仮想プライベートクラウド (VPC) を選択します。

    バックエンドサーバープロトコル

    バックエンドプロトコルを選択します。 有効な値:

    • TCP: このオプションを選択すると、サーバーグループをTCPリスナーまたはTCP/SSLリスナーに関連付けることができます。

    • UDP: このオプションを選択すると、サーバーグループをUDPリスナーに関連付けることができます。

    スケジューリングアルゴリズム

    スケジューリングアルゴリズムを選択します。 有効な値:

    • ラウンドロビン: リクエストはバックエンドサーバーに順番に転送されます。

    • 重み付きラウンドロビン (デフォルト): 重みの大きいバックエンドサーバーは、重みの小さいバックエンドサーバーよりも多くのリクエストを受け取ります。

    • ソースIPハッシュ: ソースIPアドレスに基づくコンシステントハッシングを指定します。 同じ送信元IPアドレスからのリクエストは、同じバックエンドサーバーに配信されます。

    • Four-Element Hashing: 送信元IPアドレス、送信先IPアドレス、送信元ポート、および送信先ポートの各要素に基づくコンシステントハッシングを指定します。 上記の要因に基づいて同じ情報を含むリクエストは、同じバックエンドサーバーに転送されます。

    • QUIC ID Hashing: QUIC IDに基づいてコンシステントハッシングを指定します。 同じQUIC IDを持つリクエストは、同じバックエンドサーバーに転送されます。

    • 重み付き最小接続数: リクエストは、重みとバックエンドサーバーへの接続数に基づいて転送されます。 2つのバックエンドサーバーの重みが同じ場合、接続数が少ないバックエンドサーバーはより多くのリクエストを受信します。

      説明

      QUIC IDハッシュアルゴリズムは、バックエンドプロトコルがUDPの場合にのみ選択できます。

    リソースグループ

    サーバグループが属するリソースグループを選択します。

    タグ

    [タグキー] および [タグ値] パラメーターを設定します。

    IPv6 のマウント

    IPv6を有効にするかどうかを指定します。

    • IPv6を有効にすると、IPv4およびIPv6バックエンドサーバーをサーバーグループに追加できます。

    • IPv6を有効にしない場合は、IPv4バックエンドサーバーのみをサーバーグループに追加できます。

    説明

    サーバーグループに選択したVPCのIPv6が無効になっている場合、サーバーグループのIPv6はデフォルトで無効になります。

    グレースフル・シャットダウン

    接続ドレインを有効にするかどうかを指定します。 デフォルトでは、接続のドレインは無効になっています。

    接続ドレインを有効にするには、接続ドレインタイムアウト期間パラメーターを設定します。 有効な値: 0 ~ 900 単位は秒です。 0の値は、即時切断を指定する。

    バックエンドサーバーを削除した場合、またはバックエンドサーバーが異常であると宣言された場合、接続のドレインはデフォルトで無効になります。 既存の接続は、クライアントが事前に接続を閉じるか、セッション持続期間が終了するまで開いたままです。 接続ドレインを有効にすると、接続ドレインタイムアウト期間が終了するまで、既存の接続はデータ送信のために開いたままになります。 接続のドレインは、サービスのスムーズなアンデプロイを保証します。

    クライアントアドレスの保持

    クライアントIPアドレスを保持するかどうかを指定します。 クライアントIP保存が有効になっている場合、バックエンドサーバーはクライアントIPアドレスを取得できます。

    クライアントのIP保存が無効になっている場合、バックエンドサーバーはクライアントとして機能してNLBインスタンスにアクセスできます。 この場合、それでもクライアントIPアドレスを取得する場合は、関連付けられたリスナーのプロキシプロトコルを有効にします。

    説明

    IPタイプのサーバーグループのクライアントIP保存を有効にすることはできません。 サーバーグループでクライアントIPアドレスを取得する場合は、関連付けられているリスナーのプロキシプロトコルを有効にします。

    全ポート転送の有効化

    マルチポート転送を有効にするかどうかを指定します。 マルチポート転送を有効にすると、バックエンドサーバーを追加するときにポートを指定する必要はありません。 NLBインスタンスは、フロントエンドポートに基づいてバックエンドサーバーにリクエストを転送します。

    説明

    リスナーに対して全ポート転送を有効にする場合、バックエンドサーバーグループに対してこの機能を有効にする必要があります。

    ヘルスチェックの有効化

    ヘルスチェックを有効にするかどうかを指定します。

    ヘルスチェックの設定

    ヘルスチェックを有効にした後、[変更] をクリックしてヘルスチェック設定を変更できます。

    ヘルスチェックプロトコル

    ヘルスチェックプロトコルを選択します。 有効な値:

    • TCP (デフォルト): TCPヘルスチェックを実行するために、NLBはSYNパケットをバックエンドサーバーに送信して、バックエンドサーバーのポートがリクエストを受信できるかどうかを確認します。

    • HTTP: HTTPヘルスチェックを実行するために、NLBはHEADまたはGETリクエストをバックエンドサーバーに送信し、バックエンドサーバーが正常かどうかを確認します。

    • UDP: UDPヘルスチェックを実行するために、NLBはICMPエコーリクエストとUDPプローブパケットを送信して、バックエンドサーバーが正常かどうかを確認します。

    説明

    バックエンドサーバープロトコルをUDPに設定した場合にのみ、ヘルスチェックプロトコルUDPに設定できます。

    ヘルスチェック方法

    ヘルスチェックに使用するHTTPメソッドを選択します。 有効な値:

    • GET: レスポンスのサイズが8 KBを超える場合、レスポンスは切り捨てられます。 ただし、ヘルスチェックの結果は影響を受けません。

    • HEAD: HTTPヘルスチェックはデフォルトでHEADメソッドを使用します。 バックエンドサーバーがHEADリクエストをサポートしていることを確認してください。 バックエンドサーバーがHEADメソッドをサポートしていない場合、またはHEADメソッドが無効になっている場合、ヘルスチェックは失敗する可能性があります。 この場合、GETメソッドを使用できます。

    説明

    このパラメーターは、ヘルスチェックプロトコルとしてHTTPが指定されている場合にのみ有効です。

    ヘルスチェックポート

    ヘルスチェックによってプローブされるポートを指定します。

    • バックエンドサーバーポート: ヘルスチェックはバックエンドサーバーのポートを調査します。 デフォルト設定です。

    • カスタムポート: ヘルスチェックは指定されたポートをプローブします。

    説明

    全ポート転送が有効になっている場合は、特定のヘルスチェックポートを指定する必要があります。

    ヘルスチェックパス

    ヘルスチェックページのURLを入力します。

    説明

    このパラメーターは、ヘルスチェックプロトコルとしてHTTPが指定されている場合にのみ有効です。

    ヘルスチェックドメイン名

    ヘルスチェックに使用するドメイン名を入力します。

    • バックエンドサーバーのイントラネット IP: NLBは、ヘルスチェックにバックエンドサーバーのプライベートIPアドレスを使用します。 デフォルト値です。

    • カスタムドメイン名: ドメイン名を入力します。

    説明

    このパラメーターは、ヘルスチェックプロトコルとしてHTTPが指定されている場合にのみ有効です。

    ヘルスチェックステータスコード

    ヘルスチェックに合格したことを示す1つ以上のHTTPステータスコードを選択します。

    有効な値: http_2xx (デフォルト) 、http_3xxhttp_4xxhttp_5xx

    説明

    このパラメーターは、ヘルスチェックプロトコルとしてHTTPが指定されている場合にのみ有効です。

    カスタムリクエスト /レスポンス

    UDPリスナーヘルスチェックの [カスタムリクエスト /レスポンス] をオンにできます。 [カスタムリクエスト] フィールドに、youraccountIDなどのカスタムリクエストコンテンツを入力します。 [カスタム応答] フィールドに、slb123などのカスタム応答コンテンツを入力します。

    一方、ヘルスチェック応答ロジックをバックエンドサーバーのビジネスロジックに追加できます。 たとえば、バックエンドサーバーを

    バックエンドサーバーがyouraccountIDを受信すると、slb123が返されます。

    この場合、NLBインスタンスが予想される応答を受信した場合、バックエンドサーバーは正常であると宣言されます。 そうでなければ、バックエンドサーバーは異常とみなされます。 この方法を使用して、UDPヘルスチェックの精度を向上させることができます。

    説明

    このパラメーターは、ヘルスチェックプロトコルをUDPに設定した場合にのみ有効になります。

    応答タイムアウト期間

    ヘルスチェック応答のタイムアウト時間を指定します。 バックエンドサーバーが指定されたタイムアウト期間内に応答しない場合、バックエンドサーバーは異常と宣言されます。

    ヘルスチェック間隔

    2つの連続したヘルスチェックの間隔を指定します。

    説明

    ヘルスチェックプロトコルUDPに設定した場合、ヘルスチェックインターバルパラメーターをレスポンスタイムアウト期間以上の値に設定して、UDPレスポンスタイムアウトが応答なしと判断されないようにする必要があります。

    正常しきい値

    正常でないバックエンドサーバーが正常であると宣言されるまでにヘルスチェックに合格する必要がある回数を指定します。

    異常しきい値

    正常なバックエンドサーバーが正常でないと宣言されるまでに連続してヘルスチェックに失敗する必要がある回数を指定します。

ECSインスタンス、ENI、またはelasticコンテナインスタンスを指定してバックエンドサーバーを追加する

サーバーグループタイプを [サーバータイプ] に設定した場合、ECSインスタンス、ENI、またはelastic containerインスタンスを指定してバックエンドサーバーを追加する必要があります。 全ポート転送が有効になっているサーバーグループに、同じECSインスタンス、ENI、またはelasticコンテナインスタンスを追加することはできません。

  1. [サーバーグループ] ページで、次のいずれかの方法で [バックエンドサーバー] タブに移動します。

    • 管理するサーバーグループを見つけて、操作 列の バックエンドサーバーの変更 をクリックします。

    • 管理するサーバーグループを見つけ、そのIDをクリックします。 サーバーグループの詳細ページで、バックエンドサーバー タブをクリックします。

  2. バックエンドサーバータブで、バックエンドサーバーの追加をクリックします。

  3. バックエンドサーバーの追加パネルで、クラウドサービスの種類を選択し、次へをクリックします。

    • ECS インスタンス

      [ECS/ENI] を選択し、追加するECSインスタンスを選択します。

      利用可能なECSインスタンスがない場合は、サーバーリストの右上隅にある ECS の購入 をクリックします。

    • ENI

      1. [ECS/ENI] を選択し、上級モード スイッチをオンにします。

      2. ECSインスタンスの展开符合IDの横にあるアイコンをクリックし、ENIを選択します。

        • ENIがECSインスタンスに関連付けられていることを確認します。 セカンダリENIをECSインスタンスに関連付ける方法の詳細については、「ENIのバインド」をご参照ください。

        • 利用可能なECSインスタンスがない場合は、サーバーリストの右上隅にある ECS の購入 をクリックします。

    • Elasticコンテナインスタンス

      サーバータイプにECIを選択し、エラスティックコンテナインスタンスを選択します。

      エラスティックコンテナインスタンスが利用できない場合は、インスタンスリストの右上隅にある Elastic Container インスタンスの購入 をクリックします。 NLBは、バックエンドサーバーとしてジョブ最適化エラスティックコンテナインスタンスをサポートしていません。

  4. バックエンドサーバーのポートと重みを指定し、OKをクリックします。

    説明

    サーバーグループに対してマルチポート転送が有効になっている場合、バックエンドサーバーを追加するときにポートを指定する必要はありません。 NLBは、フロントエンドポートに基づいてバックエンドサーバーにリクエストを転送します。

    デフォルトの重みは100です。 重みが高いサーバーほど、より多くのリクエストを受信します。

    アイコンの上にポインタを批量操作移動して、複数のサーバーの重みとポートを変更できます。

    • [下に複製] をクリックすると、現在のサーバーの下にあるすべてのサーバーの重みとポートが現在のサーバーの重みとポートに設定されます。

    • [上に複製] をクリックすると、現在のサーバーの上にあるすべてのサーバーの重みとポートが現在のサーバーの重みとポートに設定されます。

    • [すべてに複製] をクリックすると、サーバーグループ内のすべてのサーバーの重みとポートが現在のサーバーの重みとポートに設定されます。

    • リセット:

      • [重み] の横にある [リセット] をクリックすると、サーバーグループ内のすべてのサーバーの重みがデフォルト値にリセットされます。

      • [ポート] の横にある [リセット] をクリックすると、サーバーグループ内のすべてのサーバーのポートがクリアされます。

    警告

    サーバーの重みを0に設定した場合、サーバーはリクエストを受信しません。

IPアドレスを指定してバックエンドサーバーを追加する

サーバーグループタイプをIPに設定した場合、リクエストを受信するためにIPアドレスを追加する必要があります。 全ポート転送が有効になっているサーバーグループには、重複したIPアドレスを追加することはできません。

説明

IPアドレスを指定してバックエンドサーバーを追加する場合、プライベートIPアドレスのみを指定できます。 パブリックIPアドレスは指定できません。

  1. [サーバーグループ] ページで、次のいずれかの方法でIPアドレスを追加します。

    • 管理するサーバーグループを見つけて、操作 列の バックエンドサーバーの変更 をクリックします。

    • 管理するサーバーグループを見つけ、そのIDをクリックします。

  2. サーバーグループの詳細ページで、バックエンドサーバータブをクリックし、IP アドレスの追加をクリックします。

  3. バックエンドサーバーの追加パネルのサーバーの選択タブで、IPアドレスを入力し、次へをクリックします。

    IPアドレスに複数のポートを指定し、各ポートの重みを指定できます。

  4. ポート/重みタブで、IPアドレスのポートと重みを指定し、OKをクリックします。

    説明

    サーバーグループに対してマルチポート転送が有効になっている場合、バックエンドサーバーを追加するときにポートを指定する必要はありません。 NLBは、フロントエンドポートに基づいてバックエンドサーバーにリクエストを転送します。

    デフォルトの重みは100です。 重みが高いサーバーほど、より多くのリクエストを受信します。

    アイコンの上にポインタを批量操作移動して、複数のサーバーの重みとポートを変更できます。

    • [下に複製] をクリックすると、現在のサーバーの下にあるすべてのサーバーの重みとポートが現在のサーバーの重みとポートに設定されます。

    • [上に複製] をクリックすると、現在のサーバーの上にあるすべてのサーバーの重みとポートが現在のサーバーの重みとポートに設定されます。

    • [すべてに複製] をクリックすると、サーバーグループ内のすべてのサーバーの重みとポートが現在のサーバーの重みとポートに設定されます。

    • リセット:

      • [重み] の横にある [リセット] をクリックすると、サーバーグループ内のすべてのサーバーの重みがデフォルト値にリセットされます。

      • [ポート] の横にある [リセット] をクリックすると、サーバーグループ内のすべてのサーバーのポートがクリアされます。

    警告

    サーバーの重みを0に設定した場合、サーバーはリクエストを受信しません。

次のステップ

API 操作

手順

サーバーグループの基本情報の変更

  1. サーバーグループ ページで、管理するサーバーグループを見つけ、操作 列の 基本情報の変更 をクリックします。

  2. 基本情報の変更 ダイアログボックスで、サーバーグループ名、スケジューリングアルゴリズム、接続ドレインの有効化、およびクライアントIPプリザベーションのパラメーターを変更します。

ヘルスチェック設定の変更

  1. サーバーグループ ページで、管理するサーバーグループを見つけ、操作 列の ヘルスチェック設定の変更 をクリックします。

  2. ヘルスチェック設定の変更 ダイアログボックスで、ビジネス要件を満たすようにヘルスチェック設定を変更できます。

警告
  • ヘルスチェックが無効になっている場合、NLBはバックエンドサーバーをチェックしなくなります。 バックエンドサーバーに障害が発生した場合、トラフィックを正常なバックエンドサーバーに自動的に切り替えることはできません。

  • ヘルスチェック間隔を長く指定した場合、NLBが異常なバックエンドサーバーを検出するまでに時間がかかります。

バックエンドサーバーの削除

サーバーグループからバックエンドサーバーを削除できます。

警告

サーバーグループからバックエンドサーバーを削除すると、サービスが中断される可能性があります。 バックエンドサーバーをサーバーグループから削除する前に、バックエンドサーバーの重みを0に設定することを推奨します。

  1. サーバーグループ ページで、管理するサーバーグループを見つけ、そのIDをクリックします。

  2. バックエンドサーバー タブをクリックし、削除するバックエンドサーバーを見つけて、操作 列の 削除 をクリックします。

  3. [バックエンドサーバーの削除] メッセージで、OK をクリックします。

サーバーグループの削除

不要になったサーバーグループを削除できます。 サーバーグループを削除した後、指定されたバックエンドサーバーのステータスは変更されません。 指定されたバックエンドECSインスタンス、ENI、またはエラスティックコンテナインスタンスが不要になった場合、ECSインスタンス、ENI、またはエラスティックコンテナインスタンスを無効化またはリリースできます。

  1. サーバーグループ ページで、削除するサーバーグループを見つけ、操作 列の 更多 > 削除 を選択します。

  2. [バックエンドサーバーの削除] メッセージで、OK をクリックします。

関連ドキュメント