サーバーグループは、クライアントリクエストをバックエンドサーバーに転送します。リスナーを追加する際には、サーバーグループを指定する必要があります。リスナーは、設定されたプロトコルとポートでクライアント接続リクエストを受け入れ、トラフィックをサーバーグループに転送します。Network Load Balancer (NLB) は、バックエンドサーバーの可用性を判断するためにヘルスチェックを使用します。
NLB サーバーグループのタイプと説明
サーバーグループタイプ | バックエンドサーバータイプ | 説明 |
Server Type | Elastic Compute Service (ECS) インスタンス、Elastic Network Interface (ENI)、および Elastic Container Instance (ECI) インスタンスをバックエンドサーバーとしてサポートします。 | 追加されたクラウドサーバーは、NLB インスタンスから転送されるリクエストを受信するために、サーバーグループと同じ Virtual Private Cloud (VPC) 内にある必要があります。 |
IP | IP アドレスをバックエンドサーバーとしてサポートします。 | IP アドレスは、サーバーグループが存在する VPC の CIDR ブロックに限定されません。リージョン間、VPC 間、またはオンプレミスデータセンターにあるサーバーの IP アドレスを追加できます。IP アドレスは、NLB インスタンスから転送されるリクエストを受信するバックエンドサービスとして機能します。
プライベート IP アドレスのみがサポートされています。パブリック IP アドレスはサポートされていません。 |
NLB インスタンスのバックエンドサーバーがリリースされたり、そのプライベート IP アドレスが変更されたりしても、NLB はバックエンドサーバー情報を自動的に更新しません。サービス中断を防ぐため、バックエンドサーバーをリリースまたは変更する前に、NLB サーバーグループから削除する必要があります。
サーバーグループの作成
NLB コンソールにログインします。
-
トップナビゲーションバーで、NLB インスタンスがデプロイされているリージョンを選択します。
-
左側のナビゲーションウィンドウで、NLB > [サーバーグループ] を選択します。
-
[サーバーグループ] ページで、サーバーグループの作成 をクリックします。
[サーバーグループの作成]ダイアログボックスで、次のパラメーターを設定し、作成をクリックします。
構成
説明
サーバーグループタイプ
サーバーグループタイプを選択します。
サーバータイプ: ECS インスタンス、ENI インスタンス、およびECI インスタンスをバックエンドサーバーとしてサポートします。
IP アドレスタイプ: IP アドレスをバックエンドサーバーとしてサポートします。
プライベート IP アドレスのみがサポートされています。パブリック IP アドレスはサポートされていません。
VPC
ドロップダウンリストから VPC を選択します。
バックエンドサーバープロトコル
バックエンドプロトコルを選択します。
TCP: TCP および TCP/SSL リスナーに関連付けます。
[UDP]: UDP リスナーに関連付けます。
スケジューリングアルゴリズム
「スケジューリングアルゴリズム」を選択します:
ラウンドロビン:バックエンドサーバーにリクエストを順番に振り分けます。
重み付けラウンドロビン (デフォルト): 重みが大きいバックエンドサーバーが、より多くのリクエストを受信します。
ソース IP ハッシュ: ソース IP アドレスに基づく一貫したハッシュを使用します。同じソース IP アドレスからのリクエストは、同じバックエンドサーバーにスケジュールされます。
4 タプルハッシュ: 4タプル(送信元IP、宛先IP、送信元ポート、および宛先ポート)に基づく一貫したハッシュを使用します。同じストリームからのパケットは、同じバックエンドサーバーにスケジュールされます。
QUIC ID ハッシュ: QUIC ID を基にした一貫したハッシュを使用します。同じ QUIC ID を持つリクエストは、同じバックエンドサーバーにハッシュされます。
重要QUIC は draft-ietf-quic-transport-10 に基づいて実装されており、急速にイテレーションしています。すべての QUIC バージョンとの互換性は保証されません。本番環境に適用する前に、このモードをテストしてください。
重み付け最小接続: 各バックエンドサーバーの重みとアクティブ接続数の両方に基づいてリクエストを分散します。バックエンドサーバーの重みが同じ場合、アクティブ接続数が最も少ないサーバーに、より多くのリクエストが送られます。
バックエンドプロトコルが UDP の場合にのみ、QUIC ID ハッシュを選択できます。
リソースグループ
リソースグループを選択します。
タグ
[タグキー] と [タグ値] を設定します。
IP Version
IP バージョンを選択します。
[IPv4] (デフォルト): IPv4 バックエンドサーバーの追加をサポートします。
IPv4/IPv6 dual-stack:IPv4およびIPv6のバックエンドサーバーを追加できます。
サーバーグループに選択された VPC で IPv6 が有効になっていない場合、ここでは IPv4 のみが利用可能です。
IP Version Affinity
「IP Version」を「IPv4/IPv6 dual-stack」に設定すると、「IP Version Affinity」設定を構成できます:
No affinity(デフォルト):サーバーグループは、ソースの異なる IP バージョンを区別せず、スケジューリングアルゴリズムに基づいて正常なバックエンドサーバーにリクエストを転送します。
Affinity mode: サーバーグループは、ソースの IP バージョンに基づいて、IPv4 リクエストを IPv4 バックエンドサーバーに、IPv6 リクエストを IPv6 バックエンドサーバーに転送します。
Affinity mode を選択した場合、サーバーグループに IPv4 と IPv6 の両方のバックエンドサーバーが含まれていることを確認してください。そうでない場合、リクエストの転送が失敗する可能性があります。
グレースフル・シャットダウン
接続ドレインを有効にするかどうかを選択します。この機能はデフォルトで無効になっています。
接続ドレインを有効にする場合、接続ドレインタイムアウトを設定する必要があります。値の範囲は 0 ~ 900 秒です。値が 0 の場合、接続が即座に中断されることを示します。
バックエンドサーバーが削除されたか、ヘルスチェックに失敗した場合:
デフォルトでは、接続ドレインは無効になっています。既存の接続は積極的に中断されません。クライアントが積極的に切断するか、永続接続セッションが期限切れになった場合にのみ中断されます。
接続ドレインを有効にすると、既存の接続は一定期間正常に転送できます。タイムアウト期間が終了すると、接続は積極的に中断されます。これにより、スムーズなサービス公開停止が保証されます。
クライアントアドレスの保持
クライアント IP アドレス保持を有効または無効にします。この機能を有効にすると、バックエンドサーバーはクライアントのソース IP アドレスを取得できます。
この機能を無効にすると、バックエンドサーバーはクライアントとして NLB インスタンスにアクセスできます。クライアントのソース IP アドレスを取得するには、リスナーに対して Proxy Protocol を有効にします。
クライアント IP アドレス保持を有効にしても、IP タイプ のサーバーグループはクライアントのソース IP アドレスを自動的に保持しません。ソース IP アドレスを取得するには、リスナーに対して Proxy Protocol を有効にする必要があります。
フルポート転送
マルチポート フォワーディングを有効にするかどうかを指定します。この機能を有効にすると、バックエンドサーバーを追加する際にポートを指定する必要がなくなります。これは、NLB がフロントエンド リクエストのポートに基づいてトラフィックをバックエンドサーバーに転送するためです。
リスナーで[すべてのポート]機能を有効にした場合、バックエンドサーバーグループでもこの機能を有効にする必要があります。
ヘルスチェック
ヘルスチェックを有効または無効にします。
ヘルスチェックの設定
ヘルスチェックを有効にした場合は、変更 をクリックして、ヘルスチェック設定を変更できます。
ヘルスチェックプロトコル
ヘルスチェックプロトコルを選択します。
TCP (デフォルト): SYN ハンドシェイクパケットを送信することで、サーバーポートがアクティブかどうかを確認します。
HTTP: HEAD または GET リクエストを送信してブラウザアクセスをシミュレートし、サーバー上のアプリケーションが正常であるかどうかを確認します。
UDP: ICMP Echo Request と UDP プローブパケットを送信して、ステータス情報を取得します。
サーバーグループのバックエンドプロトコルが [UDP] の場合のみ、ヘルスチェックプロトコル で [UDP] を選択できます。
ヘルスチェック方法
ヘルスチェックメソッドを選択します。
[GET]: 応答パケットが 8 KB より大きい場合、切り捨てられます。これにより、ヘルスチェックの結果は影響を受けません。
[HEAD]: HEAD メソッドは、デフォルトで HTTP ヘルスチェックに使用されます。バックエンドサーバーが HEAD リクエストをサポートしていることを確認してください。バックエンドアプリケーションサーバーが HEAD メソッドをサポートしていない場合、または HEAD メソッドが無効になっている場合、ヘルスチェックが失敗する可能性があります。この場合、ヘルスチェックには GET メソッドを使用してください。
このパラメーターは、ヘルスチェックプロトコルが [HTTP] の場合にのみ有効になります。
ヘルスチェックプロトコルバージョン
HTTP バージョンを選択します:HTTP1.0(デフォルト)またはHTTP1.1。
ヘルスチェックプロトコルバージョンは、バックエンドアプリケーションでサポートされている HTTP バージョンと同じである必要があります。そうでない場合、ヘルスチェックは失敗します。バックエンドサーバーが:
HTTP 1.0 のみをサポートしている場合、ヘルスチェックプロトコルバージョンとして HTTP 1.0 を選択する必要があります。
HTTP 1.1 のみをサポートしている場合、ヘルスチェックプロトコルバージョンとして HTTP 1.1 を選択する必要があります。
HTTP 1.0 と HTTP 1.1 の両方に対応しており、どちらかのバージョンを選択できます。
このパラメーターは、ヘルスチェックプロトコルが [HTTP] の場合にのみ有効になります。
ヘルスチェックポート
ヘルスチェックサービスがバックエンドサーバーにアクセスするために使用するプローブポートを選択します。
バックエンドサーバーポート: ヘルスチェックは、デフォルトでバックエンドサーバーのポートを使用します。
カスタムポート: ヘルスチェック用のポートを指定します。
すべてのポートのポート転送を有効にする場合、ヘルスチェック用のポートを指定する必要があります。
ヘルスチェックパス
ヘルスチェックページの URL を入力します。
このパラメーターは、ヘルスチェックプロトコルが [HTTP] の場合にのみ有効です。
ヘルスチェックドメイン名
ヘルスチェック用のドメイン名を入力します。
バックエンドサーバーのイントラネット IP(デフォルト): ヘルスチェックのドメイン名として、バックエンドサーバーのプライベート IP アドレスを使用します。
カスタムドメイン名:ドメイン名を入力します。
このパラメーターは、ヘルスチェックプロトコルが [HTTP] の場合にのみ有効になります。
ヘルスチェックステータスコード
正常なヘルスチェックを示す状態コードを選択します。 http_2xx (デフォルト)、 http_3xx、 http_4xx、および http_5xx を選択できます。
このパラメーターは、ヘルスチェックプロトコルが [HTTP] の場合にのみ有効になります。
カスタムリクエスト / レスポンス
UDP リスナーのヘルスチェックを設定する場合、カスタムリクエスト / レスポンス を有効にできます。 次に、カスタムリクエスト フィールドにリクエスト内容 (たとえば、youraccountID) を入力し、Custom Response フィールドに期待される応答 (たとえば、slb123) を入力します。
また、バックエンドサーバー上のアプリケーションに、対応するヘルスチェック確認応答ロジックを追加する必要があります。たとえば、アプリケーションが
youraccountID を含むリクエストを受信した場合、slb123 を含む応答を返す必要があります。
NLB インスタンスがバックエンドサーバーから期待される応答を受信した場合、ヘルスチェックは成功します。そうでない場合、ヘルスチェックは失敗します。この方法は、UDP ヘルスチェックの信頼性を保証します。
このパラメーターは、ヘルスチェックプロトコルが [UDP] の場合にのみ有効になります。
応答タイムアウト期間
ヘルスチェックからの応答を待機する期間を入力します。バックエンドサーバーが指定された期間内に応答を返さない場合、ヘルスチェックは失敗します。
ヘルスチェック間隔
ヘルスチェックを実行する間隔を入力します。
「ヘルスチェックプロトコル」が「UDP」の場合、「ヘルスチェック間隔」を「応答タイムアウト間隔」以上に設定する必要があります。これにより、UDP プローブパケットがタイムアウトにより応答なしと見なされるのを防ぎます。
正常しきい値
バックエンドサーバーのステータスを異常から正常に変更するために必要な、連続した正常なヘルスチェックの回数。
異常しきい値
バックエンドサーバーのステータスを正常から異常に変更するために必要な、連続した失敗したヘルスチェックの回数。
クラウドサーバーをバックエンドサービスとして追加
Server Type のサーバーグループを作成する場合、転送されたリクエストを処理するためにバックエンドサーバーを追加する必要があります。すべてのポートでポート転送が有効になっているサーバーグループに、同じ ECS、ENI、または ECI インスタンスをアタッチすることはできません。
サーバーグループ ページで、管理するサーバーグループを見つけ、次のいずれかの方法でバックエンドサーバーページに移動します。
「操作」列で、「バックエンドサーバーの変更」をクリックします。
サーバーグループ ID をクリックします。サーバーグループの詳細ページで、バックエンドサーバー タブをクリックします。
[バックエンドサーバー]タブで、[バックエンドサーバーの追加]をクリックします。
「バックエンドサーバーの追加」パネルで、「サーバータイプ」を選択し、「次へ」をクリックします。
[サーバーの種類] で、ECS/ENI を選択します。次に、対象サーバーを選択するか、右上隅の ECS の購入 をクリックします。
ENI を選択するには、セカンダリ ENI が対象 ECS インスタンスにアタッチされていること、および上級モードスイッチが有効になっていることを確認します。次に、対象 ECS インスタンス ID の右側にある
アイコンをクリックし、ENI を選択します。サーバーグループの IP Version が IPv4/IPv6 dual-stack に設定されている場合、IP テーブルヘッダーの隣にある設定アイコンをクリックし、IP アドレス ダイアログボックスで IP アドレス選択ポリシーを設定します。
IPv4 優先: 利用可能なプライマリ IPv4 アドレスがデフォルトで選択されます。
IPv6 優先: 利用可能な IPv6 アドレスがデフォルトで選択されます。ENI に複数の IPv6 アドレスがある場合、リストの最初のアドレスが選択されます。
デュアルスタック: 利用可能な IPv4 アドレスとアドレスリスト内の最初の利用可能な IPv6 アドレスがデフォルトで選択されます。
サーバータイプが ECI の場合、対象のサーバーを選択するか、右上隅の Elastic Container インスタンスの購入 をクリックします。
サーバーのポートと重みを設定し、OK をクリックします。
サーバーグループでマルチポート フォワーディングが有効になっている場合、バックエンドサーバーを追加する際にポートを指定する必要はありません。NLB は、フロントエンド リクエストのポートに基づいてトラフィックをバックエンドサーバーに転送します。
デフォルトの重みは 100 です。重みが大きいサーバーは、より多くのリクエストを受信します。
アイコンにカーソルを合わせると、サーバーの重みとポートを一括で変更できます。 [下方向へコピー]をクリックすると、現在のサーバーの重みまたはポートを変更した場合、その下にあるすべてのサーバーの重みまたはポートも変更されます。
上方向へコピー をクリックします: 現在のサーバーの重みまたはポートを変更すると、その上のすべてのサーバーの重みまたはポートも変更されます。
「すべてコピー」をクリックします。現在のサーバーの重みまたはポートを変更すると、サーバーグループ内のすべてのサーバーの重みまたはポートも変更されます。
リセット をクリックします:
リセット は 重み の横にあり、これをクリックするとサーバーグループ内のすべてのサーバーの重みがデフォルト値にリセットされます。
ポート の横にある リセット をクリック: サーバーグループ内のすべてのサーバーのポート番号をクリアします。
警告重みを 0 に設定すると、サーバーは新しいリクエストを受信しなくなります。
IP アドレスをバックエンドサービスとして追加
IP Type のサーバーグループを作成する場合、転送されたリクエストを処理するために IP アドレスをバックエンドサービスとして追加する必要があります。すべてのポートでポート転送が有効になっているサーバーグループに、同じ IP アドレスを追加することはできません。
同じ VPC 内の NLB インスタンスの VIP、または 以降に同じ VPC 内で作成された ALB インスタンスの VIP を追加することはできません。
プライベート IP アドレスのみがサポートされています。パブリック IP アドレスはサポートされていません。
[サーバーグループ] ページで、管理するサーバーグループを見つけ、次のいずれかの方法を使用して IP アドレスを追加します。
「操作」列で、「バックエンドサーバーの変更」をクリックします。
サーバーグループ ID をクリックします。
バックエンドサーバーグループの詳細ページで、バックエンドサーバー タブをクリックし、IP アドレスの追加 をクリックします。
バックエンドサーバーの追加 パネルの サーバーの選択 タブで、IP アドレスを入力し、次へ をクリックします。
追加された IP アドレスに対して、複数のポートと重みを構成できます。
ポート/重み タブで、追加した IP アドレスのポートと重みを設定し、OK をクリックします。
サーバーグループでマルチポート フォワーディングが有効になっている場合、バックエンドサーバーを追加する際にポートを指定する必要はありません。NLB は、フロントエンド リクエストのポートに基づいてトラフィックをバックエンドサーバーに転送します。
デフォルトの重みは 100 です。重みが大きいサーバーは、より多くのリクエストを受信します。
アイコンにカーソルを合わせると、サーバーの重みとポートを一括で変更できます。 下方向へコピー: 現在のサーバーの重みまたはポートを変更すると、それ以下のすべてのサーバーの重みまたはポートも変更されます。
上方向へコピー: 現在のサーバーの重みまたはポートを変更すると、その上にあるすべてのサーバーの重みまたはポートも変更されます。
すべてコピー をクリックします。現在のサーバーの重みまたはポートを変更すると、サーバーグループ内のすべてのサーバーの重みまたはポートも変更されます。
リセット をクリックします:
重み の横にある リセット をクリックします: サーバーグループ内のすべてのサーバーの重みをデフォルト値にリセットします。
ポート の横にある リセット をクリックします:サーバーグループ内のすべてのサーバーのポート番号がクリアされます。
警告重みを 0 に設定すると、サーバーは新しいリクエストを受信しなくなります。
その他の操作
操作 | 手順 |
サーバーグループの基本情報を編集 | [サーバーグループ] ページで、対象のサーバーグループを検索し、[基本情報の変更] をクリックし、[基本情報の変更] ダイアログボックスで、スケジューリングアルゴリズム、IP バージョンアフィニティ(サーバーグループの [IP Version が [IPv4/IPv6 dual-stack] に設定されている場合)、接続ドレイン、およびクライアント IP の保持パラメーターを変更します。 |
ヘルスチェックを編集 | [サーバーグループ] ページで、対象のサーバーグループを見つけ、[ヘルスチェック設定の変更] をクリックします。ヘルスチェック設定の変更 ダイアログボックスで、ヘルスチェック設定のパラメーターを変更します。 警告
|
バックエンドサーバーを削除 | 必要に応じて、サーバーグループからバックエンドサーバーを削除できます。 警告 サーバーグループからバックエンドサーバーを直接削除すると、業務中断を引き起こす可能性があります。まず、バックエンドサーバーの重みを 0 に設定し、その後サーバーグループから削除してください。
|
サーバーグループを削除 | リスナー転送ルールに関連付けられていないサーバーグループは削除できます。サーバーグループを削除しても、サーバーには影響しません。登録済みの ECS、ENI、または ECI インスタンスが不要になった場合は、インスタンスを停止またはリリースできます。 サーバーグループ ページで、目的のサーバーグループを見つけ、操作 列で を選択して、OK をクリックします。 |
参照
CreateServerGroup: NLB インスタンスのサーバーグループを作成します。
DeleteServerGroup: NLB インスタンスのサーバーグループを削除します。
AddServersToServerGroup: NLB インスタンスのサーバーグループにバックエンドサーバーを追加します。
RemoveServersFromServerGroup: NLB インスタンスのサーバーグループからバックエンドサーバーを削除します。
UpdateServerGroupAttribute: NLB インスタンスのサーバーグループの構成を更新します。
> 削除