ApsaraDB for MongoDB インスタンスのプライマリノードを切り替えることで、アプリケーションサーバと同一ゾーンに配置し、クロスゾーン書き込みによるレイテンシを低減できます。
ゾーン配置と書き込みレイテンシ
レプリカセットまたはシャードクラスターでは、ApsaraDB for MongoDB が 1 つのノードをプライマリノード、他のノードをセカンダリノードとして指定します。すべての書き込み操作はプライマリノードに対して実行されるため、Elastic Compute Service (ECS) アプリケーションサーバがプライマリノードと異なるゾーンに配置されている場合、すべての書き込みがゾーン間で行われることになり、レイテンシが増加し、スループットが低下します。

たとえば、ECS インスタンスがゾーン 2 にあり、プライマリノードがゾーン 1 にある場合、すべてのリクエストで書き込みがクロスゾーンで実行されます。プライマリノードをゾーン 2 に切り替えると、トラフィックが同一ゾーン内に留まります。
スイッチオーバーはノードのロールのみを変更し、ゾーンおよびロール ID は変更されません。スイッチオーバー後、もともとセカンダリであったノードは物理的に引き続きゾーン 2 に存在し、単にプライマリノードになります。
前提条件
開始する前に、以下の点を確認してください。
ApsaraDB for MongoDB インスタンスがレプリカセットまたはシャードクラスターインスタンスである。
実行タイミングと制限事項
スイッチオーバー中の切断: 各スイッチオーバーにより、最大 30 秒間インスタンスへの接続が切断される可能性があります。ピーク時を避けて実行するようスケジュールし、アプリケーションがインスタンスへ自動的に再接続できるようにしてください。
シャードクラスター: シャードクラスターインスタンスの場合、シャードノードおよび ConfigServer ノードのゾーン分布のみを管理できます。
ロールのみの変更(ゾーンは変更なし): スイッチオーバー後、ノードのゾーンおよびロール ID は変更されません。プライマリ/セカンダリの役割のみが変更されます。
コンソールでのロール切り替え手順
ApsaraDB for MongoDB コンソール にログインします。
左側ナビゲーションウィンドウで、インスタンスタイプに応じて、レプリカセットインスタンス または シャードクラスターインスタンス をクリックします。
ページ左上隅で、インスタンスが配置されているリソースグループおよびリージョンを選択します。
インスタンスの ID をクリックするか、[操作] 列の
をクリックして、[管理] を選択します。インスタンス詳細ページの左側ナビゲーションウィンドウで、サービス可用性 をクリックします。
ゾーン分布 セクションの左上隅にある ロール切り替え をクリックします。
シャードクラスターインスタンスの場合は、「シャードのゾーン分布」または ConfigServer のゾーン分布 セクションに移動し、ロール切り替え をクリックします。
ロール切り替え パネルで、以下のパラメーターを設定します。
パラメーター 説明 ロール(変更前) スイッチオーバー前のノードロール。 ロール(変更後) スイッチオーバー後のノードロール。 適用タイミング スイッチオーバーの実行タイミングです。即時適用 を選択すると直ちに実行され、メンテナンス期間内に適用 を選択するとスケジュールされます。後者を選択した場合は、現在のメンテナンス期間を選択するか、メンテナンス期間の変更 ドロップダウンリストから任意の期間をカスタマイズしてください。 OK をクリックします。
スイッチオーバーの確認
スイッチオーバーが完了した後、ノードロールが期待通りに変更されたことを確認します。
サービス可用性 ページの ゾーン分布 セクションを確認します。
対象ゾーン内のノードがプライマリノードとして表示され、元のプライマリノードがセカンダリノードとして表示されることを確認します。