柔軟なロード・バランシングおよびネットワーク・ロード・バランサ・サービスによるピークSSLトラフィックの処理

Oracle Cloud Infrastructure Load Balancingサービスは、TCPおよびHTTPトラフィックに対して、あるエントリ・ポイントから仮想クラウド・ネットワーク(VCN)からアクセス可能な複数のサーバーへの、プロキシ・ベースの自動トラフィック分散を提供します。このサービスでは、パブリックまたはプライベートIPアドレス、およびプロビジョニングされた帯域幅を選択できるロード・バランサが提供されます。

Oracle Cloud Infrastructure Flexible Network Load Balancingサービス(ネットワーク・ロード・バランサ)は、あるエントリ・ポイントからバックエンド・セット内の複数のサーバーへのトラフィック分散を自動化します。TCP、UDPおよびICMPトラフィックの分散をサポートします。

2つのパターンを組み合せると、ロード・バランシングへのSSLオーバーヘッドのオフロードが可能になり、バックエンド証明書の配布が不要になり、バックエンド・リソースの全体的な負荷が軽減されます。

正味の結果、ワークロードへの単一のエントリ・ポイントを維持しながら、使用可能な容量を指数関数的に増やすことで、複数の柔軟なロード・バランサにスケール・アウトできます。

アーキテクチャ

このアーキテクチャでは、柔軟なロード・バランシング・サービスおよびネットワーク・ロード・バランサを使用して、単一のエンドポイントとのSSL接続を水平方向にスケーリングする方法を示します。

パブリック・サブネット内のネットワーク・ロード・バランサは、ピーク時にアプリケーションが常に使用できるように、パブリックIPアドレスを提供します。ネットワーク・ロード・バランサは、IPプロトコル・データに基づいて、バックエンド・サーバーへの受信SSL接続のバランスを取ります。プライベート・サブネット内の柔軟なロード・バランサは、自動スケーリングを使用して単一インスタンス・プールに接続され、バックエンド・サーバーが必要に応じてフレックス化および対応できます。このアーキテクチャでは、受信トラフィック・パターンに基づいて、使用可能な帯域幅は、トラフィックが増加または減少するにつれて最小からスケール・アップされます。

次の図は、この参照アーキテクチャを示しています。horizontal-scaling-using-lbaas.pngの説明が続きます図horizontal-scaling-using-lbaas.pngの説明

このアーキテクチャには次のコンポーネントがあります。

  • リージョン

    Oracle Cloud Infrastructureリージョンは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含む、ローカライズされた地理的領域です。リージョンは他のリージョンから独立しており、広く離れた距離(国間または大陸間)にすることができます。

  • 仮想クラウド・ネットワーク(VCN)およびサブネット

    VCNは、Oracle Cloud Infrastructureリージョンで設定するカスタマイズ可能なソフトウェア定義ネットワークです。従来のデータ・センター・ネットワークと同様に、VCNではネットワーク環境を完全に制御できます。VCNには、VCNの作成後に変更できる複数の重複しないCIDRブロックを含めることができます。VCNは、リージョンまたは可用性ドメインにスコープ指定できるサブネットにセグメント化できます。各サブネットは、VCN内の他のサブネットと重複しない連続したアドレス範囲で構成されます。作成後にサブネットのサイズを変更できます。サブネットはパブリックまたはプライベートにできます。

  • ロード・バランサ

    Oracle Cloud Infrastructure Load Balancingサービスは、単一のエントリ・ポイントからバックエンドの複数のサーバーへのトラフィック分散を自動化します。

  • インスタンス・プール

    インスタンス・プールは、同じインスタンス構成から作成され、グループとして管理されるリージョン内のインスタンスのグループです。

  • 自動スケーリング

    自動スケーリングでは、CPU使用率などのパフォーマンス・メトリックに基づいて、インスタンス・プール内のコンピュート・インスタンスの数を自動的に調整できます。

    インスタンス・プールがスケール・アウトまたはスケール・インされると、関連付けられたロード・バランサのバックエンド・セットが自動的に更新されます。

  • ネットワーク・ロード・バランサ

    Oracle Cloud Infrastructure Flexible Network Load Balancingサービスは、あるエントリ・ポイントからのトラフィック分散も自動化するロード・バランサですが、TCP、UDPおよびICMPトラフィックの分散をサポートする非プロキシ・パス・スルーです。

