APPLIES TO:
NoSQL
MongoDB
カサンドラ
グレムリン
表
Azure Cosmos DB では、データのバックアップが一定の間隔で自動的に取得されます。 自動バックアップは、データベース操作のパフォーマンスや可用性に影響を与えずに取得されます。 すべてのバックアップは別々のストレージ サービス内に個別に保存されます。これらのバックアップは、リージョンの障害からの回復性を確保するためにグローバルにレプリケートされます。 Azure Cosmos DB では、データだけでなく、データのバックアップについても、冗長性とリージョンの障害からの回復性が高められています。
Azure Cosmos DB でデータをバックアップする方法
以下の手順は、Azure Cosmos DB によるデータのバックアップ方法を示しています。
Azure Cosmos DB では、データベースの完全バックアップが 4 時間ごとに自動的に行われます。 任意の時点で、既定では、最新の 2 つのバックアップのみが格納されます。 既定の間隔がワークロードにとって十分でない場合は、Azure portal からバックアップ間隔と保有期間を変更できます。 バックアップ構成は、Azure Cosmos DB アカウントの作成時または作成後に変更できます。 コンテナーまたはデータベースが削除された場合、Azure Cosmos DB は、特定のプロビジョニング スループット コンテナーまたは共有スループット データベースの既存のスナップショットを 30 日間保持します。 スループットがデータベース レベルでプロビジョニングされている場合、バックアップと復元のプロセスはデータベース スコープ全体で行われます。
Azure Cosmos DB では、これらのバックアップが Azure Blob Storage に保存される一方、実際のデータは Azure Cosmos DB 内にローカルに存在します。
To guarantee low latency, the snapshot of your backup is stored in Azure Blob storage in the same region as the current write region (or one of the write regions, in case you have a multi-region write configuration). リージョンの障害に対する回復性を確保するために、Azure BLOB ストレージにあるバックアップ データの各スナップショットが、地理冗長ストレージ (GRS) 経由でもう一度レプリケートされます。 バックアップのレプリケート先のリージョンは、ソース リージョンと、ソース リージョンに関連付けられているリージョン ペアに基づいています。 詳細については、 Azure リージョンの geo 冗長ペアの一覧を参照してください。 このバックアップに直接アクセスすることはできません。 サポート リクエストを通してお客様から要求があると、Azure Cosmos DB チームがバックアップを復元します。
次の図は、3 つのプライマリ物理パーティションがすべて米国西部に配置されている Azure Cosmos DB コンテナーの様子を示しています。 このコンテナーは、米国西部のリモート Azure Blob Storage アカウントにバックアップされてから、米国東部にレプリケートされます。
バックアップは、お使いのアプリケーションのパフォーマンスや可用性に影響を与えずに取得されます。 Azure Cosmos DB では、データのバックアップがバックグラウンドで実行され、プロビジョニング済みのスループット (RU) を余計に消費することも、データベースのパフォーマンスや可用性に影響することもありません。
定期的なバックアップ モードでは、バックアップは Azure Cosmos DB アカウントの書き込みリージョンでのみ作成されます。 復元アクションは常に、ソース アカウントの書き込みリージョンにある新しいアカウントにデータを復元します。
新しいアカウントに復元される内容
- プロビジョニングされたスループット コンテナー、共有スループット データベース、またはアカウント全体を任意に組み合わせて復元できます。
- 復元操作では、すべてのデータとそのインデックス プロパティが新しいアカウントに復元されます。
- 復元の期間は、復元する必要があるデータの量によって異なります。
- 新しく復元されたデータベース アカウントの整合性設定は、ソース データベース アカウントの整合性設定と同じです。
復元されないもの
ポイントインタイム リストア後に、次の構成は復元されません。
- 共有スループット データベースの下にあるコンテナーのサブセットは復元できません。 データベース全体をまとめて復元することはできます。
- データベース アカウント キー。 復元されたアカウントは、新しいデータベース アカウント キーを使用して生成されます。
- ファイアウォール、仮想ネットワーク、データ プレーン RBAC、またはプライベート エンドポイントの設定。
- Regions. 復元されたアカウントは、ソース アカウントの書き込みリージョンである単一リージョン アカウントのみです。
- ストアド プロシージャ、トリガー、ユーザー定義関数 (UDF)。
- ロールベースのアクセス制御の割り当て。 これらは再割り当てする必要があります。
- TTL の有効期限が切れたために削除されたドキュメント。
- Synapse Link が有効なときの分析データ。
- Materialized views.
これらの構成の一部は、復元の完了後に復元されたアカウントに追加できます。
Azure Synapse Link を使用した Azure Cosmos DB バックアップ
Azure Synapse Link 対応アカウントの場合、分析ストア データはバックアップと復元に含まれません。 Azure Synapse Link が有効になっている場合、トランザクション ストア内のデータは、Azure Cosmos DB によって、スケジュールされたバックアップ間隔で引き続き自動的にバックアップされます。 現時点では、分析ストア内のデータの自動バックアップと復元はサポートされていません。
バックアップのコストを理解する
2 つのバックアップが無料で提供され、 Azure Cosmos DB の価格で説明されているバックアップ ストレージのリージョンベースの価格に従って追加のバックアップが課金されます。
For example, consider a scenario where Backup Retention is configured to 240 hrs (or 10 days) and Backup Interval is configured to 24 hours. This configuration implies that there are 10 copies of the backup data. If you have 1 TB of data in an Azure West US region, the cost for backup storage in a given month would be: 0.12 * 1000 * 8
保持または復元を管理するために必要なアクセス許可
Principals who are part of the role CosmosdbBackupOperator, owner, or contributor are allowed to request a restore or change the retention period.
Azure Cosmos DB で定期的なバックアップを手動で管理する
Azure Cosmos DB NoSQL 用 API アカウントをお持ちの場合は、次のいずれかの方法を使用して、独自のバックアップを維持することもできます。
Azure Data Factory
Azure Data Factory を使用して、データを定期的に任意のストレージ ソリューションに移動します。
Azure Cosmos DB の変更フィード
Use the Azure Cosmos DB change feed to read data periodically for full backups or for incremental changes, and store it in your own storage.