リージョン停止のシミュレーション
項目一覧
注意
Atlas UI とAPIを使用して、Atlas マルチリージョンクラスターの停止時をシミュレートし、アプリケーションが 1 つ以上のリージョンの停止時にどのように対応するかを確認できます。 複数のシミュレーションを実行することもできます。 複数のシミュレーションを実行する場合は、シミュレーション間隔を 5 分にすることをお勧めします。
必要なアクセス権
停止時シミュレーションを開始するには、プロジェクトに対するOrganization Owner
またはProject Owner
アクセス権が必要です。
リージョン停止プロセスのシミュレート
Atlas UI またはAPIを使用して停止をテストするためのリクエストを送信すると、Atlas は停止イベントをシミュレートします。 シミュレートされた停止中、Atlas は次のように動作します。
選択したリージョン内のノードへのネットワーク接続を削除します。
のモニタリング triggerアラートは され
Replica set has no primary
ません 。
アプリケーションが一部のノードへの接続が失われたことを認識するまでに15分以上かかる場合は、 TCP再送信タイムアウト値を減らすことをお勧めします。 詳しくは、 が tcp_retry 2値を変更するのを参照してください。
Atlas UI を使用したリージョン停止のシミュレーション
Atlas UI でリージョン停止をシミュレートするには、次の手順に従います。
Atlas Atlasで、プロジェクトの {0 ページにGoします。GoClusters
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
まだ表示されていない場合は、サイドバーの [Clusters] をクリックします。
[ Clusters (クラスター) ] ページが表示されます。
Test ResilienceモーダルにGoします。
停止テストを実行するクラスターについては、 ...ボタンをクリックします。
[Test Resilience] をクリックします。
Regional Outageを選択します。 Atlas には、停止イベントをシミュレートするために Atlas が実行する手順を含むTest Resilienceモーダルが表示されます。 詳細については、「リージョン停止プロセスのシミュレート 」を参照してください。
シミュレーションを開始します。
[Select Regions] をクリックします。
シミュレートする停止のタイプに対応するタブを選択します。
選択可能なノードの半分より少なく選択します。
選択可能なノードの半分以上を選択し、少なくとも 1 つの選択可能なノードを残ります。
選択可能なノードの過半数を選択すると、レプリカセットにはプライマリ ノードがなくなります。 つまり、レプリカセットでは、適切なreadPreference が設定されていない書込み操作および読み取り操作を実行できません。
テストを開始するには、 Simulate Regional Outageを選択します。
Atlas は停止が発生すると通知します。
シミュレーションを終了します。
実行している停止のタイプに対応するタブを選択します。
停止時テストが終了したら、 End Simulationをクリックします。
リージョン停止のテストが終了したら、次のいずれかを実行できます。
レプリカセットに選択可能なノードを追加して、マルチリージョンクラスターを復元します。 詳細については、「リージョンの停止時にレプリカセットを再構成する 」を参照してください。
[] をクリックして、リージョン停止時シミュレーションを終了しEnd Simulation 。
APIを使用したリージョン停止のシミュレーション
停止時テストAPIエンドポイントを使用して、停止時イベントをシミュレートできます。 停止プロセスの詳細については、「リージョン停止プロセスのシミュレート 」を参照してください。
停止時を確認する
停止が成功したことを確認するには、アプリケーションをモニターして、読み取りおよび書込み操作が期待どおりに動作していることを確認します。
停止時のトラブルシューティング
シャーディングされたクラスター内の最も優先度の高いリージョンに影響するリージョン停止時またはリージョン停止時シミュレーションにより、クラスターが読み取り操作を実行できなくなる可能性があります。コンフィギュレーションサーバーを復元するには、次の手順を実行します。
セカンダリ ノードの読み込みクエリに適した読み込み設定 (read preference) を構成します。
選挙可能なノードを取り戻すようにクラスターを再構成します。