継続的バックアップとポイントインタイム リストアを使用して Azure Cosmos DB アカウントをプロビジョニングする

適用対象: NoSQL MongoDB

Azure Cosmos DB のポイントインタイム リストア機能を使用すると、コンテナー内で誤って行われた変更から復旧したり、削除されたアカウントを復元したり、バックアップが存在していた任意のリージョンへ復元したりできます。 継続的バックアップ モードにより、過去 30 日または 7 日以内の任意の時点に復元できます。 どの程度の時間遡れるかは、アカウントの継続的モードのレベルによって異なります。

この記事では、Azure portalPowerShellCLI、および Resource Manager テンプレートを使用して、継続的バックアップとポイントインタイム リストアを使用してアカウントをプロビジョニングする方法について説明します。

注意

継続的バックアップ モードのアカウントは、次の条件に該当する場合にのみプロビジョニングできます。

  • アカウントの種類が NoSQL 用または MongoDB 用の API の場合。
  • アカウントの種類が Table 用 または Gremlin 用の API の場合。
  • アカウントに単一の書き込みリージョンがある場合。

Microsoft Azure portal を使用したプロビジョニング

新しい Azure Cosmos DB アカウントを作成するときは、 [バックアップ ポリシー] タブで [継続的] モードを選択し、新しいアカウントでポイントインタイム リストア機能を有効にします。 ポイントインタイム リストアでは、データは新しいアカウントに復元されます。現在、既存のアカウントに復元することはできません。

継続的バックアップ構成を使用して Azure Cosmos DB アカウントをプロビジョニングします。

Azure PowerShell を使用してプロビジョニングする

PowerShell と CLI コマンドの場合、レベルの値がまだ指定されていない場合は省略可能です。 指定されていない場合、アカウントのバックアップは 30 日間保持されます。 レベルは、Continuous7Days または Continuous30Days の値で表されます。

  1. Azure PowerShell の最新バージョンのインストール

    • アカウントをプロビジョニングする前に、Azure PowerShell 6.2.0 より上の任意のバージョンをインストールしてください。 Azure PowerShell の最新バージョンの詳細については、最新バージョンの Azure PowerShell を参照してください。
    • Continuous7Days レベルをプロビジョニングするには、Install-Module -Name Az.CosmosDB -AllowPrerelease を実行してモジュールのプレビュー バージョンをインストールする必要があります。
  2. 次に、Azure アカウントに接続し、次のコマンドを使用して必要なサブスクリプションを選択します。

    1. 次のコマンドを使用して、Azure にサインインします。

      Connect-AzAccount
      
    2. 次のコマンドを使用して、特定のサブスクリプションを選択します。

      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 コマンド ライン インターフェイスをインストールします。

  1. 最新バージョンの Azure CLI のインストールについては、Azure CLI を参照してください

  2. サインインして、使用するサブスクリプションを選択する

    • 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>

次のステップ