クイック スタート: Azure CLI 経由で Azure Backup を使用して、Azure BLOB 用に保管済みバックアップを構成する

このクイック スタートでは、Azure CLI を使用して Azure BLOB 用に保管済みバックアップを構成する方法について説明します。 REST API を使用してバックアップを構成することもできます。

Azure Backup を使用して、運用バックアップとコンテナー化されたバックアップの両方を、ストレージ アカウント内のブロック BLOB を保護するように構成できるようになりました。

BLOB のコンテナー化されたバックアップは、バックアップ データを一般的な v2 ストレージ アカウントに格納する管理されたオフサイト バックアップ ソリューションです。これにより、悪意のある管理者や不正な管理者によるランサムウェア攻撃やソース データの損失からバックアップ データを保護できます。

コンテナー化されたバックアップを使用すると、次のことができます。

  • 復旧ポイントを作成するためのバックアップ スケジュールと、コンテナーにバックアップを保持する期間を決定する保持設定を定義する。
  • 1 つのバックアップ ポリシーを使用して、コンテナー化されたバックアップと運用バックアップを構成および管理する。
  • バックアップ データをバックアップ コンテナーにコピーして格納するため、最大 10 年間保持できるデータのオフサイト コピーが提供されます。

前提条件

BLOB の保管済みバックアップを構成する前に、次のことを確実に行ってください。

  • Azure BLOB の使用可能なリージョン、サポートされるシナリオ、制限事項について、サポート マトリックスに関するページを確認します。
  • Azure BLOB バックアップを構成するためのバックアップ コンテナーがあります。 バックアップ コンテナーを作成していない場合は、作成します

バックアップ ポリシーの作成

BLOB コンテナー化バックアップのバックアップ ポリシーを作成するには、次のコマンドを実行します。

  1. Azure BLOB のバックアップ用のバックアップ ポリシーの内部コンポーネントを理解するには、az dataprotection backup-policy get-default-policy-template コマンドを使用します。

    このコマンドにより、指定されたデータソースの種類の既定のポリシー テンプレートが返されます。 このポリシー テンプレートを使用して、新しいポリシーを作成します。

  2. ポリシーの JSON に必要なすべての値を保存したら、az dataprotection backup-policy create コマンドを使用してポリシー オブジェクトから新しいポリシーを作成する手順に進みます。

    Az dataprotection backup-policy create -g testBkpVaultRG –vault-name TestBkpVault -n BlobBackup-Policy –policy policy.json
    

    次の JSON は、運用バックアップに対して 30 日の保持期間、コンテナー化されたバックアップに対して 30 日の既定の保持期間を使用して、ポリシーを構成します。 コンテナー化されたバックアップは毎日 7:30 UTC にスケジュールされます。

    {
      "datasourceTypes": [
        "Microsoft.Storage/storageAccounts/blobServices"
      ],
      "name": "BlobPolicy1",
      "objectType": "BackupPolicy",
      "policyRules": [
        {
          "isDefault": true,
          "lifecycles": [
            {
              "deleteAfter": {
                "duration": "P30D",
                "objectType": "AbsoluteDeleteOption"
              },
              "sourceDataStore": {
                "dataStoreType": "OperationalStore",
                "objectType": "DataStoreInfoBase"
              },
              "targetDataStoreCopySettings": []
            }
          ],
          "name": "Default",
          "objectType": "AzureRetentionRule"
        },
        {
          "isDefault": true,
          "lifecycles": [
            {
              "deleteAfter": {
                "duration": "P30D",
                "objectType": "AbsoluteDeleteOption"
              },
              "sourceDataStore": {
                "dataStoreType": "VaultStore",
                "objectType": "DataStoreInfoBase"
              },
              "targetDataStoreCopySettings": []
            }
          ],
          "name": "Default",
          "objectType": "AzureRetentionRule"
        },
        {
          "backupParameters": {
            "backupType": "Discrete",
            "objectType": "AzureBackupParams"
          },
          "dataStore": {
            "dataStoreType": "VaultStore",
            "objectType": "DataStoreInfoBase"
          },
          "name": "BackupDaily",
          "objectType": "AzureBackupRule",
          "trigger": {
            "objectType": "ScheduleBasedTriggerContext",
            "schedule": {
              "repeatingTimeIntervals": [
                "R/2023-06-28T07:30:00+00:00/P1D"
              ],
              "timeZone": "UTC"
            },
            "taggingCriteria": [
              {
                "isDefault": true,
                "tagInfo": {
                  "id": "Default_",
                  "tagName": "Default"
                },
                "taggingPriority": 93
              }
            ]
          }
        }
      ]
    }
    
    

