次の方法で共有


マルチテナント ソリューションの設計者と開発者向けのリソース

マルチテナント アプリケーションのアーキテクチャ

次の記事では、Azure でのマルチテナント アーキテクチャの例を紹介します。

Architecture まとめ テクノロジの中心
Azure のマルチテナント SaaS 複数のリージョンにデプロイされる、Azure のマルチテナント SaaS シナリオのリファレンス アーキテクチャ Web
マルチテナント Azure Kubernetes Service (AKS) で Application Gateway イングレス コントローラー を使用する AKS と AGIC でのマルチテナントの実装例 Kubernetes
すべてのマルチテナント アーキテクチャ マルチテナントを含むすべてのアーキテクチャの一覧を示します 複数

クラウド設計パターン

次の クラウド設計パターン が、マルチテナント アーキテクチャでよく使用されています。

Pattern まとめ
デプロイ スタンプ パターン データ ストアなど、アプリケーション コンポーネントの複数の独立したコピー (スケール ユニット) をデプロイします。
フェデレーション ID 外部の ID プロバイダーに認証を委任します。
ゲートキーパー 専用のホスト インスタンスを使用して、アプリケーションとサービスを保護します。このホスト インスタンスは、クライアントとアプリケーションまたはサービスの間でブローカーとして機能し、要求を検証して不要部分を削除し、クライアントとアプリケーションまたはサービスの間で要求とデータを渡します。
キュー ベースの負荷平準化 タスクとそのタスクが呼び出すサービスとの間でバッファーとして機能するキューを使用して、断続的な大きい負荷を平準化します。
シャーディング データ ストアを水平方向のパーティションまたはシャードのセットに分割します。
調整 アプリケーションのインスタンス、個々のテナント、またはサービス全体によって使用されるリソースの使用量を制御します。

アンチパターン

1 つのテナントのアクティビティが別のテナントによるシステムの使用に悪影響を及ぼす可能性がある、 うるさい隣人のアンチパターンについて考えます。

Microsoft Azure Well-Architected Framework

すべてのソリューションにとって Azure Well-Architected フレームワーク 全体が重要ですが、 信頼性の柱に特に注意してください。 クラウド ホスティングの特性により、アプリケーションが、多くの場合はマルチテナントである、共有プラットフォーム サービスを使用する、リソースと帯域幅を競合する、インターネットで通信する、コモディティ ハードウェア上で実行することになります。 これにより、一時的およびより永続的な障害の両方が発生する可能性が高くなります。

マルチテナント アーキテクチャ ガイダンス

  • Azure でのマルチテナント ソリューションの設計 (ビデオ): このビデオでは、Azure でマルチテナント ソリューションを設計および構築する方法について説明しています。 SaaS 製品や他のマルチテナント サービスを構築している場合は、ハイ パフォーマンスの確保、テナントの分離、デプロイの管理を計画するために、多くのことを考慮する必要があります。 このセッションは、スタートアップ企業や ISV を含む、マルチテナント アプリケーションや SaaS アプリケーションを構築している開発者とアーキテクトを対象としています。
  • Azure Friday - Azure でのマルチテナント ソリューションの設計 (ビデオ): この Azure Friday のビデオでは、Azure でマルチテナントのサービスとしてのソフトウェア (SaaS) ソリューションを設計および構築する方法について説明しています。
  • SaaS への移行を加速してリスクを軽減する (ビデオ): このビデオでは、"サービスとしてのソフトウェア" (SaaS) 配信モデルへの移行に関するガイダンスを提供します。既存のソリューションをオンプレミスから Azure にリフトアンドシフトするか、マルチテナント アーキテクチャを検討するか、または既存の SaaS Web アプリケーションの最新化を目指すかを示します。

Azure サービスのリソース

ガバナンスとコンプライアンス

  • 複数の Azure サブスクリプションの整理と管理: Azure サブスクリプションの管理方法、およびサブスクリプションへのテナント リソースの割り当て方法を検討することが重要です。
  • テナント間の管理エクスペリエンス: サービス プロバイダーは、Azure Lighthouse を使って、独自の Microsoft Entra テナント内から複数の顧客のリソースを管理できます。 Azure の委任されたリソース管理を使用して、多くのタスクとサービスをマネージド テナントをまたいで実行できます。
  • Azure Managed Applications: マネージド アプリケーションでは、アプリの発行元によって管理されているリソース グループが、リソースのデプロイ先となります。 リソース グループはユーザーのサブスクリプション内に存在しますが、そのリソース グループにアクセスできるのは、発行元のテナントの ID です。

