REST API を使用してディスク用の Azure データ保護バックアップ ポリシーを作成する

この記事では、REST API を使用してバックアップ ポリシーを作成する方法について説明します。

Azure ディスク バックアップは、スナップショットの定期的な作成を自動化し、バックアップ ポリシーを使用して構成された期間にわたってそのスナップショットを保持することで、マネージド ディスクのスナップショット ライフサイクル管理を提供する、ターンキー ソリューションを提供します。 インフラストラクチャ コストなしでディスク スナップショットを管理でき、カスタム スクリプトも管理費用も必要ありません。 これは、1 日に複数のバックアップをサポートする増分スナップショットを使用してマネージド ディスクの特定時点のバックアップを作成する、クラッシュ整合性バックアップ ソリューションです。 また、エージェントレスのソリューションでもあり、運用アプリケーションのパフォーマンスに影響しません。 実行中の Azure 仮想マシンに OS とデータ ディスク (共有ディスクを含む) が現在接続されているかどうかにかかわらず、この両方のバックアップと復元がサポートされます。

バックアップ ポリシーを使用すると、バックアップの保持期間とスケジュールを制御するのに役立ちます。 バックアップ ポリシーでは、1 日に複数のバックアップを作成できます。 バックアップ ポリシーを再利用して、コンテナーに複数の Azure ディスクのバックアップを構成したり、REST API を使用して Azure Recovery Services コンテナー用のバックアップ ポリシーを作成したりすることができます。

ディスク バックアップ用ポリシーを作成するには、次のようにします。

ポリシーの作成

Azure Backup ポリシーを作成するには、次の PUT 操作を使用します。

PUT https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataProtection/backupVaults/{vaultName}/backupPolicies/{policyName}?api-version=2021-01-01

{policyName}{vaultName} は URI で指定します。 その他の情報は要求本文で指定します。

重要

現在、既存のポリシーの更新または変更はサポートされていません。 代わりに、必要な詳細情報を使用して新しいポリシーを作成し、関連するバックアップ インスタンスに割り当てることができます。

要求本文を作成する

たとえば、ディスク バックアップ用のポリシーを作成するには、要求本文に次のコンポーネントが必要です。

名前 必須 Type 説明
properties True BaseBackupPolicy:BackupPolicy BaseBackupPolicyResource のプロパティ

要求本文での定義の完全な一覧については、バックアップ ポリシー REST API に関するドキュメントをご覧ください。

要求本文の例

次のようなポリシーです。

  • 4 時間ごとにスケジュールされたトリガー (PT4H)。 その場合、ほぼ 4 時間ごとにバックアップが作成されるので、バックアップが 1 日に均等に分散されます。
  • トリガーの間隔は、4、6、8、または 12 時間ごとから選択できます。 1 日に 1 回のバックアップをスケジュールするには、P1D を使用します。 バックアップは、1 日に 1 回規定の時刻にトリガーされます。
  • バックアップはローカルであり、バックアップ コンテナーにデータは格納されないため、データストアは "運用ストア" です。 運用ストアでは、各バックアップ インスタンスは 7 日間 (P7D) 保存されます。
{
"properties": {
    "datasourceTypes": [
        "Microsoft.Compute/disks"
      ],
      "name": "DiskPolicy",
      "objectType": "BackupPolicy",
      "policyRules": [
        {
          "backupParameters": {
            "backupType": "Incremental",
            "objectType": "AzureBackupParams"
          },
          "dataStore": {
            "dataStoreType": "OperationalStore",
            "objectType": "DataStoreInfoBase"
          },
          "name": "BackupHourly",
          "objectType": "AzureBackupRule",
          "trigger": {
            "objectType": "ScheduleBasedTriggerContext",
            "schedule": {
              "repeatingTimeIntervals": [
                "R/2020-04-05T13:00:00+00:00/PT4H"
              ]
            },
            "taggingCriteria": [
              {
                "isDefault": true,
                "tagInfo": {
                  "id": "Default_",
                  "tagName": "Default"
                },
                "taggingPriority": 99
              }
            ]
          }
        },
        {
          "isDefault": true,
          "lifecycles": [
            {
              "deleteAfter": {
                "duration": "P7D",
                "objectType": "AbsoluteDeleteOption"
              },
              "sourceDataStore": {
                "dataStoreType": "OperationalStore",
                "objectType": "DataStoreInfoBase"
              }
            }
          ],
          "name": "Default",
          "objectType": "AzureRetentionRule"
        }
      ]
    }
}

重要

日時形式は、DateTime のみがサポートされます。 Time のみはサポートされません。 時刻は、バックアップの完了時刻ではなく、バックアップの開始時刻を示します。

バックアップ操作を完了するために必要な時間は、ディスクのサイズや連続するバックアップ間のチャーン率など、さまざまな要因によって変わってきます。 ただし、Azure ディスク バックアップは増分スナップショットを使用するエージェントレス バックアップであり、実稼働アプリのパフォーマンスには影響しません。

ポリシー作成の詳細については、Azure ディスク バックアップ ポリシーに関するドキュメントを参照してください。

Responses

バックアップ ポリシーの作成と更新は同期操作であり、操作が正常に終了すると OK が返されます。

名前 Type 説明
200 OK BaseBackupPolicyResource OK

応答の例

操作が完了すると、応答本文にポリシーの内容が含まれる 200 (OK) が返されます。

{
    "id": "/subscriptions/73307177-bb00-4801-bd11-894b2f2d5162/resourceGroups/RG-BV/providers/Microsoft.DataProtection/backupVaults/BV-JPE-GRS/backupPolicies/DiskBackupPolicy-03",
    "name": "DiskBackupPolicy-03",
    "type": "Microsoft.DataProtection/backupVaults/backupPolicies",
    "properties": {
        "policyRules": [
            {
                "backupParameters": {
                    "backupType": "Incremental",
                    "objectType": "AzureBackupParams"
                },
                "trigger": {
                    "schedule": {
                        "repeatingTimeIntervals": [
                            "R/2021-07-01T19:00:00+00:00/P1D"
                        ],
                      },
                    "taggingCriteria": [
                        {
                            "tagInfo": {
                                "tagName": "Default",
                                "id": "Default_"
                            },
                            "taggingPriority": 99,
                            "isDefault": true
                        }
                    ],
                    "objectType": "ScheduleBasedTriggerContext"
                },
                "dataStore": {
                    "dataStoreType": "OperationalStore",
                    "objectType": "DataStoreInfoBase"
                },
                "name": "BackupDaily",
                "objectType": "AzureBackupRule"
            },
            {
                "lifecycles": [
                    {
                        "deleteAfter": {
                            "objectType": "AbsoluteDeleteOption",
                            "duration": "P7D"
                        },
                        "targetDataStoreCopySettings": [],
                        "sourceDataStore": {
                            "dataStoreType": "OperationalStore",
                            "objectType": "DataStoreInfoBase"
                        }
                    }
                ],
                "isDefault": true,
                "name": "Default",
                "objectType": "AzureRetentionRule"
            }
        ],
        "datasourceTypes": [
            "Microsoft.Compute/disks"
        ],
        "objectType": "BackupPolicy"
    }
}

次のステップ

Azure ディスクの保護を有効にする

Azure Backup REST API について詳しくは、次の記事をご覧ください。