Azure Cosmos DB のポイントインタイム リストア機能のリソース モデル
適用対象: NoSQL MongoDB Gremlin Table
この記事では、Azure Cosmos DB のポイントインタイム リストア機能のリソース モデルについて説明されています。 継続的バックアップをサポートするパラメーターと、復元できるリソースについて説明されています。 この機能は、SQL 用 Azure Cosmos DB API、Gremlin 用 Azure Cosmos DB、Table API、および MongoDB 用 Azure Cosmos DB API でサポートされています。
データベース アカウントのリソース モデル
データベース アカウントのリソース モデルは、新しい復元シナリオをサポートするためのいくつかの追加プロパティで更新されました。 この 3 つのプロパティとは、BackupPolicy
、CreateMode
および RestoreParameters
です。
BackupPolicy
backuppolicy
パラメーターの下にある Type
という名前のアカウント レベルのバックアップ ポリシーの新しいプロパティにより、継続的バックアップとポイントインタイム リストアが有効になります。 このモードは、継続的バックアップと呼ばれます。 このモードは、アカウントを作成するとき、またはアカウントを定期モードから継続モードに移行するときに設定できます。 継続モードを有効にすると、このアカウント内で作成されたすべてのコンテナーとデータベースで、ポイントインタイム リストアと継続的バックアップが既定で有効になります。 継続的バックアップのレベルは、Continuous7Days
または Continuous30Days
に設定できます。 既定では、レベルが指定されていない場合、Continuous30Days
がアカウントに適用されます。
Note
現時点では、ポイントインタイム リストア機能は、Azure Cosmos DB for NoSQL、MongoDB、Table、および Gremlin 用 API アカウントで使用できます。 継続的モードでアカウントを作成した後は、それを定期的モードに切り替えることはできません。 Continuous7Days
レベルはプレビュー段階です。
CreateMode
このプロパティは、アカウントがどのように作成されたかを示します。 指定できる値は Default と Restore です。 復元を実行するには、この値を Restore に設定し、RestoreParameters
プロパティに適切な値を指定します。
publicNetworkAccess
公衆ネットワークへのアクセスなしでアカウントを復元するには、このプロパティを "無効" に設定する必要があります。 このプロパティが指定されていない場合、アカウントの復元は publicNetworkAccess を Enabled
として続行されます。
RestoreParameters
RestoreParameters
リソースには、アカウント ID、復元する時間、復元が必要なリソースなど、復元操作の詳細が含まれています。
プロパティ名 | 説明 |
---|---|
restoreMode |
復元モードは PointInTime にする必要があります。 |
restoreSource |
復元が開始されるソース アカウントの instanceId。 |
restoreTimestampInUtc |
アカウントを復元する時点 (UTC)。 |
databasesToRestore |
復元するデータベースとコンテナーを指定する DatabaseRestoreResource オブジェクトの一覧。 各リソースは、1 つのデータベースと、そのデータベースにあるすべてのコレクションを表します。 詳細については、「復元可能な SQL リソース」を参照してください。 この値が空の場合は、アカウント全体が復元されます。 |
gremlinDatabasesToRestore |
復元するデータベースとグラフを指定するGremlinDatabaseRestoreResource オブジェクトの一覧。 各リソースは、単一データベースと、そのデータベースにあるすべてのグラフを表します。 詳細については、復元可能な Gremlin リソースに関する記事を参照してください。 この値が空の場合は、アカウント全体が復元されます。 |
restoreWithTtlDisabled |
復元完了時に復元されたアカウントの Time-To-Live を無効にするブール型フラグ値 (true/false)。 (プレビュー) |
tablesToRestore |
復元するテーブルを指定するTableRestoreResource オブジェクトの一覧。 各リソースは、そのデータベースの下にあるテーブルを表します。 詳細については、「復元可能な Table リソース」を参照してください。 この値が空の場合は、アカウント全体が復元されます。 |
サンプル リソース
次の JSON は、継続的バックアップが有効になっているサンプル データベース アカウント リソースです。
{
"location": "westus",
"properties": {
"databaseAccountOfferType": "Standard",
"locations": [
{
"failoverPriority": "0",
"locationName": "southcentralus",
"isZoneRedundant": "false"
}
],
"createMode": "Restore",
"publicNetworkAccess":"Disabled",
"restoreParameters": {
"restoreMode": "PointInTime",
"restoreWithTtlDisabled" : "true",
"restoreSource": "/subscriptions/subid/providers/Microsoft.DocumentDB/locations/westus/restorableDatabaseAccounts/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e",
"restoreTimestampInUtc": "2020-06-11T22:05:09Z",
"databasesToRestore": [
{
"databaseName": "db1",
"collectionNames": [
"collection1",
"collection2"
]
},
{
"databaseName": "db2",
"collectionNames": [
"collection3",
"collection4"
]
}
]
},
"backupPolicy": {
"type": "Continuous"
...
}
}
}
復元可能なリソース
新規リソースと API のセットが利用可能であり、以下のようなリソースに関する重要な情報を見つける際に役立ちます。
- ソースを復元できる場所
- リソースの復元元にできる場所
- これらのリソースに対してキー操作が実行されたときのタイムスタンプ
Note
これらのリソースを列挙するために使用されるすべての API には、次のアクセス許可が必要です。
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/*/read
Microsoft.DocumentDB/locations/restorableDatabaseAccounts/read
復元可能なデータベース アカウント
このリソースには、復元できるデータベース アカウント インスタンスが含まれています。 データベース アカウントは、削除済みまたはライブ状態のアカウントのいずれかになります。 これには、復元するソース データベース アカウントを検索するための情報が含まれています。
プロパティ名 | 説明 |
---|---|
ID |
リソースの一意識別子。 |
accountName |
グローバル データベース アカウント名。 |
creationTime |
アカウントが作成または移行された時刻 (UTC)。 |
deletionTime |
アカウントが削除された時刻 (UTC)。 アカウントがライブ状態の場合、この値は空になります。 |
apiType |
Azure Cosmos DB アカウントの API の種類。 |
restorableLocations |
アカウントが存在していた場所の一覧。 |
restorableLocations: locationName |
リージョン アカウントのリージョン名。 |
restorableLocations: regionalDatabaseAccountInstanceId |
リージョン アカウントの GUID。 |
restorableLocations: creationTime |
リージョン アカウントが作成または移行された時刻 (UTC)。 |
restorableLocations: deletionTime |
リージョン アカウントが削除された時刻 (UTC)。 リージョン アカウントがライブ状態の場合、この値は空になります。 |
OldestRestorableTimeStamp |
復元を実行できる最も早い時刻 (UTC)。 30 日間のレベルの場合、この時間は現在から最大 30 日間にすることができ、7 日間のレベルの場合、この時間は現在から最大 7 日間にすることができます。 |
復元可能なすべてのアカウントの一覧を取得するには、復元可能なデータベース アカウント - 一覧または復元可能なデータベース アカウント - 場所別の一覧に関する記事を参照してください。
復元可能な SQL データベース
各リソースには、SQL Database で発生した作成や削除などの変更イベントの情報が含まれています。 この情報は、データベースが誤って削除されたときに、そのイベントがいつ発生したのかを調べる必要がある場合に役立ちます。
プロパティ名 | 説明 |
---|---|
eventTimestamp |
データベースが作成または削除された時刻 (UTC)。 |
ownerId |
SQL データベースの名前。 |
ownerResourceId |
SQL データベースのリソース ID。 |
operationType |
このデータベース イベントの操作の種類。 |
database |
イベント発生時の SQL データベースのプロパティ。 |
Note
operationType
に指定できる値は以下のとおりです。
Create
: データベース作成イベントDelete
: データベース削除イベントReplace
: データベース変更イベントSystemOperation
: システムによってトリガーされたデータベース変更イベント。 このイベントはユーザーによって開始されません
すべてのデータベース変更の一覧を取得するには、復元可能な NoSQL データベース - 一覧に関する記事を参照してください。
復元可能な SQL コンテナー
各リソースには、SQL コンテナーで発生した作成や削除などの変更イベントの情報が含まれています。 この情報は、コンテナーが変更または削除されたときに、そのイベントがいつ発生したかを調べる必要がある場合に役立ちます。
プロパティ名 | 説明 |
---|---|
eventTimestamp |
このコンテナー イベントが発生した時刻 (UTC)。 |
ownerId |
SQL コンテナーの名前。 |
ownerResourceId |
SQL コンテナーのリソース ID。 |
operationType |
このコンテナー イベントの操作の種類。 |
container |
イベント発生時の SQL コンテナーのプロパティ。 |
Note
operationType
に指定できる値は以下のとおりです。
Create
: コンテナー作成イベントDelete
: コンテナー削除イベントReplace
: コンテナー変更イベントSystemOperation
: システムによってトリガーされたコンテナー変更イベント。 このイベントはユーザーによって開始されません
同じデータベースにあるすべてのコンテナーの変更の一覧を取得するには、復元可能な NoSQL コンテナー - 一覧に関する記事を参照してください。
復元可能な SQL リソース
各リソースは、1 つのデータベースと、そのデータベースにあるすべてのコンテナーを表します。
プロパティ名 | 説明 |
---|---|
databaseName |
SQL データベースの名前。 |
collectionNames |
このデータベースにある SQL コンテナーの一覧。 |
指定のタイムスタンプと場所にあるアカウントに存在する SQL データベースとコンテナーの組み合わせの一覧を取得するには、復元可能な NoSQL リソース - 一覧に関する記事を参照してください。
復元可能な MongoDB データベース
各リソースには、MongoDB データベースで発生した作成や削除などの変更イベントの情報が含まれています。 この情報は、データベースが誤って削除されたときに、そのイベントがいつ発生したのかをユーザーが調べる必要がある場合に役立ちます。
プロパティ名 | 説明 |
---|---|
eventTimestamp |
このデータベース イベントが発生した時刻 (UTC)。 |
ownerId |
MongoDB データベースの名前。 |
ownerResourceId |
MongoDB データベースのリソース ID。 |
operationType |
このデータベース イベントの操作の種類。 |
Note
operationType
に指定できる値は以下のとおりです。
Create
: データベース作成イベントDelete
: データベース削除イベントReplace
: データベース変更イベントSystemOperation
: システムによってトリガーされたデータベース変更イベント。 このイベントはユーザーによって開始されません
すべてのデータベース変更の一覧を取得するには、復元可能な Mongodb データベース - 一覧に関する記事を参照してください。
復元可能な MongoDB コレクション
各リソースには、MongoDB コレクションで発生した作成や削除などの変更イベントの情報が含まれています。 この情報は、コレクションが変更または削除されたときに、そのイベントがいつ発生したのかをユーザーが調べる必要がある場合に役立ちます。
プロパティ名 | 説明 |
---|---|
eventTimestamp |
このコレクション イベントが発生した時刻 (UTC)。 |
ownerId |
MongoDB コレクションの名前。 |
ownerResourceId |
MongoDB コレクションのリソース ID。 |
operationType |
このコレクション イベントの操作の種類。 |
Note
operationType
に指定できる値は以下のとおりです。
Create
: コレクション作成イベントDelete
: コレクション削除イベントReplace
: コレクション変更イベントSystemOperation
: システムによってトリガーされたコレクション変更イベント。 このイベントはユーザーによって開始されません
同じデータベースにあるすべてのコンテナーの変更の一覧を取得するには、復元可能な MongoDB リソース - 一覧に関する記事を参照してください。
復元可能な MongoDB リソース
各リソースは、1 つのデータベースと、そのデータベースにあるすべてのコレクションを表します。
プロパティ名 | 説明 |
---|---|
databaseName |
MongoDB データベースの名前。 |
collectionNames |
このデータベースにある MongoDB コレクションの一覧。 |
指定のタイムスタンプと場所にあるアカウントに存在するすべての MongoDB データベースとコレクションの組み合わせの一覧を取得するには、「復元可能な Mongodb リソース - 一覧」を参照してください。
復元可能なGraphリソース
各リソースは、単一データベースと、そのデータベースにあるすべてのグラフを表します。
プロパティ名 | 説明 |
---|---|
gremlinDatabaseName |
Graphデータベースの名前。 |
graphNames |
このデータベースにあるGraphの一覧。 |
指定のタイムスタンプと場所にあるアカウントに存在するすべてのGremlinデータベースとグラフの組み合わせの一覧を取得するには、復元可能なGraphリソース - 一覧に関する記事を参照してください。
復元可能なGraphデータベース
各リソースには、Graph データベースで発生した作成や削除などの変更イベントの情報が含まれています。 この情報は、データベースが誤って削除されたときに、そのイベントがいつ発生したのかをユーザーが調べる必要がある場合に役立ちます。
プロパティ名 | 説明 |
---|---|
eventTimestamp |
このデータベース イベントが発生した時刻 (UTC)。 |
ownerId |
Graphデータベースの名前。 |
ownerResourceId |
GraphデータベースのリソースID。 |
operationType |
このデータベース イベントの操作の種類。 |
Note
operationType
に指定できる値は以下のとおりです。
Create
: データベース作成イベントDelete
: データベース削除イベントReplace
: データベース変更イベントSystemOperation
: システムによってトリガーされたデータベース変更イベント。 このイベントはユーザーによって開始されません。
Gremlin データベース上のすべての変更のイベントフィードを取得するには、復元可能な Graph データベース - 一覧に関する記事を参照してください。
復元可能なGraph
各リソースには、Graphで発生した作成や削除などの変更イベントの情報が含まれています。 この情報は、グラフが変更または削除されたときに、そのイベントがいつ発生したかを調べる必要がある場合に役立ちます。
プロパティ名 | 説明 |
---|---|
eventTimestamp |
このコレクション イベントが発生した時刻 (UTC)。 |
ownerId |
Graphコレクションの名前。 |
ownerResourceId |
GraphコレクションのリソースID。 |
operationType |
このコレクション イベントの操作の種類。 |
Note
operationType
に指定できる値は以下のとおりです。
Create
: Graph 作成イベントDelete
: Graph 削除イベントReplace
: Graph 変更イベントSystemOperation
: システムによってトリガーされたコレクション変更イベント。 このイベントはユーザーによって開始されません。
同じデータベースにあるすべてのコンテナーの変更の一覧を取得するには、グラフ復元可能なGraph - 一覧に関する記事を参照してください。
復元可能なTableリソース
特定のデータベースアカウントで使用可能なすべての復元可能なAzure Cosmos DB Tableを、特定の時刻と場所に一覧表示します。 Table 用 API では明示的なデータベースが指定されていないことに注意してください。
プロパティ名 | 説明 |
---|---|
TableNames |
このデータベースにあるTableコンテナーの一覧。 |
指定のタイムスタンプと場所にあるアカウントに存在するTable の一覧を取得するには、復元可能な Table リソース - 一覧に関する記事を参照してください。
復元可能なTable
各リソースには、Tableで発生した作成や削除などの変更イベントの情報が含まれています。 この情報は、テーブルが変更または削除されたときに、そのイベントがいつ発生したかを調べる必要がある場合に役立ちます。
プロパティ名 | 説明 |
---|---|
eventTimestamp |
このデータベース イベントが発生した時刻 (UTC)。 |
ownerId |
Tableデータベースの名前。 |
ownerResourceId |
TableリソースのリソースID。 |
operationType |
このTableイベントの操作の種類。 |
Note
operationType
に指定できる値は以下のとおりです。
Create
: Table 作成イベントDelete
: Table 削除イベントReplace
: Table 変更イベントSystemOperation
: システムによってトリガーされたデータベース変更イベント。 このイベントはユーザーによって開始されません
同じデータベースにあるすべてのテーブルの変更の一覧を取得するには、復元可能なTable - 一覧に関する記事を参照してください。
次のステップ
- Azure portal、PowerShell、CLI、または Azure Resource Manager を使用して継続的バックアップをプロビジョニングします。
- Azure portal、PowerShell、CLI、または Azure Resource Manager を使用してアカウントを復元します。
- 定期的なバックアップから継続的バックアップにアカウントを移行します。
- 継続的バックアップ モードでデータを復元するために必要なアクセス許可を管理します。