お薦め

実際の要件は、ここで説明するアーキテクチャとは異なる場合があります。次の推奨事項を開始ポイントとして使用します。
  • VCN

    VCNを作成する場合は、VCNのサブネットにアタッチする予定のリソースの数に基づいて、必要なCIDRブロックの数と各ブロックのサイズを決定します。標準のプライベートIPアドレス空間内にあるCIDRブロックを使用します。

    プライベート接続を設定する他のネットワーク(Oracle Cloud Infrastructure、オンプレミス・データ・センターまたは別のクラウド・プロバイダ内)と重複しないCIDRブロックを選択します。

    VCNの作成後、CIDRブロックを変更、追加および削除できます。

    サブネットを設計する場合は、トラフィック・フローとセキュリティ要件を考慮してください。特定の層またはロール内のすべてのリソースを、セキュリティ境界として機能する同じサブネットにアタッチします。

  • ネットワーク・ロード・バランサ

    バックエンドで複数のロード・バランサ・インスタンスを使用しながら、単一のネットワーク・ロード・バランサをパブリック・サブネットにデプロイします。

  • Oracle Cloud Infrastructure Load Balancingサービス

    プライベート・サブネットにOracle Cloud Infrastructure Load Balancingインスタンスをデプロイします。バックエンド・サーバーのオーバーヘッドを削減するために、ロード・バランシング・インスタンスでSSL終了を実行することをお薦めします。

  • インスタンス・プール

    すべてのロード・バランシング・インスタンスは、アプリケーション固有の構成で構成された単一インスタンス・プールにアタッチされます。これにより、すべてのロード・バランシング・インスタンスのバックエンドIPとポートの組合せが同じになり、すべてのバランサ間でセッション永続性が可能になります。

  • 自動スケール構成

    プライベート・サブネットの帯域幅および接続要件を満たすように、多数のインスタンスをデプロイするように自動スケーリングを構成してください。

  • ソース保持

    ロード・バランシング・エラーおよびアクセス・ログに正確なソース・クライアントIPアドレスを反映できるように、ネットワーク・ロード・バランサでソース保持を構成します。

  • Logs

    このアーキテクチャでは、ロード・バランシング・サービスおよびVCNフロー・ログからログを取得します。VCNにアタッチされた各コンピュート・インスタンス、ロード・バランシングおよびネットワーク・ロード・バランサには、1つ以上の仮想ネットワーク・インタフェース・カード(VNIC)があります。VCNフロー・ログを使用して、セキュリティ・ルールをトラブルシューティングし、VNICとの間のトラフィックを監査します。また、ロード・バランシング・エラーおよびアクセス・ログを使用して監視することもできます。

  • アクセス制御

    セキュリティ・リスト、NSGおよびロード・バランサ・アクセス制御リストの組合せを使用して、アプリケーションを正しく動作させるために必要な最も詳細なレベルのアクセス権を提供するために最低限必要な権限の原則に従います。

注意事項

このアーキテクチャを実装する際は、次の要因を考慮してください。

  • パフォーマンス

    帯域幅および接続要件を満たす十分な量およびサイズのロード・バランシング・インスタンスをデプロイします。また、特定のアプリケーション要件に基づいて、自動スケーリング構成で適切なスケール・イン、スケール・アウトおよびスケール・リミットを構成します。

  • 可用性

    特定のアプリケーション要件に基づいてスケール・イン、スケール・アウトおよびスケール・リミットを作成し、バックエンド・リソースの可用性を確保します。

  • Logs

    ネットワーク・ロード・バランサでソース保持を有効にして、ロード・バランシング・エラーおよびアクセス・ログに正しいソースIPがあることを確認してください。

  • セッション永続性

    ネットワーク・ロード・バランサでルーティング・ポリシーを設定する場合、2 -5タプル・ハッシングを選択して、必要な永続性のレベルを構成できます。

    ロード・バランシング・サービスのセッション永続性を有効にする場合は、ロード・バランサのCookie名に共通の名前を使用し、すべてのロード・バランシング・インスタンスで共通のインスタンス・プールを使用してください。これにより、環境全体でバックエンドの永続性が可能になります。

まとめの問題

ネットワーク・ロード・バランサおよびロード・バランシング・サービスの詳細を参照してください。