単一テナントSaaSアプリケーションをホストするためのインフラストラクチャについて

独立したソフトウェア・ベンダー(ISV)がサービスとしてソフトウェアを提供する場合(SaaS )、サービスをホストし、テナントを管理するためにセキュアでスケーラブルなエンタープライズ・グループのインフラストラクチャが必要です。このソリューションは、Oracle Cloudで複数のシングルテナントSaaSアプリケーションをホストする、検証済のネットワーク・トポロジ用のサンプルTerraformモジュールを提供します。

始める前に

SaaSアプリケーションのデプロイメント・パターンを確認し、汎用ネットワーク・アーキテクチャについて学習して、設計上の考慮事項を理解します。「SaaSアプリケーションをホスティングするためのインフラストラクチャの設計」を参照してください。

アーキテクチャ

このアーキテクチャは、ソリューションがTerraformコードを提供するサンプル・ネットワーク・トポロジを示します。サンプル・トポロジでは、4つのテナントがサポートされています。トポロジ内のすべてのコンポーネントは、Oracle Cloud Infrastructureテナンシ内の単一のリージョンにあります。


複数のSaaSテナントをホストするISVテナンシのアーキテクチャ

SaaSベンダーの管理インフラストラクチャと各テナントのアプリケーション・リソースは、別個のコンパートメントと仮想クラウド・ネットワーク(vcn)で分離されます。ネットワークの分離によって、アプリケーションとデータがテナンシの他のデプロイメントから分離されます。コンパートメントによって、リソースの論理的な分離が確保され、詳細なアクセス制御が可能になります。

