Slide 1

Slide 1 text

ロード・バランサ NLB 詳細 Load Balancer NLB Level 200 Oracle Cloud Infrastructure 技術資料 2025年2月

Slide 2

Slide 2 text

フレキシブルロードバランサ FLB OCI ロード・バランサの種類 FLB/NLB Copyright © 2025, Oracle and/or its affiliates 2 • レイヤー7での高度なバランシング機能 • 有償サービス • レイヤー3,4の単純なロードバランシング機能 • 高帯域、低レイテンシ • 無償サービス ネットワークロードバランサ NLB 本資料はこちらをメインに解説 IP : 10.0.0.1 IP : 10.0.0.2

Slide 3

Slide 3 text

フレキシブル・ロード・バランサ(FLB) • 単に「ロード・バランサ」と呼ばれることも • プロキシ型で動作 • すべてのクライアントからのTCPコネクションが一旦 ロード・バランサで終端し、新たに別のTCPコネクショ ンがロード・バランサからバックエンドのサーバーに対 して確立 • 特徴 : 高度なバランシング機能 • 有償サービス(Always Freeシェイプあり) ネットワーク・ロード・バランサ(NLB) • パススルー型で動作 • クライアントから来たTCPやUDPなどのIPトラフィック をそのままバックエンドのサーバーに伝える • 特徴 : 低レイテンシ、高い負荷追従性 • 無償サービス 2種類のロード・バランサ - FLBとNLB Copyright © 2025, Oracle and/or its affiliates 3 クライアント サーバー フレキシブル・ ロード・バランサ (FLB) ネットワーク・ ロード・バランサ (NLB) プロキシ型 クライアントから受けた通信を、ロード・ バランサが一度仲介し、別のコネクション としてサーバーに接続する パススルー型 クライアントから受けた通信をそ のままサーバーに転送する Load Balancerの課金項目 Metric 価格 Load Balancer Base Load Balancer Hour ¥1.7515/hour Load Balancer Bandwidth Mbps per Hour ¥0.0155/hour 例)10Mbpsの場合: ¥1.7515 + ¥0.0155 x 10 = ¥1.9064/hour

Slide 4

Slide 4 text

NLBは無料なので、高機能なFLBが必要な場合以外は積極的に使おう! ロード・バランサの選択 – 超簡易フローチャート Copyright © 2025, Oracle and/or its affiliates 4 HTTP or HTTPS TCP クライアントIP 保全する?** フレキシブル・ ロード・バランサ ネットワーク ・ロード・バランサ UDP / ICMP Y Y N* N レイヤー7の 制御機能を利用? N SSLオフロードする? Y * クライアントのIPアドレスがhttpヘッダ(X-Forwarded-For)から取得できればいい場合はこちらでもOK **プロキシプロトコルでもクライアントIPを伝達可能(FLBはプロキシプロトコルv1とv2に対応、NLBはプロキシプロトコルv2に対応) • Cookieによるセッション永続性 • 仮想ホストによる振り分け • URIパスによる振り分け • HTTPヘッダーによる振り分け • HTTPヘッダーの操作 • Web Application Firewall • HTTPアクセラレーション(圧縮、キャッシュ) N インターネットに振分る? Y

Slide 5

Slide 5 text

FLBとNLBの機能面の差異 Copyright © 2025, Oracle and/or its affiliates 5 フレキシブル・ロード・バランサ(FLB) ネットワーク・ロード・バランサ(NLB) タイプ プロキシ型 パススルー型 対応プロトコル TCP / HTTP / HTTPS / HTTP2 / gRPC TCP / UDP / ICMP スループット 10Mbps~最大8Gbps バックエンドのネットワーク帯域までスケール (8Gbpsを超えることもある) レイヤー3/4バランシング機能 あり あり レイヤー7バランシング機能 • Cookieによるセッション永続性 • 仮想ホストによる振り分け • URIパスによる振り分け • HTTPヘッダーによる振り分け • HTTPヘッダー操作 あり なし インターネットや他リージョン のサーバーへの振り分け 可能 インターネットは不可、DRG経由の他リージョ ンは可能 リスナーの最大数 16 50 ソースIPアドレスの保全 なし (X-Forwarded-Forヘッダを利用可能) あり (選択式) SSLターミネーション機能 あり なし SSLパススルー機能 あり (TCPリスナー選択時のみ) あり(SSL使用する場合は常に) パーシステンス機能 Cookieによる制御(HTTP/HTTPSリスナー) ソースIPベースの振り分け(TCPリスナー) ソースおよび宛先IPとポート、 プロトコルの組合せ Web Application Firewall機能 組み込み可能(有償) 組み込み不可 HTTPアクセラレーション機能 組み込み可能 組み込み不可

