Atlas は自動的にデータ検証を実行し、プロジェクト内のすべてのクラスターにわたるデータの不整合を積極的に検出します。データ検証は、アプリケーションに影響を与える前に、サイレント データの破損を識別するのに役立ちます。
レプリカセットノード間でデータが異なる場合に、エラーや警告がトリガーされることなく、サイレントデータ破損が発生します。これは、ハードウェア障害、ネットワークの問題、またはその他のシステムレベルの問題で発生する可能性があります。例としては、次のものが含まれます。
欠落しているドキュメント:ドキュメントは一部のノードには存在しますが、他のノードには欠落しています。
コンテンツの違い:ドキュメントはすべてのノードに存在しますが、内容はそれらの間で異なります。
インデックスの不一致: インデックスエントリはノード間で異なります。
検証を行わない場合、これらの不整合が検出されないままになると、アプリケーションエラー、データの損失、または誤ったクエリ結果が発生する可能性があります。
データ検証の仕組み
Atlas はレプリカセットノード全体でデータを検証し、レプリカセットノード間のデータを比較して、サイレント データの破損を検出します。
検証プロセスには、次の手順が含まれます。
クラスターと同じクラウドプロバイダーとリージョンに一時的な検証インスタンスを作成します。
ノードスナップショットを検証インスタンスに復元します。
ノードスナップショット間でデータを比較し、不整合を検出します。
不整合が検出されたときに、Atlas システム( AWS
us-east-1)に検証結果を保存します。
データ検証はプロジェクト内のすべてのクラスターで自動的に実行されます。必要に応じて、プロジェクトレベルで検証を無効にすることができます。
データアクセスとストレージ
検証中に、Atlas はデータベースとコレクションのデータを読み取ってハッシュを計算し、不整合を検出します。 Atlas はクラスター データを変更したり、復号化されたドキュメントコンテンツを保存したりしません。復号化されたデータは検証プロセス中に一時的にのみ存在し、保持されません。
検証によって不整合が検出されると、Atlas は次のメタデータのみを保存します。
データ型 | 保持期間 | 説明 |
|---|---|---|
メタデータの実行 | 3年 | 検証実行ステータス、タイムスタンプ、データベース、コレクション、不整合タイプ別のカウントを含む不整合の概要。 |
不整合の詳細 | 90 日間 | 検証に失敗したドキュメントのデータベース名、コレクション名、ドキュメントID、および不整合のタイプ。 |
検証ログ | 90 日間 | S3 に保存されている詳細な検証出力。トラブルシューティングのために Atlas UIから利用できます。 |
結果のドロップダウン | 21 日間 | 検証プロセス中に使用される中間ハッシュ結果。 |
Atlas は、分析とトラブルシューティングのために不整合メタデータのみを保持します。
保管時の暗号化によるデータ検証
カスタマー管理キーを使用して保管時の暗号化が行われているクラスターの場合、検証にはキー管理サービスへの追加のアクセスが必要です。
検証インスタンスは、検証チェックを実行するために、カスタマーが管理するキーを使用してデータを復号化する必要があります。これにより、追加の KMS APIリクエストと関連コストが発生します。
KMS の使用、コスト、セキュリティ上の考慮事項、およびIP許可リストの構成要件の詳細については、「 データ検証 KMS の使用 」を参照してください。
データ検証を無効にする
プロジェクト内のすべてのクラスターのデータ検証を無効にできます。
重要
データ検証を無効にすると、Atlas はクラスター内のデータの不整合を積極的に検出できなくなります。検証の実行中を妨げる特定の要件がある場合にのみ、検証を無効にしてください。
Atlas で、Project Settings ページに移動します。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
サイドバーで、 アイコンを Project Overview の横にあるをクリックします。
[ Project Settings ]ページが表示されます。