ApsaraDB for MongoDB は、シャードクラスターインスタンスの Mongos、シャード、ConfigServer ノードを同一リージョン内の 2 つまたは 3 つのゾーンに分散させます。ノードは内部ネットワークを介して通信するため、単一ゾーンで障害が発生してもクラスター全体が停止することはありません。
前提条件
開始する前に、以下をご確認ください。
Alibaba Cloud アカウント。作成方法については、「Alibaba Cloud へのサインアップ」をご参照ください。
(ダブルゾーンのみ) 現在、招待プレビュー中のデュアルゾーンデプロイ機能へのアクセス権が必要です。チケットを送信してアクセスをリクエストしてください。チケットを送信
制限事項
| ディスクタイプ | サポートされるゾーン構成 | 注 |
|---|---|---|
| クラウドディスク | シングルゾーン、ダブルゾーン、マルチゾーン (3 ゾーン) | マルチゾーンデプロイは、特定のリージョンでのみ利用可能です。詳細については、「クラウドディスクベースのインスタンス (3 ゾーンデプロイ)」および「クラウドディスクベースのインスタンス (ダブルゾーンデプロイ)」をご参照ください。 |
| ローカルディスク | シングルゾーンのみ | ローカルディスクのシャードクラスターインスタンスは、クロスゾーンデプロイをサポートしていません。レプリカセットインスタンスでは、[ゾーン] パラメーターを使用して、Region Zones (1 + 2 + 3) の形式でゾーンをまたぐことができます (例:深センゾーン (C + D + E))。詳細については、「ローカルディスクベースのインスタンス」をご参照ください。 |
ノードのデプロイポリシー
次の表は、ノードがゾーン間でどのように分散されるか、および各構成が提供する障害保護について説明しています。
| ゾーン構成 | ノードの分散 | ゾーン障害時の動作 |
|---|---|---|
| シングルゾーン | すべての Mongos、シャード、ConfigServer ノードが 1 つのゾーンに配置されます。 | クロスゾーンでの保護はありません。ゾーン障害が発生すると、クラスター全体が停止します。 |
| ダブルゾーン | ノードは 2 つのゾーンに分散されます。シャードクラスターインスタンスには、2 つのゾーンにまたがってデプロイされた少なくとも 2 つの Mongos ノードが含まれ、後続のノードは 2 つのゾーンに均等にデプロイされます。シャードおよび ConfigServer ノード (プライマリ、セカンダリ、非表示) は両方のゾーンに分散され、プライマリ/セカンダリまたは HA スイッチオーバー後にゾーンが変更される場合があります。 | 設定されたスイッチオーバーモードに基づいて、クラスターの可用性は維持されます。詳細については、「ダブルゾーンのスイッチオーバーモード」をご参照ください。 |
| マルチゾーン (3 ゾーン) | ノードは 3 つのゾーンに分散されます。シャードクラスターインスタンスには、2 つのゾーンにまたがってデプロイされた少なくとも 2 つの Mongos コンポーネントが含まれ、3 番目の Mongos ノードはデフォルトで 3 番目のゾーンに配置され、後続のノードは 3 つのゾーンに順番にデプロイされます。シャードノード (プライマリ、セカンダリ、非表示) は 3 つのゾーンに順番にデプロイされるわけではなく、スイッチオーバー後にゾーンが変更される場合があります。ConfigServer ノード (プライマリ、セカンダリ、非表示) は 3 つのゾーンに分散されます。 | 高可用性 (HA) システムは、自動的にサービスを別のゾーンに切り替えます。クラスターの可用性は維持されます。 |
ダブルゾーンのスイッチオーバーモード
ゾーンが利用できなくなった場合、ApsaraDB for MongoDB はインスタンス詳細ページで設定されたスイッチオーバーモードに基づいてリカバリを処理します。
デフォルトのスイッチオーバーモードは [手動スイッチオーバー] です。手動モードでは、クラスターは自動的にフェイルオーバーしません。インスタンスを本番稼働させる前に、可用性の要件に合ったモードを評価してください。
| モード | 動作 | データ損失のリスク |
|---|---|---|
| 手動スイッチオーバー (デフォルト) | HA システムは自動的にスイッチオーバーしません。可用性を復元するためにデュアルゾーンインスタンスを起動します。スイッチオーバーを続行する前に、スイッチオーバーを確認し、潜在的なデータ損失を受け入れる必要があります。 | 同期遅延のウィンドウ内でデータが失われる可能性があります。 |
| 自動スイッチオーバー | HA システムは、可用性を復元するために、残りのノードをシングルノードとして自動的に起動します。 | 同期遅延のウィンドウ内でデータが失われる可能性があります。 |
インスタンスの書き込み確認が WriteConcern=majority に設定されている場合、書き込み操作はノードの過半数が確認するまで完了しません。ダブルゾーン構成で、2 つのノードを持つゾーンに障害が発生した場合、そのゾーンのプライマリノードに書き込まれたデータが、まだ他のゾーンに同期されていないと失われる可能性があります。
ECS とのネットワーク接続
アプリケーションが Elastic Compute Service (ECS) インスタンスで実行されている場合、ECS インスタンスと MongoDB インスタンスは、次のすべての要件を満たす必要があります。
| 要件 | 理由 |
|---|---|
| 同一リージョン | 異なるリージョンのインスタンスは、内部ネットワークを介して通信できません。 |
| 同一ネットワークタイプ (VPC を推奨) | VPC はクラシックネットワークよりも高いセキュリティを提供します。 |
| 同一 VPC ID (VPC を使用する場合) | 異なる VPC 上のインスタンスは、同じリージョン内であっても通信できません。 |
| 同一ゾーン (推奨) | アプリケーションとデータベース間のネットワーク遅延を削減します。 |
ご利用の ECS インスタンスがクラシックネットワークを使用していて VPC に切り替えたい場合は、「ECS インスタンスをクラシックネットワークから VPC に移行する」をご参照ください。ご利用の ECS インスタンスのゾーンとネットワーク情報の確認方法については、「インスタンス情報の表示」をご参照ください。
マルチゾーンのシャードクラスターインスタンスの作成
標準のシャードクラスターインスタンスを作成するのと同じ手順に従います。ゾーンの選択を求められたら、[ダブルゾーン] または [マルチゾーン] を選択します。完全な手順については、「シャードクラスターインスタンスの作成」をご参照ください。
次のステップ
サービス可用性機能を使用して、現在のノードのゾーン間での分散状況を確認できます。また、ノードのロールを切り替えて、アプリケーションが最も近いノードに接続するようにすることもできます。詳細については、「ノードロールの切り替え」をご参照ください。