Slide 6

Slide 6 text

OCI Region この資料では、以下のことを解説しています NLB 詳細編 内容 Copyright © 2025, Oracle and/or its affiliates 6 Webサーバー Webサーバー IPアドレス リスナー1 Webサーバー Webサーバー トラフィック ロード・バランサ バックエンドセット1 リスナー2 バックエンドセット2 1台のロード・バランサで2つのリスナーを作成し 2つのバックエンドセット内のWebサーバーに負荷分散させた図 • IPアドレス • リスナーの種類 • アイドルタイムアウト値 • 動作モード • プロキシ・プロトコルv2 • バックエンドサーバを追加する方法 • ヘルスチェック • ロードバランシングポリシー その他 • メトリック • ロギング • 制限事項

Slide 7

Slide 7 text

◼ NLBの可視性としてパブリックNLBとプライベートNLBがある ◼ NLBには固定された1つの接続用の仮想IPアドレス(プライベート or パブリッ クIP)を持つ • パブリックNLBはパブリックIPアドレスとホスト・サブネットの1つのプ ライベートIPアドレスを消費します • プライベートNLBはホスト・サブネットの1つのプライベートIPアドレス を消費します ◼ NLBのIPアドレスにpingパケットを送ってもNLB自体は応答をしない。 NLBで使用されるIPアドレス Copyright © 2025, Oracle and/or its affiliates 7 Webサーバー Webサーバー クライアント接続用 IPアドレス リスナー1 NLB バックエンドセット クライアント

Slide 8

Slide 8 text

◼ トラフィックを受信する「プロトコル、ポート、転送先のバックエンド・セット」を定義するもの • プロトコルとポートの組み合わせ毎に1つのリスナーを構成 ◼ NLBのリスナーで選択できるプロトコルは以下 • TCP • UDP • TCP/UDP • TCP/UDP/ICMP • L3IP(CLIやAPIで設定可能) ◼ イングレストラフィックで指定できるポート • ポート番号の指定 • 任意のポート(ワイルドカード0番) NLBで使用できるリスナー Copyright © 2025, Oracle and/or its affiliates 8 Webサーバー Webサーバー IPアドレス リスナー1 プロトコル ポート番号 Webサーバー Webサーバー NLB バックエンドセット1 バックエンドセット2 紐づける 紐づける リスナー2 プロトコル ポート番号

Slide 9

Slide 9 text

リスナーで設定するプロトコルのデフォルトのアイドル・タイムアウト値は以下の通り • TCP: 360秒(6分) • UDP: 120秒(2分) • L3IP: 120秒(2分) アイドル・タイムアウトの変更は、CLIまたはAPIを使用しての変更のみ NLBのリスナーのアイドル・タイムアウト Copyright © 2025, Oracle and/or its affiliates 9 VCN Webサブネット LBサブネット Security Lists Webサーバ NLB クライアント クライアント Security Lists リ ス ナ ー アイドル・タイムアウトを変更するCLI例 oci nlb listener update --listener-name listener_name ... --udp-idle-timeout 360

Slide 10

Slide 10 text

完全ネットワーク・アドレス変換(NAT)モード NLBの動作モード Copyright © 2025, Oracle and/or its affiliates 10 NLB ソース保持モード 透過(ソース/宛先の保持)モード Webサーバー クライアント 送信元 宛先 クライアント NLB 宛先 送信元 クライアント NLB NLB Webサーバー クライアント 送信元 宛先 クライアント NLB 宛先 送信元 クライアント NLB NLB Webサーバー クライアント 送信元 宛先 クライアント Webサーバー 宛先 送信元 クライアント Webサーバー 送信元 宛先 NLB Webサーバー 宛先 送信元 NLB Webサーバー 送信元 宛先 クライアント Webサーバー 宛先 送信元 クライアント Webサーバー 送信元 宛先 クライアント Webサーバー 宛先 送信元 クライアント Webサーバー 黄色はNLBの前後で パケットが変更される場所 黄色はNLBの前後で パケットが変更される場所

