Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OCI技術資料 : ロード・バランサー 概要

OCI技術資料 : ロード・バランサー 概要

Oracle Cloud Infrastructure (OCI) の技術説明資料、ロード・バランサーの概要編 (Level 100) です。

VCN内に構成することで、様々なサービスの冗長性やスケーリングをサポートする OCI ロード・バランサー・サービスについて、その機能概要、構成コンポーネントの内容、OCIコンソールを利用した構成方法などについて解説しています。

Transcript

  1. ロード・バランサ 概要 Load Balancer Level 100 Oracle Cloud Infrastructure技術資料 2020年12月

  2. このレッスンを修了すると、次のことができるようになります • OCIロード・バランサ・サービスのコンセプトと構成を理解 • パブリック・ロード・バランサの作成 目標 Copyright © 2020, Oracle

    and/or its affiliates 2
  3. ロード・バランサの主な役割 役割1 : スケーラビリティ(拡張性)の向上 リクエストを複数のサーバーに分散させることで、 1台のバックエンドサーバーでは処理しきれない 負荷を複数サーバーに振り分け、スケールアウト でシステム処理能力を拡張 役割2 :

    アベイラビリティ(可用性)の向上 バックエンドのサーバーに対して死活監視を行い、 正常稼働していないサーバーに対するトラフィッ ク転送を停止することによりサービス全体の停止 を防止 3 Copyright © 2020, Oracle and/or its affiliates ロード・バランサ New Web Web01 Web02 ・・・・・ スケールアウト ロード・バランサ Web01 Web02 Web03 ✖
  4. 高い耐障害性 • LB自身が可用性ドメインまたはフォルト・ドメイン間で冗長化 • 固定された1つの仮想IPアドレス(プライベート or パブリックIP)を持ち、構成ホストの障害時はVIPが 透過的にフェイルオーバー 安定した性能と拡張性 •

    最小値に設定したネットワーク帯域が確保済 • トラフィック量に応じ設定最大値まで帯域が自動で拡張 豊富な機能 • 単一サービスでレイヤー4とレイヤー7の両方の機能をサポート • Cookieによるセッション永続性、URIパス・ベース振り分け、仮想ホスト、HTTPヘッダー操作などの 高度なレイヤー7機能をサポート • SSLターミネーション、SSLトンネリングをサポート • 自動スケーリング、OKE、DNS、トラフィック管理、リソースマネージャなどの機能と連携 運用管理が簡単 • マネージドサービスなので管理が容易 OCIロード・バランサの特長 Copyright © 2020, Oracle and/or its affiliates 4
  5. ロード・バランサの全体像と構成要素 負荷分散ポリシー • 受信トラフィックをバックエンド・サーバーに分散させる 方法を定義 バックエンド・セット • バックエンド・サーバーのリスト、負荷分散ポリシー、お よびヘルスチェックポリシーによって定義された論理エン ティティ

    バックエンド・サーバー • 受信したトラフィックに応答してコンテンツを提供するア プリケーションサーバー ヘルスチェック • バックエンド・サーバーの正常性を確認するためのテスト リスナー • トラフィックを受信するためのプロトコル、ポート、バッ クエンド・セットを定義する論理エンティティ 5 Copyright © 2020, Oracle and/or its affiliates 可用性ドメイン1 可用性ドメイン2 バックエンド・サーバー バックエンド・セット バックエンド・サーバー (Active) (Passive) リスナー ロード・バランサ
  6. 負荷に応じシェイプ・サイズが自動的に変動 • ロード・バランサのシェイプは帯域幅(Mbps) で表される • インスタンス毎に 10Mbps ~ 8,000 Mbps

    の範囲 で最小帯域幅と最大帯域幅を設定可能 • 最小帯域幅分は必ず確保され、負荷に応じて シェイプが自動で変更される • インスタンス作成後も最小帯域幅/最大帯域幅 を変更可能 • リージョン単位で以下のサービス制限を受け る • フレキシブルLBの数(lb-flexible-count) • 合計帯域(lb-flexible-bandwidth-sum) : 構成要素 : フレキシブル・シェイプ (2020年12月~) Copyright © 2020, Oracle and/or its affiliates 6
  7. 構成要素 : 負荷分散ポリシー 重み付けラウンドロビン (Weighted Round Robin) • トラフィックをバックエンド・ サーバーに均等に順番に転送

    • バックエンド・サーバー間の能 力に差がある場合は、重み付け を設定することで振り分ける セッション数に差をつけられる 最小接続 (Least Connections) • アクティブな接続数が最も少な いサーバーに振り分けを行う IPハッシュ (IP Hash) • 送信元IPアドレスのハッシュ キーに基づいてトラフィックを 振り分ける • 同じIPのクライアントからの要 求は、同じバックエンド・サー バーが利用可能であれば転送さ れる 8 Copyright © 2020, Oracle and/or its affiliates 1 2 3 4 1 2 3 4 新規接続 2 1 + 1 2 Proxy 1.1.1.1 2.2.2.2 3.3.3.3
  8. • ロード・バランサで受信したトラフィックに対して、実 際にコンテンツを返信するサーバー • ロード・バランサを配置したVCNからアクセス可能であ れば、どこでもOK • サーバー間で処理性能が異なる場合は、重みづけにより トラフィックの転送割合を変更可能 •

    以下のモード制御を利用してバックエンド・サーバー単 位で個別にトラフィックの制御が可能 構成要素 : バックエンド・サーバー Copyright © 2020, Oracle and/or its affiliates 9 Load Balancer Web01 Web02 Web03 バックエンド・セット バックアップ • 通常時はトラフィックは転送されない • バックエンド・セット内の他の全てのバックエンド・サーバーの ヘルスチェックが失敗した場合にのみトラフィックが転送される 用途例:Sorryサーバー ドレイン • 接続済のセッションは維持される • 新規リクエストは転送されない 用途例:サーバーのメンテナンス開始時 オフライン • リクエストが転送されない
  9. 構成要素 : ヘルスチェック Copyright © 2020, Oracle and/or its affiliates

    10 定期間隔でヘル スチェック 応答がなかった 場合、転送停止 ロード・バランサ バックエンド・サーバーの状態を監視するために定期的にロー ド・バランサから送信されるテスト • チェック対象 • バックエンドサーバー • バックエンド・セット • ロード・バランサ全体 • ヘルスチェックに失敗したバックエンド・サーバーは、トラ フィック転送を一時的に停止させる • 復旧した場合は、再びトラフィック転送を再開 • 監視に利用するプロトコル • TCP : TCPの特定ポートの応答状態で確認 • HTTP : 特定URIパスに対してHTTPリクエストを送り、応答のステータ スコードまたは本文で確認
  10. 構成要素 : リスナー Copyright © 2020, Oracle and/or its affiliates

    11 リスナー 1 80 443 バックエンド・ セット 1 バックエンド・ セット 2 リスナー 2 ロード・バランサ トラフィックを受信するプロトコル、ポートと、転送先のバックエン ド・セットを定義するもの • プロトコルとポートの組み合わせ毎に1つのリスナーを構成 • 例1 : HTTP と HTTPS 両方受け付けるにはリスナーが2つ必要 • 例2 : tcp/8000 と udp/8000 にはリスナーが2つ必要 • 作成時にTCP、HTTP、HTTPSの3タイプから選択 • TCPリスナーはレイヤー4、HTTP/HTTPSリスナーはレイヤー7で動作 • HTTP/HTTPSリスナーで作成した場合は、セッション永続性、リクエスト・ ルーティング、ルール・セット等のレイヤー7の高度な機能* を利用可能 • リスナー毎に1つのSSL証明書をバンドル可能 • ロード・バランサあたり最大16リスナー * レイヤー7の高度な機能に関しては、ロード・バランサ詳細の資料で解説しています
  11. インターネットからのトラフィックを分散 • パブリックIPが付与 • プライベートサブネットへの配置不可 高い可用性を持つマネージドサービス • 必ず2つのノードが起動 • リージョンに複数の可用性ドメインがある場

    合は分散 • 2つのノードは同等で、プライマリの指定は不 可 • アクティブ / パッシブで同一のパブリックIPを 持ち、ノード障害時には自動的にIPアドレス が切り替わる パブリック・ロード・バランサ Copyright © 2020, Oracle and/or its affiliates 12 可用性ドメイン1 可用性ドメイン2 プライベート・サブネット バックエンド・サーバー バックエンド・セット バックエンド・サーバー パブリック・サブネット (リージョナル) パブリックIP (Active) (Passive) リスナー ロード・バランサ
  12. プライベート・ロード・バランサ (w/ リージョナル・サブネット) VCNの中からのトラフィックを分散 • パブリックIPは付与されない 高い可用性を持つマネージドサービス • 必ず2つのノードが起動 •

    リージョンに複数の可用性ドメインがある場 合、リージョナル・サブネットを利用すして 別可用性ドメインに分散することを推奨 • 2つのノードは同等で、プライマリの指定は不 可 • アクティブ / パッシブで同一のプライベート を持ち、ノード障害時には自動的にIPアドレ スが切り替わる 13 Copyright © 2020, Oracle and/or its affiliates 可用性ドメイン1 可用性ドメイン2 プライベート・サブネット バックエンド ・サーバー バックエンド・セット バックエンド ・サーバー プライベート・サブネット (リージョナル) プライベートIP (Active) (Passive) リスナー ロード・バランサ
  13. プライベート・ロード・バランサ (w/可用性ドメイン固有サブネット) プライベート・ロード・バランサ を可用性ドメイ ン固有サブネットに配置した場合は、単一の可用 性ドメインに閉じて配置される 可用性ドメイン全体の障害の場合はサービスが停 止してしまう点に注意 →リージョナル・サブネットと一緒に構成するこ とを推奨

    14 Copyright © 2020, Oracle and/or its affiliates 可用性ドメイン1 可用性ドメイン2 プライベート・サブネット バックエンド・サーバー バックエンド ・セット バックエンド・サーバー プライベート・サブネット プライベートIP ロード・バランサ (Passive) プライベート・サブネット
  14. • 16バックエンド・セット/LB • 512バックエンド・サーバー/バックエンド・セット • 1024バックエンド・サーバー/LB • 16リスナー/LB OCIロード・バランサ 構成上の主要な制限値

    Copyright © 2020, Oracle and/or its affiliates 15
  15. Copyright © 2020, Oracle and/or its affiliates 16 パブリック・ロード・バランサの作成手順

  16. 1. VCN、リージョナルサブネットおよびWebサーバ用インスタンスを作成 17 Copyright © 2020, Oracle and/or its affiliates

    Availability Domain 1 Availability Domain 2 SUBNET A, 10.0.1.0/24 Default SL (+ port 80) Default Route Table Dest CIDR Route Target 0.0.0.0/0 IGW OCID VCN, 10.0.0.0/16 Internet Gateway
  17. 2. ロード・バランサ用ルートテーブルとセキュリティリストを作成 18 Copyright © 2020, Oracle and/or its affiliates

    Availability Domain 1 Availability Domain 2 SUBNET A, 10.0.1.0/24 LB Route Table LB SL (empty) VCN, 10.0.0.0/16 Internet Gateway Dest CIDR Route Target 0.0.0.0/0 IGW OCID
  18. 3. ロード・バランサ用のリージョナルパブリックサブネットを作成 19 Copyright © 2020, Oracle and/or its affiliates

    Availability Domain 1 Availability Domain 2 SUBNET A, 10.0.1.0/24 SUBNET B, 10.0.2.0/24 VCN, 10.0.0.0/16 Internet Gateway Dest CIDR Route Target 0.0.0.0/0 IGW OCID
  19. 4-1. パブリック・ロード・バランサを作成 20 Copyright © 2020, Oracle and/or its affiliates

    Availability Domain 1 Availability Domain 2 SUBNET A, 10.0.1.0/24 SUBNET B, 10.0.2.0/24 LB (Active) VCN, 10.0.0.0/16 Internet Gateway Dest CIDR Route Target 0.0.0.0/0 IGW OCID
  20. 4-2. バックエンド・セットを作成し、バックエンド・セットにサーバを追加 21 Copyright © 2020, Oracle and/or its affiliates

    Availability Domain 1 Availability Domain 2 SUBNET A, 10.0.1.0/24 SUBNET B, 10.0.2.0/24 LB (Active) VCN, 10.0.0.0/16 Internet Gateway • バックエンド・セット作成 – Name – Policy – SSL – Health Check • バックエンド・セットにバックエンド サーバ追加 – Instance – Port – Weight ルールはLBセキュリティリストおよびバッ クエンドサーバーセキュリティリストに自 動的に追加されます。
  21. 4-3. LB セキュリティリスト と バックエンドセキュリティリスト 22 Copyright © 2020, Oracle

    and/or its affiliates Availability Domain 1 Availability Domain 2 SUBNET A, 10.0.1.0/24 SUBNET B, 10.0.2.0/24 LB (Active) VCN, 10.0.0.0/16 Internet Gateway Type CIDR Protocol Source Port Dest Port Egress 10.0.1.0/24 TCP All 80 Type CIDR Protocol Source Port Dest Port Ingress 10.0.2.0/24 TCP All 80 Egress 0.0.0.0/0 All All ロード・バランサ作成すると自動的に必 要なセキュリティルールが設定されます。
  22. 4-4. リスナーの追加 23 Copyright © 2020, Oracle and/or its affiliates

    Availability Domain 1 Availability Domain 2 SUBNET A, 10.0.1.0/24 SUBNET B, 10.0.2.0/24 LB (Active) VCN, 10.0.0.0/16 Internet Gateway Listener リスナーの追加 Name Protocol, Port, SSL Backend Set
  23. 5. リスナーへのトラフィックを許可 24 Copyright © 2020, Oracle and/or its affiliates

    Availability Domain 1 Availability Domain 2 SUBNET A, 10.0.1.0/24 SUBNET B, 10.0.2.0/24 LB (Active) VCN, 10.0.0.0/16 Internet Gateway Listener Type CIDR Protocol Source Port Dest Port Ingress 0.0.0.0/0 TCP All 80 Egress 0.0.0.0/0 TCP All Egress 10.0.1.0/24 TCP All 80
  24. このレッスンでは、次のことを学習しました • OCIロード・バランサは、1つのエントリーポイントからVCN内の複数のサーバーに対して自動的にト ラフィックを分散 これによりリソース利用率が向上し、容易な拡張性と高可用性を得られます • OCIロード・バランサはリージョナルなサービスでパブリックおよびプライベート・ロード・バラン サをサポート • サポートプロトコル

    – TCP, HTTP/1.0, HTTP/1.1, WebSocket • SSL ターミネーション、エンドツーエンド SSL、SSL トンネリングをサポート • セッション永続性やコンテンツベースルーティングなどの高度な機能をサポート • 主な特長 • プライベートまたはパブリック・ロード・バランサ (パブリック IP アドレスが付与) • フレキシブルな帯域 • TCP (レイヤ 4) および HTTP (レイヤ 7) トラフィック用の単一ロード・バランサ まとめ Copyright © 2020, Oracle and/or its affiliates 25
  25. 日本語マニュアル – ロード・バランシング • https://docs.oracle.com/cd/E97706_01/Content/Balance/Concepts/balanceoverview.htm チュートリアル – ロード・バランサでWebサーバーを負荷分散する • https://community.oracle.com/docs/DOC-1019312

    ロード・バランサ 関連の技術情報 Copyright © 2020, Oracle and/or its affiliates 26
  26. Oracle Cloud Infrastructure マニュアル • https://docs.oracle.com/cd/E97706_01/Content/home.htm - マニュアル(日本語) • https://docs.cloud.oracle.com/iaas/api/-

    APIリファレンス • https://docs.oracle.com/cd/E97706_01/Content/General/Reference/aqswhitepapers.htm - テクニカル・ホ ワイト・ペーパー • https://docs.cloud.oracle.com/iaas/releasenotes/- リリースノート • https://docs.oracle.com/cd/E97706_01/Content/knownissues.htm - 既知の問題(Known Issues) • https://docs.oracle.com/cd/E97706_01/Content/General/Reference/graphicsfordiagrams.htm - OCIアイコ ン・ダイアグラム集(PPT、SVG、Visio用) Oracle Cloud Infrastructure マニュアル・ドキュメント Copyright © 2020, Oracle and/or its affiliates 27
  27. Oracle Cloud Infrastructure 活用資料集 • https://community.oracle.com/docs/DOC-1035494 チュートリアル - Oracle Cloud

    Infrastructureを使ってみよう • https://community.oracle.com/docs/DOC-1019313 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 © 2020, Oracle and/or its affiliates 28
  28. Thank You 29 Copyright © 2020, Oracle and/or its affiliates

  29. None