ネットワーク・ロード・バランサーについて
IBM Cloud® Network Load Balancer for VPC (NLB) を使用すると、VPC の同一リージョン内の複数のサーバー・インスタンス間にトラフィックを分散できます。
NLB は 3 つのアベイラビリティー・ゾーンすべてにわたってメンバーを受け入れることができますが、NLB 自体は 1 つの特定のゾーンに常駐します。 詳しくは、マルチゾーン・サポートを参照してください。
お客様ごとにポートを割り当てることはできますが、VP ゲートウェイ・レベルでのポート適用はありません。
ネットワーク・ロード・バランサーの種類
VPC のロード・バランサーの概要 で説明されているように、多くのタイプの NLB が使用可能です。
-
パブリック- パブリックロードバランサーとは、DNSに登録された一般にアクセス可能なIPアドレスを持つロードバランサーのことです。
-
プライベート-プライベート・ロード・バランサーは、VPC ネットワーク内からのみアクセス可能です。VPC ネットワークでは、クライアントは同じ VPC 内にあるか、到達可能性があります (例えば、 Direct Link、 Transit Gateway、またはその両方を介して)。 プライベート・ロード・バランサーの場合、サブネットにカスタム経路が構成されていない専用サブネットが必要です。
-
ルーティング・モードが有効なプライベート-ルーティング・モードが有効なプライベート NLB は、バックエンド・ターゲットとして Virtual Network Function (VNF) デバイスのみをサポートします。 詳しくは、 ルーティング・モードでのネットワーク・ロード・バランサーの作成 を参照してください。
-
プライベート・パス-サービス・プロバイダーはプライベート・パス NLB を使用して、 IBM Cloud を IBM Cloud プライベート・ネットワーク上のサード・パーティーの VPC ホスト・サービスに安全に接続します。 プライベート・パス NLB は、 プライベート・パス・サービス を使用して、パブリック・インターネットと交差することのないプライベート・パス上のネットワーク・トラフィックを保持する場合に必要です。 詳しくは、 プライベート・パス・ソリューション・ガイド を参照してください。
プライベート・パスNLBは、プライベート・パス・サービスでのみ動作する。
始めに
ネットワーク・ロード・バランサーの使用を開始するには、以下の手順を実行します。
- ネットワークロードバランサーに関する既知の問題を 確認する。
- 特定の NLB の指示に従います。
詳しくは、 ロード・バランサーのタイプ および ロード・バランサーの比較グラフ を参照してください。
ロード・バランシング方式
バックエンドのアプリケーション・サーバー間にトラフィックを分散させる方式として、ラウンドロビン、重み付きラウンドロビン、および最小接続という 3 つのロード・バランシング方式を使用できます。
ラウンドロビン
ラウンドロビンがデフォルトのロード・バランシング方式です。 この方式では、ロード・バランサーは、着信クライアント接続をラウンドロビン形式でバックエンド・サーバーに転送します。 その結果として、すべてのバックエンド・サーバーは、ほぼ同数のクライアント接続を受信します。
重み付きラウンドロビン
この方式では、ロード・バランサーは、バックエンド・サーバーに割り当てられた重みに比例して、着信クライアント接続をバックエンド・サーバーに転送します。 各サーバーには、デフォルトの重み 50 が割り当てられます。この重みは、0 - 100 までの範囲の任意の値にカスタマイズできます。
例えば、アプリケーション・サーバー A、B、および C の重みが 60、60、および 30 の場合、サーバー A と B は等しい数の接続を受信し、サーバー C はその半数の接続を受信します。
サーバーの重みの値は、「重み付きラウンドロビン」方式を使用する場合にのみ適用されます。 ラウンドロビンおよび最小接続のロード・バランシング方式では、これらの値は無視されます。
サーバーに重み 0 を設定することは、そのサーバーに新規接続が転送されなくなることを意味します。ただし、既存のトラフィックのフローは継続されます。 0 、サーバーを徐々にダウンさせ、ローテーションから外すことができる。
最小接続
この方法では、特定の時間に最も少ない数の接続を処理したバックエンドサーバーインスタンスが、次のクライアント接続を受け取ります。
プライベート・パス NLB は、最小接続方式をサポートしていません。
フロントエンド・リスナーおよびバックエンド・プール
フロントエンド・リスナーはロード・バランサーが着信要求を受信するためのアプリケーション・ポートであるのに対し、バックエンド・プールはロード・バランサーの背後に位置するアプリケーション・サーバーです。 最大 10 個のフロントエンド・リスナーを定義し、それらをバックエンド・アプリケーション・サーバーのバックエンド・プールにマップすることができます。 パブリック NLB の場合、ロード・バランサーに割り当てられた FQDN とフロントエンド・リスナーのポートは、パブリック・インターネットに公開されます。 着信ユーザー要求はこれらのポートで受信されます。 TCP および UDP は、フロントエンド・リスナーおよびバックエンド・プールでサポートされているプロトコルです。
バックエンド・プールには最大 50 台の仮想サーバー・インスタンスを接続できます。 トラフィックは、指定されたデータ・ポートの各インスタンスに送信されます。 このデータ・ポートは、フロントエンド・リスナー・ポートと同じである必要はありません。
最大接続数
ネットワークロードバランサーのデフォルト接続数や最大接続数は定義されていない。 同時接続の総数は、割り当てられたリソースやネットワークのスループットなどの要因に依存する。
VPC のネットワーク・ロード・バランサーの図
図1は典型的なネットワーク・ロードバランサーのセットアップをVPCで表現したものだ。 NLB は VPC の 1 つのサブネットにプロビジョンされます。 NLBでネットワーク・データ・パスを構成するには、リスナー、プール、および少なくとも1つのメンバーを作成する必要がある。 リスナーとは、NLBがお客様リクエストをリッスンするフロントエンド・ポートのことである。 それらの要求は、リスナーに関連付けられているプールのターゲットに転送されます。 プールは、特定のリスナーのためにNLBに来るネットワーク要求を分配するために使用されるターゲットのグループである。 メンバー とは、要求を listen するように構成された、指定されたポートを持つバックエンド・サーバーです。
レイヤー 4 のロード・バランシング
Network Load Balancer for VPC は、VPC 内のユーザーのサーバーにレイヤー 4 (トランスポート層) によるロード・バランシング・サービスを提供します。 このサービスは、パケット・ヘッダー内の送信元 IP アドレスと宛先 IP アドレス、およびポートに基づいてトラフィックの送信先を決定します。 ロード・バランサーがパケットの内容の検査を実行することはありません。
レイヤー 4 のロード・バランシングに必要な計算処理は、より高度なロード・バランシング (レイヤー 7 など) に比べて少ないので、CPU 使用率とメモリーが効率的に使用されます。
ユース・ケース 1: パブリック・ネットワーク・ロード・バランサー
パブリック NLB は、Direct Server Return (DSR) をサポートします。 アプリケーション・ロード・バランサーはこの機能をサポートしていません。
図 2 は、パブリック NLB がどのように機能するかを示しています。 コンシューマーは、ロード・バランサーの FQDN を使用して、ロード・バランサーの IP アドレスを DNS に登録します。 コンシューマーは、オプションで DNS サーバーに照会します。 DNS は、ロード・バランサーの IP アドレスで応答します。 コンシューマーは TCP 要求をデータ用にロード・バランサーに送信し、ロード・バランサーはその要求をバックエンド・ターゲットに転送します。 ターゲットは応答を生成し、応答は DSR を使用してコンシューマーに直接送信されます。
ユース・ケース 2: プライベート・ネットワーク・ロード・バランサー
プライベート NLB には、コンシューマーが到達可能な VPC ネットワーク内からのみアクセスできます (例えば、 Direct Link、 Transit Gateway、またはその両方からアクセスできます)。
プライベート・ロード・バランサーの場合、サブネットにカスタム経路が構成されていない専用サブネットが必要です。
図 3 は、プライベート NLB がどのように機能するかを示しています。 コンシューマーは、ロード・バランサーの FQDN を使用して、ロード・バランサーの IP アドレスを DNS で照会します。 コンシューマーは、オプションで DNS サーバーに照会します。 DNS は、ロード・バランサーの IP アドレスで応答します。 コンシューマーは、直接リンクまたは中継ゲートウェイを介して TCP 要求をロード・バランサーに送信し、ロード・バランサーはその要求をバックエンド・ターゲットに転送します。 ターゲットは応答を生成し、応答は DSR を使用してコンシューマーに直接送信されます。
ユース・ケース 3: ルーティング・モードが有効になっているプライベート・ネットワーク・ロード・バランサー
route_mode が true に設定されている NLB は、ファイアウォールなどの仮想ネットワーク機能 (VNF) アプライアンスのみをバックエンド・ターゲットとしてサポートするプライベート・ロード・バランサーです。
図 4 は、ルーティング・モードのプライベート NLB がどのように機能するかを示しています。 コンシューマーは、ロード・バランサーの FQDN を使用して、ロード・バランサーの IP アドレスを DNS で照会します。 コンシューマーは、オプションで DNS サーバーに照会します。 DNS は、ロード・バランサーの IP アドレスで応答します。 コンシューマーは、直接リンクまたは中継ゲートウェイを介して、データに関する TCP 要求をロード・バランサーに送信します。 ロード・バランサーは、要求を VNF デバイスに転送してから、バックエンド・ターゲットに転送します。 ターゲットは応答を生成し、その応答は NLB に送り返され、クライアントに戻る前に再度 VNF デバイスに送信されます。
使用例4:ネットワークロードバランサーを使用したマルチゾーン高可用性
図5は、複数のゾーンをサポートするためにNLBをデプロイする方法を示している。 このデプロイシナリオでは、多くの場合、グローバルロードバランサー(GLB)オプションを IBM Cloud Internet Services(CIS).
このシナリオには 既知の制限 が適用されることに注意してください:同じインスタンスとポートを持つ2つのメンバが同時に存在することはできないため、同じインスタンスで別のポートを使用してください。
NLBがDSRによって得られる高いスループット性能(と低いレイテンシ)を活用したいかもしれない。 さらに、高可用性(HA)環境での可用性を高めるために、ワークロードを複数のゾーンに展開することを推奨します。
このデプロイメント・シナリオを使用して、高可用性を取得し、ロード・バランサーの障害が発生した場合に複数のアベイラビリティー・ゾーンでワークロードを使用できるようにすることができます。 1 つのアベイラビリティー・ゾーン内のロード・バランサーに障害状態が発生した場合、GLB はそのアベイラビリティー・ゾーンにトラフィックを送信しなくなります。 例えば、アベイラビリティー・ゾーン 1 で障害が発生した場合、GLB はトラフィックをアベイラビリティー・ゾーン 2 またはアベイラビリティー・ゾーン 3 に送信します。 シナリオの例としては、1 つの NLB からアベイラビリティー・ゾーン全体に至るまで、すべての障害が多数発生する可能性があります。
ゾーンごとに1つのNLBが必要なのは、パブリックNLBとプライベートNLBだけである。 プライベート・パスNLBはもともとリージョナルなので、ゾーンごとに定義する必要はない。
使用例5:プライベート・パス・ネットワークのロード・バランサー
プライベート・パス NLB は、 IBM Cloud インフラストラクチャー内でプロバイダーとコンシューマーの間のすべてのトラフィック・チェックポイントを保持するのに役立ちます。 データはパブリック・バックボーンには存在しません。
他のNLBとは異なり、プライベートパスのロードバランサーは地域的な可用性を提供し、単一のサブネットが選択された場合でもゾーン障害に強い。 ゾーン障害に対する回復力を確保するために、複数のPrivate Pathロードバランサーを作成したり、複数のサブネットを指定したりする必要はありません。 サブネットの選択はロードバランサーに関連するIPアドレスにのみ影響します。
プライベート・パス NLB は、プライベート・パス・サービスでのみ使用できます。 詳しくは、 プライベート・パス・サービスについて を参照してください。
図 6 は、プライベート・パス・サービスをサポートするプライベート・パス NLB の動作を示している。 プライベート・パス NLB が DNS サーバーに登録されます。 コンシューマーは、オプションで DNS サーバーに照会します。 次に、コンシューマーは VPE ゲートウェイを介してデータの TCP 要求をプライベート・パス NLB に送信し、プライベート・パス NLB はその要求をターゲットに転送します。 ターゲットはレスポンスを生成し、そのレスポンスはダイレクトサーバーリターンでVPEに送られ、コンシューマーに送られる。