Slide 11

Slide 11 text

• 完全ネットワーク・アドレス変換(NAT)モード ソースIPの保持、ソース/宛先ヘッダー(IP、ポート)の保持 を無効にするとNATモードで動作 • ソース保持モード バックエンドセットの編集画面で有効にする • ソース/宛先の保持モード(透過モード) NLBの詳細画面ページで設定する 動作モードの設定場所 Copyright © 2025, Oracle and/or its affiliates 11

Slide 12

Slide 12 text

透過モード(ソース/宛先ヘッダーの保持)でネットワーク仮想アプライアンス(NVA)の冗長構成をとれる その際、対象ハッシュを使うと「ソースIPアドレス:port番号」と「宛先IPアドレス:port番号」が 入れ替わった場合でもハッシュ値が変わらないため、帰りの通信を行きと同じNVAに振り分けが可能 「ソース/宛先の保持」のユースケースと対称ハッシュ Copyright © 2025, Oracle and/or its affiliates 12 Private 10.1.0.0/24 12 Private 10.0.0.0/24 Hub FW VCN 10.0.0.0/16 参考blog:https://blogs.oracle.com/cloud-infrastructure/post/flexible-security-symmetric-hashing-oci-nlb Private Server Spork VCN 10.10.0.0/16 172.168.0.0/16 Firewall1 10.0.0.10 Private Network Load Balancer 宛先 ネクストホップ 10.10.0.0/16 NLB DRGのアタッチメントに紐づくVCNルート表 宛先 ネクストホップ 172.168.0.0/16 DRG 10.10.0.0/16 Hub LPG Hub FW VCN内サブネットのルート表 Hub LPG Spork LPG オンプレミスからOCIへの通信 OCIからオンプレミスへの通信 Firewall2 10.0.0.20 DRG 宛先 ネクストホップ 172.168.0.0/16 NLB Hub LPGに紐づくルート表 Local Peering

Slide 13

Slide 13 text

NLBで使用可能なプロキシ・プロトコルv2 Copyright © 2025, Oracle and/or its affiliates 13 ◼ TCPリスナーでプロキシ・プロトコルを使用する と、NLBはソース/宛先ヘッダーの保持機能が無効 になっている場合でも、クライアントIP情報を バックエンド・アプリケーションに送信できます。 ◼ NLBはプロキシプロトコルv2(PPv2)のみ対応 • プロキシプロトコルv2:バイナリベース ※バックエンドサーバのアプリケーションもプロキシプロ トコルに対応する必要がある NLB Webサーバー クライアント 10.0.0.1 10.0.0.2 10.0.0.3 クライアントのIPアドレスとポート番号の情報を伝える PPv2 外部URL:プロキシ・プロトコル・バージョン2の詳細

Slide 14

Slide 14 text

◼ 選択できるバックエンドタイプ • コンピュートインスタンス • IPアドレス ◼ バックエンドと通信するポートと重みを指定 重みの大きいバックエンドほど、受け入れる受信トラフィックの量が多くなる 例)バックエンドサーバA/Bで重みがA:B=1:3 の時、バックエンドが受け入れる接続数はA:B=1:3 ◼ バックエンドとして指定する際の注意点 • バックエンドとしてインターネットゲートウェイの後ろのパブリックIPアドレスは指定できない • ソース元保持モードではIPアドレスを用いてバックエンドを指定できない バックエンドサーバを追加する方法 Copyright © 2025, Oracle and/or its affiliates 14

Slide 15

Slide 15 text