重要

バックアップ スケジュールは ISO 8601 期間形式に従います。 ただし、バックアップは無期限に実行するように構成されているため、繰り返し間隔プレフィックス R はサポートされていません。 Rで指定された値はすべて無視されます。

バックアップの構成

コンテナーとポリシーを作成したら、ストレージ アカウント内のすべての Azure BLOB を保護するためにユーザーが考慮しなければならない重要なポイントが 2 つあります。

  • 主なエンティティ
  • アクセス許可

主なエンティティ

  • 保護する BLOB を含むストレージ アカウント: 保護する BLOB を含むストレージ アカウントの Azure Resource Manager ID をフェッチします。 これは、ストレージ アカウントの識別子として機能します。 ここでは、東南アジア地域に存在する別のサブスクリプションで、リソース グループ blobrg の下に CLITestSA という名前のストレージ アカウントがある場合を例にします。

    "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/CLITestSA"
    
  • バックアップ コンテナー: バックアップ コンテナーからストレージ アカウント内に存在する BLOB のバックアップを有効にするには、ストレージ アカウントに対するアクセス許可が付与されている必要があります。 コンテナーのシステム割り当てマネージド ID は、そのようなアクセス許可を割り当てるために使用されます。

アクセス許可の割り当て

作成されたコンテナー (コンテナー MSI と表示) と関連するストレージ アカウントに、Azure RBAC 経由でいくつかのアクセス許可を割り当てる必要があります。 これらは、ポータルまたは PowerShell を使用して実行できます。 すべての関連するアクセス許可については、こちらをご覧ください。

BLOB バックアップを構成するための要求の準備

関連するすべてのアクセス許可が設定されたら、次のコマンドを実行して BLOB のバックアップを構成します。

  1. az dataprotection backup-instance initialize コマンドを使用して、関連するコンテナー、ポリシー、ストレージ アカウントを使用して、関連する要求を準備します。

    az dataprotection backup-instance initialize --datasource-type AzureBlob  -l southeastasia --policy-id "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/TestBkpVault/backupPolicies/BlobBackup-Policy" --datasource-id "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/CLITestSA" > backup_instance.json
    
  2. az dataprotection backup-instance create コマンドを使用して要求を送信します。

    az dataprotection backup-instance create -g testBkpVaultRG --vault-name TestBkpVault --backup-instance backup_instance.json
    

    次の JSON は、指定したポリシーとコンテナーの一覧を使用して、指定したストレージ アカウントの BLOB バックアップを構成します。

    {
    
      "backup_instance_name": "sample-backup-instance",
    
      "properties": {
    
        "data_source_info": {
    
          "datasource_type": "Microsoft.Storage/storageAccounts/blobServices",
    
          "object_type": "BlobBackupDatasourceParameters",
    
          "resource_id": "/subscriptions/XXXX/resourceGroups/BCDR-RG/providers/Microsoft.Storage/storageAccounts/dptestoct23",
    
          "resource_location": "eastus",
    
          "resource_name": "dptestoct23",
    
          "resource_type": "Microsoft.Storage/storageAccounts",
    
          "resource_uri": "/subscriptions/XXXX/resourceGroups/BCDR-RG/providers/Microsoft.Storage/storageAccounts/dptestoct23"
    
        },
    
        "data_source_set_info": null,
    
        "datasource_auth_credentials": null,
    
        "friendly_name": "dptest23",
    
        "object_type": "BackupInstance",
    
              "policyInfo": {
    
                "policyId": "/subscriptions/XXXX/resourceGroups/BCDR-RG/providers/Microsoft.DataProtection/backupVaults/DPBCDR-BV-EastUS/backupPolicies/blobbackup-1",
    
                "policyVersion": "",
    
                "policyParameters": {
    
                    "backupDatasourceParametersList": [
    
                        {
    
                            "objectType": "BlobBackupDatasourceParameters",
    
                            "containersList": [
    
                            "cont1",
    
                            "cont2"
    
                            ]
    
                        }
    
                    ]
    
                }
    
            }
    
      }
    
    }
    
    
    

重要

BLOB のバックアップ用にストレージ アカウントを構成すると、変更フィードや削除ロックなど、いくつかの機能が影響を受けます。 詳細情報。

次のステップ

Azure portal、Azure PowerShell、Azure CLI、REST API を使用して Azure Backup によって Azure BLOB を復元します。