このトポロジには、次のコンポーネントが含まれます。

  • 管理コンパートメント

    管理コンパートメントは、個々のテナント・アプリケーション・デプロイメントの管理に使用される共通インフラストラクチャに必要なすべてのIsv固有リソースの論理コンテナです。次のリソースが含まれています。

    • ISV VCN

      SaaS ISVがテナントにアクセスして管理するために必要なリソースは、ISV VCNにアタッチされます。

    • 指定

      Bastionサーバーは、ISV VCNのパブリック・サブネットにあるコンピュート・インスタンスです。インターネット・サーバーとベース・サーバー間のトラフィックは、インターネット・ゲートウェイを介してルーティングされます。

      ISVの管理ユーザーは、テナントのリソース(テナント区分のリソースのプライベート・アドレスを含む)のすべてのリソースにベース・ホストを介してアクセスできます。ISVの管理ユーザーは、IPSec VPNトンネルまたはOracle Cloud Infrastructure FastConnect回路を使用して、テナンシのプライベートリソースにアクセスすることもできます。

    • 管理サーバー

      管理サーバーは、プライベート・サブネットのコンピュート・インスタンスです。このサブネットは、ISV VCNのプライベート・サブネットに接続されます。管理サーバーは、ルーティング・ゲートウェイを介してテナント区分のサーバーと通信できます。

      管理サーバーを使用して、Nagios Coreなどのインフラストラクチャ監視アプリケーションをインストールおよび実行できます。

  • ピアリング・コンパートメント

    ISV VCN内のリソースとテナント・リソース間のプライベート通信では、ISV VCNと各テナントVCN間でローカル・ピアリング関係が必要です。ただし、VCNは最大10個のローカル・ピアリング関係を持つことができます。このスケーリング制限を解決するために、アーキテクチャは、複数のピアリングVcnに接続可能なルーティング・ゲートウェイを使用します。各ピアリングVCNは、最大10のテナントvcnとのローカル・ピアリング関係を持つことができます。そのため、ピアリング・コンパートメントにルーティング・ゲートウェイおよびピアリングVcnを追加することによって、トポロジをスケール・アップできます。

    • ピアリング・サブネット

      ピアリング・サブネットはISV VCNの一部です。すべてのルーティング・ゲートウェイがこのサブネットにアタッチされます。

    • ゲートウェイのルーティングおよびVcnのピアリング

      各ルーティング・ゲートウェイは、ピアリングVCNを介して、管理サーバーからテナントvcnにトラフィックをルーティングするOracle Linuxコンピュート・インスタンスです。

      ルーティング・ゲートウェイの高可用性(HA)を示すために、浮動IPアドレスを持つアクティブ/パッシブのコンピュート・インスタンスのペアが、ルーティング・ゲートウェイの1つに使用されます。自動フェイルオーバーを保証するために、パッケージパッケージとCorosyncがインストールされています。2つ目のルーティング・ゲートウェイは単一(非HA)インスタンスです。

      各ルーティング・ゲートウェイ・インスタンスのプライマリVNICは、ISV VCNのピアリング・サブネットにアタッチされています。

      ルーティング・ゲートウェイ・インスタンスでは、1つのセカンダリVNICをサポートするVM.Standard.2.2シェイプが使用されます。各ルーティング・ゲートウェイ・インスタンスのセカンダリVNICは、ピアリングVCNのサブネットにアタッチされます。各ピアリングVCNは、最大10のテナントvcnに接続できます。サンプル・トポロジでは、各ピアリングVCNは2つのテナントvcnに接続されています。
      • ルーティング・ゲートウェイ・インスタンスに大きい形状を使用することにより、トポロジを拡張して、より多くのピアリングVcnをサポートできます。たとえば、ルーティング・ゲートウェイ・インスタンスにVM.Standard.2.4形状を使用すると、インスタンスに最大3つのセカンダリvnicをアタッチし、ルーティング・ゲートウェイを最大3つのピアリングvcnに接続できます。そのため、ルーティング・ゲートウェイでは、最大30のテナントVcnをサポートできます。ルーティング・ゲートウェイ・インスタンスの使用可能なネットワーク帯域幅がすべてのVnicで共有されることに注意してください。

      • 各テナントVCNとISV VCN間のネットワーク帯域幅は、ルーティング・ゲートウェイに選択した計算シェイプによって異なります。使用可能なネットワーク帯域幅は、ゲートウェイ・インスタンスのすべてのVnicで共有されます。たとえば、ルーティング・ゲートウェイ・インスタンスのVM.Standard2.4シェイプを選択した場合、最大使用可能帯域幅は4.1 Gbpsになり、プライマリVNICと最大3つのセカンダリvnicによって共有されます。ゲートウェイ・インスタンスの形状と、各ゲートウェイで処理するピアリングVnの数を決定するときには、この係数を考慮してください。

  • テナント区分

    このトポロジ内の4つのテナントのそれぞれのリソースは、個別のコンパートメントにあります。各テナント区分には、そのテナントのすべてのリソースがアタッチされているVCNが含まれます。そのため、各テナントのリソースは、トポロジ内の他のすべてのテナントから分離されたネットワーク内の一意のアドレス領域を使用します。

    各テナント区分にコンピュート・インスタンスが作成されます。このインスタンスを使用して、インフラストラクチャ・モニタリング・エージェントをインストールおよび実行できます。たとえば、ISV VCNで管理サーバーにNagiosコアをインストールする場合、各テナント区分のコンピュート・インスタンスにNagiosエージェントをインストールできます。エージェントは、コンパートメント内のサーバーをモニターして、Nagiosモニタリング・サーバーにメトリックを送信できます。

    新規アプリケーション・テナントを追加すると、新規テナントに必要なリソースが新規コンパートメントにプロビジョニングされます。

    テナントは、パブリック・インターネットまたはプライベート接続(IPSec VPNまたはFastConnect)を介して、アプリケーションにアクセスできます。パブリック・インターネットからアクセスするために、各テナントVCNではインターネット・ゲートウェイが必要です。VPNまたはFastConnectを使用してアクセスするには、DRGが必要です。アーキテクチャ図には、インターネット・ゲートウェイおよびテナントVcnに対するdrgは表示されません。

必要なサービスおよびポリシーの概要

このソリューションには、次のサービスおよびアクセス管理ポリシーが必要です。

サービス 次に対して必要なポリシー...
Oracle Cloud Infrastructure Identity and Access Management 区分を作成および管理します。
Oracle Cloud Infrastructure Networking Vcn、サブネット、インターネット・ゲートウェイ、ルート表、セキュリティ・リスト、lPgおよびdrgを作成および管理します
Oracle Cloud Infrastructure Compute コンピュート・インスタンスを作成および管理します。

必要なクラウド・サービスを取得するには、「Oracle Cloud Services for Oracle Solutions」を参照してください。