VCN サブネット ◼ ソース保持モードにするとIPアドレスを用いてバックエンドサーバを指定できない • バックエンドに指定できるのはVCN内のインスタンス、LPGでつないだVCN内のインスタンス • DRGを介したインスタンスの選択は現時点では不可(パケットドロップされる 2025年2月時点) ◼ OCVS上の仮想マシンに対してもソース元保持モードで指定できないため、回避策としては以下 • NLBのソース保持モードを使わず、Proxy Protocol V2を用いてバックエンドサーバにソースIPを伝える • プロキシ型のFLBを使い、X-Forwarded-For HTTPヘッダでソースIPをバックエンドサーバに伝える • サードパーティー製品ロードバランサやOCVS上のアプライアンスを使ってソースIPを伝える ソース保持モード使用時、バックエンド指定の制限事項 Copyright © 2025, Oracle and/or its affiliates 15 VCN Webサブネット LBサブネット Webサーバ NLB PG LPG Local Peering VCN サブネット DRG ソース元保持モード クライアントサブネット クライアント

Slide 16

Slide 16 text

NLBのヘルスチェック Copyright © 2025, Oracle and/or its affiliates 16 定期間隔でヘル スチェック 応答がなかった 場合、転送停止 ロード・バランサ ◼ バックエンド・サーバーの状態を監視するために定期的に ロード・バランサから送信されるテスト • 復旧した場合は、再びトラフィック転送を再開 • 監視に利用するプロトコル • TCP, UDP(NLBのみ) : 特定ポートの応答状態で確認 • HTTP(S) : 特定URIパスに対してHTTPリクエストを送り、レスポン スコードやボディ内の文字列一致による判定などの高度なチェック • DNS: 問合せ名を入力して、バックエンドからのDNSレスポンスバ が正しく応答を返すかで確認 ◼ バックエンドサーバが異常の場合の挙動 • フェイル・オープン バックエンドが異常になった場合でもトラフィックを送信 • インスタント・フェイルオーバーの有効化 現在のバックエンド・サーバーが異常になった場合に、既 存のトラフィックを正常なバックエンド・サーバーにリダ イレクト

Slide 17

Slide 17 text

オンプレミス環境 プライベートDNSのForwardingエンドポイントを 使ったクエリ転送で、NLBを指定するとDRGを介し たオンプレミスなどの場所にある冗長化されたDNS に対してクエリを転送できる また、バックエンドサーバのDNSが正しく応答でき るかを確かめるために、ヘルスチェックのプロトコ ルとしてDNSを設定可能 冗長化されたDNSサーバへのクエリ転送をNLBで実装する例 Copyright © 2025, Oracle and/or its affiliates 17 関連ブログ:Using OCI Network Load Balancer to provide highly available DNS services VCN DNS server1 DRG DNS server2 DNS NLB 10.0.0.200 DNS Forwarding エンドポイント

Slide 18

Slide 18 text

ネットワーク・ロード・バランサ(NLB)の場合 2タプル・ハッシュ • ソースIPと宛先IPをもとにした ハッシュ値で振り分ける方法 • 同じクライアントからのリクエ ストをなるべく同じサーバーに 転送したい場合に利用 3タプル・ハッシュ • ソースIP、宛先IP、プロトコル をもとにしたハッシュ値で振り 分ける方法 5タプル・ハッシュ • ソースIPとポート、宛先IPと ポート、そしてプロトコルをも とにしたハッシュ値で振り分け る方法 • リクエストをなるべく分散した い場合に利用 ロード・バランシング・ポリシー 1.1.1.1 tcp 2.2.2.2 tcp 2.2.2.2 udp 5.5.5.5 1.1.1.1 tcp/20001 2.2.2.2 tcp/20002 2.2.2.2 udp/25001 5.5.5.5 tcp/443 udp/443 1.1.1.1 2.2.2.2 3.3.3.3 5.5.5.5 Copyright © 2025, Oracle and/or its affiliates 18 ←ソースIP ←宛先IP ←ソースIP ←プロトコル ←宛先IP ←ソースIP ←ソースポート ←宛先IP、ポート プロトコル

Slide 19

Slide 19 text

OCIのロードバランサ(FLB, NLB)の監視を行うに は、OCIモニタリングのメトリックの活用が不可 欠 • エージェントによる監視ができない • ユーザーによるエージェントのインストールはで きない • OCIモニタリング・エージェントも非対応 • OCI Eventsのイベントに非対応 • イベントを生成するサービス の一覧にない → 状態監視を行うにはOCIモニタリング、OCIロ ギングの2つのサービスを活用 ロードバランサのメトリックの活用 Copyright © 2025, Oracle and/or its affiliates 19

