ネットワーク・ロード・バランサ管理
ネットワーク・ロード・バランサの作成および管理(作成、更新、削除を含む)を行います。
ネットワーク・ロード・バランサ・サービスのプライマリ・コンポーネントは、ネットワーク・ロード・バランサ・リソースです。作成する各ネットワーク・ロード・バランサには、バックエンド・セット、バックエンド・サーバー、リスナーなどの下位リソースが含まれます。
次のネットワーク・ロード・バランサ管理タスクを実行できます:
ネットワーク・ロード・バランサのプロキシ・プロトコル
TCPベースのリスナーを持つネットワーク・ロード・バランサでプロキシ・プロトコル機能を使用して、ネットワーク・アドレス変換(NAT)またはTCPプロキシのレイヤー間で、ソースと宛先のIPアドレスおよびポートをバックエンド・サーバーに送信できます。プロキシ・プロトコルを使用すると、ネットワーク・ロード・バランサは、ソース/宛先ヘッダーの保持機能が使用できないか無効になっている場合でも、クライアントIP情報をバックエンド・アプリケーションに送信できます。プロキシ・プロトコルを使用して、アプリケーション・セキュリティ(IP ACL)やコンプライアンス・ロギングなどのネットワーク要件をサポートします。
ソース/宛先ヘッダー保存機能が有効な場合、ネットワーク・ロード・バランサでプロキシ・プロトコルを有効にできません。
ネットワーク・ロード・バランサでプロキシ・プロトコルを有効にする前に、バックエンド・アプリケーションがプロキシ・プロトコルのv2ヘッダーを予期し、解析できることを確認します。プロキシ・プロトコル・バージョン2の詳細は、次のWebサイトにアクセスし、プロキシ・プロトコルのドキュメント(https://www.haproxy.org/)にアクセスしてください。
次の図は、クライアント、ネットワーク・ロード・バランサおよびそのバックエンド・サーバー間でデータ・トラフィックを送信するためにプロキシ・プロトコルがどのように機能するかを示しています。
プロキシ・プロトコール・ヘッダーおよびタイプ長の値(TLV)は、クライアントからの最終確認(ACK)が送信された直後に、新しいTCPパケットでネットワーク・ロード・バランサによって送信されます。これは、3方向TCPハンドシェイクの一部です。ネットワーク・ロード・バランサは、プロキシ・プロトコル・ヘッダーのみを挿入します。既存のデータは上書きまたは破棄されません。ネットワーク・ロード・バランサは、TCPパケットのPSHフラグもマークします。サーバー側アプリケーションは、プロキシプロトコルヘッダー情報をすぐに処理できます。最後のACKがベアACKではなく、データがある場合、ネットワーク・ロード・バランサはデータを送信する前にプロキシ・プロトコル・パケットを送信します。
次の方法を使用して、ネットワーク・ロード・バランサでプロキシ・プロトコルを有効にできます。
-
Oracle Cloud Infrastructure Console: ネットワーク・ロード・バランサを作成するとき、または既存のネットワーク・ロード・バランサのリスナーの「リスナーの構成」ダイアログ・ボックスで、「ネットワーク・ロード・バランサの作成」ダイアログ・ボックスの「リスナーの編集」セクションでプロキシ・プロトコルを有効にします。
-
CLI: oci nlb network-load-balancer createまたはoci nlb listener updateコマンドの実行時に、
is-ppv2-enabled
パラメータに値true
を含めます。例:oci nlb network-load-balancer create ... --is-ppv2-enabled true
OR
oci nlb listener update ... --is-ppv2-enabled true
-
API: ネットワーク・ロード・バランサの作成時またはリスナーの更新時に
isPpv2Enabled
オプションを含めます。
制約
-
透過モードのネットワーク・ロード・バランサは、ソースの保持設定とソースの保存先設定の両方が有効になっているため、プロキシ・プロトコルを使用できません。
-
プロキシ・プロトコルは、TCPプロトコルを使用しているネットワーク・ロード・バランサに対してのみ有効にできます。ワイルドカード・リスナーまたはマルチプロトコルTCP/UDPリスナーでプロキシ・プロトコールを有効にした場合、プロキシ・プロトコルはTCPトラフィックに対してのみ使用できます。
-
ネットワーク・ロード・バランサのプロキシ・プロトコルは、IPv4のみをサポートします。