配置パラダイムを選択するには、 可用性 (一般と停止時が発生した場合の両方)、レイテンシ、コンプライアンス、コストアプリケーションのニーズを考慮する必要があります。配置のための「正確な」パラダイムは1つありません。このセクションでは、配置のニーズを満たすために利用できるアーキテクチャについて説明します。
データベースを配置する ときは、まず、単一のリージョンまたは複数のリージョンのどちらかで配置することを選択する必要があります。次の図にこれらのオプションを示します。これらのオプションについては、以下でさらに説明しています。

単一リージョン配置
単一リージョン配置は、最もシンプルな配置オプションです。単一リージョン配置では、データはプロバイダーのリージョンのいずれか(AWS のus-west-2
や Google のasia-northeast3
など)に保存されます。複数のゾーンを持つリージョンでは、Atlas は常にゾーンレベルの可用性を提供し、クラスター ノードは 1 つのリージョン内のアベイラビリティーゾーンに分散されます。そのため、1 つのゾーンに障害が発生しても、他のゾーンではデータは引き続き利用できます。
注意
推奨リージョンには 3 つのアベイラビリティーゾーンがあり、Atlas UIではスターアイコンでマークされています。
単一リージョン配置の簡単性とコストが低いため、アプリケーションのユーザーの分布によっては、可用性が低下し、レイテンシが高くなる可能性があります。
マルチリージョン配置
マルチリージョン配置は、より複雑な配置パラダイムであり、単一リージョン配置よりも大きい地理的範囲にわたって高い可用性と低レイテンシを提供します。マルチリージョン配置には、次のタイプがあります。
1 つの地理的条件のマルチリージョン : 国や大陸のような大規模な領域として定義される、単一の地理的条件内で 1 つのクラウドプロバイダーがホストする複数のリージョンに配置されます。これにより、特定のリージョンで障害が発生した場合でも、可用性が確保されます。
例、 AWSリージョン
us-west-1
とus-east-1
にクラスターを配置します。これらはどちらも米国にあります。us-east-1
が使用できなくなった場合でも、us-west-1
は通常に近いパフォーマンスで読み取りと書込みを引き続き受け入れます。複数の地理的条件のマルチリージョン : 2 つ以上の地理的条件内の 1 つ以上のリージョンに配置されます。これにより、特定のリージョンに障害が発生した場合でも、地理的領域全体が利用できない場合でも可用性が確保されます。
例、 AWSリージョンがある
us-east-1
とus-east-2
eu-west-2
にクラスターを配置します。これらはいずれも米国にあり、かつ 3 つ目のクラスターはヨーロッパにある に 3 つ目のクラスターを配置します。マルチクラウド : 複数のクラウドプロバイダーがホストする 1 つ以上のリージョンに配置します。これにより最高レベルの可用性が提供され、特定のリージョンに障害が発生した場合や、クラウドプロバイダー全体に障害が発生した場合でも、データは確実に利用できます。
例、 AWSリージョン
us-west-1
と Google Cloud リージョンus-east4
にクラスターを配置します。
可用性に関する考慮事項
障害復旧すべての Atlas インスタンスは常に最新のデータを保持するため、フェイルオーバーにバックアップの復元は必要ありません。
Atlas には配置にレプリケーションが組み込まれています。これは次のことを意味します。
データベース インスタンスは、通常は ミリ秒の範囲で、相互に厳密に同期されます。
停止時が発生したイベント、データベースインスタンス間のフェイルオーバーは完全に自動化されます。人間の介入は必要なく、必要な時間は 秒のみです。
デフォルトの writeConcern として
majority
を使用すると、すべてのデータが複数の場所に書き込まれたため、フェイルオーバー中にデータが失われることはありません。さらに、DB ドライバーは実行中の操作を自動的に再試行し、成功することを確認します。
つまり、RTO、RPO、データ レプリケーション頻度は実質的に等しく、過半数のノードが正常である限り、Atlas クラスターは完全に機能します。
注意
最大 RTO と RPO は、クラスター全体とアプリケーションの配置方法 の両方で包括的に考慮する必要があります。クラスターの完全なワークロードを検討して、要件をサポートすることを確認してください。
配置パラダイムの比較
どの配置パターンが自分に適しているかを判断するには、アプリケーションが主要ビジネスにどの程度重要かに応じて分析します。アプリケーションの重要度が高いほど(つまり、停止時がビジネスに与える影響が大きいほど)、停止時イベントを自動的に処理するアーキテクチャを検討する必要があります。
次の表は、ニーズに合わせて最適化を判断する際に役立つ配置パラダイムの比較を示しています。
優先度レベル | 説明 | RTO | 配置モデル | 相対コスト |
---|---|---|---|---|
階層 0 | 最もクリティカル アプリケーション。リージョン停止がイベントした場合でも、完全に自動化されたフェイルオーバーが必要です。 | 0 | $$$ | |
階層 1 | アプリケーションの優先度を低くします。ダウンタイムやメンテナンスウィンドウが発生する可能性があり、 重大な収益はありません。 | 1 時間以上 8 時間未満 | $$ | |
階層 2 | 最も優先度が低いアプリケーション。 24 時間ダウンしても、収益に大きな影響はありません。 | > 8 時間 | $+ | |
非本番 | 非クリティカル アプリケーション。収益に直接影響せず、カスタマー向けではない環境。通常は、開発環境とテスト環境です。 | 該当なし | $0 以上 |
注意
各配置タイプのコストは、選択したプロバイダー、必要なリージョンの数、ストレージの量、サーバーの処理能力など、いくつかの要因によって異なります。最新の価格情報については、 「 MongoDB の価格 」を参照してください。
ユースケース
アプリケーションのユーザーの地理的分散にどの配置パラダイムが機能するかを決定するために、次のユースケースを検討してください。
ユーザーはほとんど 1 つの地域に所属する
アプリケーションのユーザーの過半数が 1 つの地域に属している場合は、同じ地理的内の 1 つ以上のリージョンに配置することをお勧めします。単一リージョン配置では 1 つのアベイラビリティーゾーンの停止時を防ぐことができますが、マルチリージョン配置ではより幅広い地理的領域をカバーし、ゾーンとリージョンの両方の停止時にも可用性が確保されます。さらに高い可用性を実現するには、複数のリージョンに配置する必要があります。これらのオプションはすべて低レイテンシをサポートし、すべてのユーザー データが同じ地理的にアクセスされて保存されるため、データ所有権要件へのコンプライアンスを簡素化します。
これらの配置パラダイムの詳細については、次のパラダイム ページを参照してください。
複数の地理に分散されたユーザー
アプリケーションのユーザーが米国やヨーロッパなどの複数の地理に分散している場合は、各地理的の 1 つ以上のリージョンに配置することをお勧めします。カスタマーにサービスを提供する各リージョンの 1 つのリージョンに配置すると、 地理的停止時 が発生した場合に低レイテンシと可用性が得られます。また、データをパーティションパーティショニング、各地域のユーザー データをその地域内でホストすることで、データ所有権要件を満たすこともできます。
リージョン停止が発生した場合にレイテンシを増加させたりデータ所有権要件に違反したりすることなく高可用性を確保するには、各リージョンの複数のリージョンに を配置することもできます。複数のリージョンの複数のリージョンにクラスターを配置することで、マルチリージョン配置で最高の可用性を実現できます。
これらの配置パラダイムの詳細については、次のパラダイム ページを参照してください。
世界的に分散されたユーザー
アプリケーションを世界的なオーディエンスに配置する場合は、グローバル配置を検討する前に、複数の地理的条件にマルチリージョン配置を配置することをお勧めします。ほとんどの場合、複数のリージョンにマルチリージョンを配置すると、 高可用性、 低レイテンシ、 データ所有権 の要件を満たすことができます。まれに、Atlas のグローバル配置が必要になる場合があります。これは最も複雑なマルチリージョン配置パラダイムであり、非常に慎重な計画が必要です。
これらの配置パラダイムの詳細については、次のページを参照してください。