Slide 20

Slide 20 text

◼ NLB自体のログを出力するロギングサービスはない ◼ VCNフロー・ログ機能を利用することで、ロード・バランサを通過するトラフィックの情報を収集し、 OCIロギング・サービスに出力することができる ◼ VCNフロー・ログ内容の例 (フォーマット詳細) ACCEPT TCP 172.21.2.185 Port 43360 → 129.146.13.236 Port 443 Bytes 10515 Packets 19 ACCEPT TCP 129.146.13.236 Port 443 → 172.21.2.185 Port 43360 Bytes 5548 Packets 14 フロー・ログで記録されるのは、あくまでIPヘッダの一部の情報のみ NLBのログ取得はVCNフロー・ログを使う Copyright © 2025, Oracle and/or its affiliates 20 VCN Flow Logs

Slide 21

Slide 21 text

NLBには次の構成制限があります: • 1つのIPv4アドレスと1つのIPv6アドレス • 50のバックエンド・セット • 1つのバックエンド・セット当たり512のバックエンド・サーバー • 合計1024のバックエンド・サーバー • 50のリスナー • 1つの可用性ドメイン当たりの同時接続数のデフォルト制限は330,000 NLBの制限事項 Copyright © 2025, Oracle and/or its affiliates 21

Slide 22

Slide 22 text

NLBの同時接続数の制限 Copyright © 2025, Oracle and/or its affiliates 22 NLB サーバー クライアント サーバー サーバー NLB全体の同時接続数 =330,000/1AD NLBがNATモード時: バックエンドサーバのリスナー ポートあたりの同時接続数= 21,500/1AD ポ ー ト

Slide 23

Slide 23 text

日本語マニュアル – ネットワーク・ロード・バランサ • https://docs.oracle.com/ja-jp/iaas/Content/NetworkLoadBalancer/overview.htm チュートリアル – ロード・バランサでWebサーバーを負荷分散する • https://oracle-japan.github.io/ocitutorials/intermediates/using-load-balancer/ ロード・バランサ 関連の技術情報 Copyright © 2025, Oracle and/or its affiliates 23

Slide 24

Slide 24 text

Oracle Cloud Infrastructure マニュアル • https://docs.oracle.com/ja-jp/iaas/Content/home.htm - マニュアル(日本語) • https://docs.cloud.oracle.com/iaas/api/ - APIリファレンス • https://docs.oracle.com/ja-jp/iaas/Content/General/Reference/aqswhitepapers.htm - テクニカ ル・ホワイト・ペーパー • https://docs.cloud.oracle.com/iaas/releasenotes/ - リリースノート • https://docs.oracle.com/ja-jp/iaas/Content/knownissues.htm - 既知の問題(Known Issues) • https://docs.oracle.com/ja-jp/iaas/Content/General/Reference/graphicsfordiagrams.htm - OCIアイ コン・ダイアグラム集(PPT、SVG、Visio用) Oracle Cloud Infrastructure マニュアル・ドキュメント Copyright © 2025, Oracle and/or its affiliates 24

Slide 25

Slide 25 text

Oracle Cloud Infrastructure 活用資料集 • https://oracle-japan.github.io/ocidocs/ チュートリアル - Oracle Cloud Infrastructureを使ってみよう • https://oracle-japan.github.io/ocitutorials/ Oracle 主催 セミナー、ハンズオン・ワークショップ • https://www.oracle.com/search/events/ (右側の Filter から Locations -> Asia Pacific -> Japan と絞り込み) Oracle Cloud Infrastructure – General Forum (英語) • https://cloudcustomerconnect.oracle.com/resources/9c8fa8f96f/summary Oracle Cloud Infrastructure トレーニング・技術フォーラム Copyright © 2025, Oracle and/or its affiliates 25

Slide 26

Slide 26 text

Thank You Copyright © 2025, Oracle and/or its affiliates 26

Slide 27

Slide 27 text

No content