Compute

ネットワーク

  • Azure Private Link サービスのプロバイダー (SaaS ISV) とコンシューマーの視点からの説明とデモ: マルチテナント サービス プロバイダー (独立系ソフトウェア ベンダーが SaaS 製品を構築するなど) を可能にするAzure Private Link サービス機能を見るビデオ。 このソリューションを使用すると、コンシューマーは、コンシューマー自身の Azure 仮想ネットワークからプライベート IP アドレスを使用してプロバイダーのサービスにアクセスできます。
  • Azure Private Link サービスを使用した TCP プロキシ プロトコル v2 - 詳細情報: Azure Private Link サービスの高度な機能である TCP プロキシ プロトコル v2 の詳細を示すビデオ。 マルチテナントや SaaS のシナリオで役立ちます。 ビデオでは、Azure Private Link サービスでプロキシ プロトコル v2 を有効にする方法を説明します。 また、NGINX サービスを構成して、NAT IP ではなく元のクライアントのソース プライベート IP アドレスを読み取り、プライベート エンドポイント経由でサービスにアクセスする方法についても説明します。
  • NGINX Plus を使用して、 linkIdentifier Azure Private Link サービスからプロキシ プロトコル TLV をデコードする: NGINX Plus を使用して、Azure Private Link サービスから TCP プロキシ プロトコル v2 TLV を取得する方法を説明する動画。 この動画では、プライベート エンドポイント接続の数値 linkIdentifier (LINKID とも呼ばれます) を抽出してデコードする方法が紹介されています。 このソリューションは、接続元となる特定のコンシューマー テナントを識別する必要があるマルチテナント プロバイダーに役立ちます。
  • SaaS プライベート接続パターン: Azure Managed Applications を使用してプライベート エンドポイント接続の承認を自動化するための 1 つのアプローチを紹介するサンプル ソリューション。

Web

ストレージとデータ

メッセージング

ID

分析

IoT

AI/ML

コミュニティ コンテンツ

Kubernetes

  • Kubernetes 用の 3 つのテナント モデル: Kubernetes クラスターは、通常、組織内の複数のチームによって使用されます。 この記事では、Kubernetes の 3 つのテナント モデルについて説明します。
  • Kubernetes マルチテナントについて: Kubernetes は設定なしですぐに使用できるマルチテナント システムではなく、カスタム構成が必要です。 この記事では、Kubernetes マルチテナントの種類について説明します。
  • Kubernetes マルチテナント - ベスト プラクティス ガイド: Kubernetes マルチテナントは、Kubernetes の使用が広がるにつれて、ますます多くの組織が関心を持っているトピックです。ただし、Kubernetes は本来マルチテナント システムではないため、マルチテナント Kubernetes 実装の設計は課題となり得ます。 この記事では、これらの課題とその克服方法、および Kubernetes マルチテナントに役立ついくつかのツールについて説明します。
  • Capsule: Kubernetes マルチテナントをシンプルにする: Capsule は、Kubernetes クラスター内にマルチテナントとポリシーベースの環境を実装するのに役立ちます。 これは Platform as a Service (PaaS) サービスではありませんが、代わりに、上流の Kubernetes のみを使用するミニマルな設計アプローチを備えたマイクロサービス ベースのエコシステムです。
  • Crossplane: クラウド ネイティブ コントロール プレーン フレームワーク: Crossplane を使用すると、Kubernetes ベースのアプローチを使用して、独自のソリューションのコントロール プレーンを構築できます。

共同作成者

この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。

プリンシパルの作成者:

  • John Downs | プリンシパル ソフトウェア エンジニア
  • Paolo Salvator | FastTrack for Azure のプリンシパル カスタマー エンジニア
  • Arsen Vladimirskiy | FastTrack for Azure のプリンシパル カスタマー エンジニア
  • LaBrina Loving | FastTrack for Azure のプリンシパル カスタマー エンジニアリング マネージャー

パブリックでない LinkedIn プロファイルを表示するには、LinkedIn にサインインします。