継続的バックアップとポイントインタイム リストアを使用して Azure Cosmos DB アカウントをプロビジョニングする
適用対象: NoSQL MongoDB
Azure Cosmos DB のポイントインタイム リストア機能を使用すると、コンテナー内で誤って行われた変更から復旧したり、削除されたアカウントを復元したり、バックアップが存在していた任意のリージョンへ復元したりできます。 継続的バックアップ モードにより、過去 30 日または 7 日以内の任意の時点に復元できます。 どの程度の時間遡れるかは、アカウントの継続的モードのレベルによって異なります。
この記事では、Azure portal、PowerShell、CLI、および Resource Manager テンプレートを使用して、継続的バックアップとポイントインタイム リストアを使用してアカウントをプロビジョニングする方法について説明します。
注意
継続的バックアップ モードのアカウントは、次の条件に該当する場合にのみプロビジョニングできます。
- アカウントの種類が NoSQL 用または MongoDB 用の API の場合。
- アカウントの種類が Table 用 または Gremlin 用の API の場合。
- アカウントに単一の書き込みリージョンがある場合。
Microsoft Azure portal を使用したプロビジョニング
新しい Azure Cosmos DB アカウントを作成するときは、 [バックアップ ポリシー] タブで [継続的] モードを選択し、新しいアカウントでポイントインタイム リストア機能を有効にします。 ポイントインタイム リストアでは、データは新しいアカウントに復元されます。現在、既存のアカウントに復元することはできません。
Azure PowerShell を使用してプロビジョニングする
PowerShell と CLI コマンドの場合、レベルの値がまだ指定されていない場合は省略可能です。 指定されていない場合、アカウントのバックアップは 30 日間保持されます。 レベルは、Continuous7Days
または Continuous30Days
の値で表されます。
Azure PowerShell の最新バージョンのインストール
- アカウントをプロビジョニングする前に、Azure PowerShell 6.2.0 より上の任意のバージョンをインストールしてください。 Azure PowerShell の最新バージョンの詳細については、最新バージョンの Azure PowerShell を参照してください。
Continuous7Days
レベルをプロビジョニングするには、Install-Module -Name Az.CosmosDB -AllowPrerelease
を実行してモジュールのプレビュー バージョンをインストールする必要があります。
次に、Azure アカウントに接続し、次のコマンドを使用して必要なサブスクリプションを選択します。
次のコマンドを使用して、Azure にサインインします。
Connect-AzAccount
次のコマンドを使用して、特定のサブスクリプションを選択します。
Select-AzSubscription -Subscription <SubscriptionName>
NoSQL 用 API アカウント
継続的バックアップを行うアカウントをプロビジョニングするには、通常のプロビジョニング コマンドに引数 -BackupPolicyType Continuous
を追加します。
次のコマンドレットは、MyRG リソース グループ内の米国西部リージョンの 1 つのリージョン書き込みアカウント Pitracct を想定しています。 このアカウントでは継続的バックアップ ポリシーが有効になっています。 継続的バックアップは、Continuous7days
レベルで構成されます。
New-AzCosmosDBAccount `
-ResourceGroupName "MyRG" `
-Location "West US" `
-BackupPolicyType Continuous `
-ContinuousTier Continuous7Days `
-Name "pitracct" `
-ApiKind "Sql"
MongoDB 用 API
次のコマンドレットは、Continuous30days
レベルで構成された継続的バックアップ アカウントの例です。
New-AzCosmosDBAccount `
-ResourceGroupName "MyRG" `
-Location "West US" `
-BackupPolicyType Continuous `
-ContinuousTier Continuous30Days `
-Name "Pitracct" `
-ApiKind "MongoDB" `
-ServerVersion "3.6"
Table 用 API アカウント
継続的バックアップを行うアカウントをプロビジョニングするには、通常のプロビジョニング コマンドに引数 -BackupPolicyType Continuous
を追加します。
次のコマンドレットは、Continuous7days
レベルを使用した継続的バックアップ ポリシーの例です。
New-AzCosmosDBAccount `
-ResourceGroupName "MyRG" `
-Location "West US" `
-BackupPolicyType Continuous `
-ContinuousTier Continuous7Days `
-Name "pitracct" `
-ApiKind "Table"
Gremlin 用 API アカウント
継続的バックアップを行うアカウントをプロビジョニングするには、通常のプロビジョニング コマンドに引数 -BackupPolicyType Continuous
を追加します。
次のコマンドレットは、Continuous30days
レベルで構成された継続的バックアップ ポリシーを使用するアカウントの例です。
New-AzCosmosDBAccount `
-ResourceGroupName "MyRG" `
-Location "West US" `
-BackupPolicyType Continuous `
-ContinuousTier Continuous30Days `
-Name "pitracct" `
-ApiKind "Gremlin"
Azure CLI を使用したプロビジョニング
PowerShell および CLI コマンドの場合、レベルの値は省略可能です。指定しない場合、アカウントのバックアップは 30 日間保持されます。 レベルは、Continuous7Days
または Continuous30Days
で表されます。
アカウントをプロビジョニングする前に、次の手順に従って Azure コマンド ライン インターフェイスをインストールします。
最新バージョンの Azure CLI のインストールについては、Azure CLI を参照してください
サインインして、使用するサブスクリプションを選択する
az login
コマンドで Azure アカウントにサインインします。az account set -s <subscriptionguid>
コマンドを使用して、必要なサブスクリプションを選択します。
NoSQL 用 API アカウント
継続的バックアップを行う NoSQL 用 API アカウントをプロビジョニングするには、通常のプロビジョニング コマンドと共に追加の引数 --backup-policy-type Continuous
を渡す必要があります。 次のコマンドは、継続的バックアップ ポリシーと Continuous7days
を使用する Pitracct という名前の単一リージョン書き込みアカウントの例です。
az cosmosdb create \
--name Pitracct \
--resource-group MyRG \
--backup-policy-type Continuous \
--continuous-tier "Continuous7Days" \
--default-consistency-level Session \
--locations regionName="West US"
MongoDB 用 API
次のコマンドは、継続的バックアップ ポリシーと Continuous30days
を使用する Pitracct という名前の単一リージョン書き込みアカウントの例を示しています。
az cosmosdb create \
--name Pitracct \
--kind MongoDB \
--resource-group MyRG \
--server-version "3.6" \
--backup-policy-type Continuous \
--continuous-tier "Continuous30Days" \
--default-consistency-level Session \
--locations regionName="West US"
Table 用 API アカウント
次のコマンドは、継続的バックアップ ポリシーと Continuous30days
を使用する Pitracct という名前の単一リージョン書き込みアカウントの例を示しています。
az cosmosdb create \
--name Pitracct \
--kind GlobalDocumentDB \
--resource-group MyRG \
--capabilities EnableTable \
--backup-policy-type Continuous \
--continuous-tier "Continuous30Days" \
--default-consistency-level Session \
--locations regionName="West US"
Gremlin 用 API アカウント
次のコマンドは、MyRG リソース グループの下で "米国西部" リージョンに継続的バックアップ ポリシーと Continuous7days
を使用して作成される Pitracct という名前の単一リージョン書き込みアカウントの例を示しています。
az cosmosdb create \
--name Pitracct \
--kind GlobalDocumentDB \
--resource-group MyRG \
--capabilities EnableGremlin \
--backup-policy-type Continuous \
--continuous-tier "Continuous7Days" \
--default-consistency-level Session \
--locations regionName="West US"
Resource Manager テンプレートを使用してプロビジョニングする
Azure Resource Manager テンプレートを使用して、継続的モードで Azure Cosmos DB アカウントをデプロイできます。 アカウントをプロビジョニングするテンプレートを定義する場合は、次の例に示すように backupPolicy
と tier パラメーターを含めます。tier は Continuous7Days
または Continuous30Days
にできます。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"name": "ademo-pitr1",
"type": "Microsoft.DocumentDB/databaseAccounts",
"apiVersion": "2023-04-15",
"location": "West US",
"properties": {
"locations": [
{
"locationName": "West US"
}
],
"backupPolicy":{
"type":"Continuous",
"continuousModeProperties":{
"tier":"Continuous7Days"
}
}
"databaseAccountOfferType": "Standard"
} }
次に、Azure PowerShell または CLI を使用してテンプレートをデプロイします。 次の例は、CLI コマンドを使用してテンプレートをデプロイする方法を示しています。
az deployment group create -g <ResourceGroup> --template-file <ProvisionTemplateFilePath>
次のステップ
- ライブまたは削除された Azure Cosmos DB アカウントを復元する
- 定期的なバックアップから継続的バックアップにアカウントを移行する方法。
- 継続的バックアップ モードのリソース モデル。
- 継続的バックアップ モードでデータを復元するために必要なアクセス許可を管理します。