Share via


チュートリアル:Azure CLI を使用して Azure VM 内の SAP HANA データベースを管理する

Azure CLI は、コマンドラインやスクリプトで Azure リソースを作成および管理するために使用します。 このドキュメントでは、Azure VM でバックアップされた SAP HANA データベースを Azure CLI のみを使用して管理する方法について詳しく説明します。 これらの手順は、Azure portal を使用して実行することもできます。

CLI コマンドを実行するには、Azure Cloud Shell を使用します。

このチュートリアルを終了すると、次のことができるようになります。

  • バックアップ ジョブと復元ジョブを監視する
  • SAP HANA インスタンスに追加された新しいデータベースを保護する
  • ポリシーを変更する
  • 保護の停止
  • Resume protection

CLI を使用して Azure の SAP HANA データベースをバックアップする方法を使用して SAP HANA データベースをバックアップした場合は、次のリソースを使用しています。

  • saphanaResourceGroup という名前のリソース グループ
  • saphanaVault という名前のコンテナー
  • VMAppContainer;Compute;saphanaResourceGroup;saphanaVM という名前の保護されたコンテナー
  • saphanadatabase;hxe;hxe という名前のバックアップされたデータベースと項目
  • westus2 リージョン内のリソース

Azure CLI を使用すると、Azure Backup を使用してバックアップされた、Azure VM 上で実行されている SAP HANA データベースを簡単に管理できます。 このチュートリアルでは、各管理操作について詳しく説明します。

Note

サポートされている構成とシナリオの詳細については、「SAP HANA バックアップのサポート マトリックス」を参照してください。

バックアップ ジョブと復元ジョブを監視する

完了した、または現在実行中のジョブ (バックアップまたは復元) を監視するには、az backup job list コマンドレットを使用します。 CLI を使って、現在実行中のジョブを中断することや、ジョブが完了するまで待機することもできます。

az backup job list --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --output table

出力は次のようになります。

Name                                  Operation              Status      Item Name       Start Time UTC
------------------------------------  ---------------        ---------   ----------      -------------------  
e0f15dae-7cac-4475-a833-f52c50e5b6c3  ConfigureBackup        Completed   hxe             2019-12-03T03:09:210831+00:00  
ccdb4dce-8b15-47c5-8c46-b0985352238f  Backup (Full)          Completed   hxe [hxehost]   2019-12-01T10:30:58.867489+00:00
4980af91-1090-49a6-ab96-13bc905a5282  Backup (Differential)  Completed   hxe [hxehost]   2019-12-01T10:36:00.563909+00:00
F7c68818-039f-4a0f-8d73-e0747e68a813  Restore (Log)          Completed   hxe [hxehost]   2019-12-03T05:44:51.081607+00:00

ポリシーを変更する

SAP HANA バックアップ構成の基になるポリシーを変更するには、az backup policy set コマンドレットを使用します。 このコマンドレットの name パラメーターは、ポリシーを変更するバックアップ項目を示します。 このチュートリアルでは、SAP HANA データベースのポリシー saphanadatabase;hxe;hxe を新しいポリシー newsaphanaPolicy に置き換えます。 新しいポリシーを作成するには、az backup policy create コマンドレットを使用します。

az backup item set policy --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --policy-name newsaphanaPolicy \
    --name saphanadatabase;hxe;hxe \

出力は次のようになります。

Name                                  Resource Group
------------------------------------- --------------
cb110094-9b15-4c55-ad45-6899200eb8dd  SAPHANA

増分バックアップ ポリシーを作成する

増分バックアップ ポリシーを作成するには、次のパラメーターを指定して、az backup policy create コマンドを実行します。

  • --backup-management-type - Azure ワークロード
  • --workload-type - SAPHana
  • --name - ポリシーの名前
  • --policy - スケジュールと保有期間に関する適切な詳細を含む JSON ファイル
  • --resource-group - コンテナーのリソース グループ
  • --vault-name - コンテナーの名前

例:

az backup policy create --resource-group saphanaResourceGroup --vault-name saphanaVault --name sappolicy --backup-management-type AzureWorkload --policy sappolicy.json --workload-type SAPHana

サンプル JSON (sappolicy.json):

  "eTag": null,
  "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/saphanaResourceGroup/providers/Microsoft.RecoveryServices/vaults/saphanaVault/backupPolicies/sappolicy",
  "location": null,
  "name": "sappolicy",
  "properties": {
    "backupManagementType": "AzureWorkload",
    "makePolicyConsistent": null,
    "protectedItemsCount": 0,
    "settings": {
      "isCompression": false,
      "issqlcompression": false,
      "timeZone": "UTC"
    },
    "subProtectionPolicy": [
      {
        "policyType": "Full",
        "retentionPolicy": {
          "dailySchedule": null,
          "monthlySchedule": {
            "retentionDuration": {
              "count": 60,
              "durationType": "Months"
            },
            "retentionScheduleDaily": null,
            "retentionScheduleFormatType": "Weekly",
            "retentionScheduleWeekly": {
              "daysOfTheWeek": [
                "Sunday"
              ],
              "weeksOfTheMonth": [
                "First"
              ]
            },
            "retentionTimes": [
              "2021-01-19T00:30:00+00:00"
            ]
          },
          "retentionPolicyType": "LongTermRetentionPolicy",
          "weeklySchedule": {
            "daysOfTheWeek": [
              "Sunday"
            ],
            "retentionDuration": {
              "count": 104,
              "durationType": "Weeks"
            },
            "retentionTimes": [
              "2021-01-19T00:30:00+00:00"
            ]
          },
          "yearlySchedule": {
            "monthsOfYear": [
              "January"
            ],
            "retentionDuration": {
              "count": 10,
              "durationType": "Years"
            },
            "retentionScheduleDaily": null,
            "retentionScheduleFormatType": "Weekly",
            "retentionScheduleWeekly": {
              "daysOfTheWeek": [
                "Sunday"
              ],
              "weeksOfTheMonth": [
                "First"
              ]
            },
            "retentionTimes": [
              "2021-01-19T00:30:00+00:00"
            ]
          }
        },
        "schedulePolicy": {
          "schedulePolicyType": "SimpleSchedulePolicy",
          "scheduleRunDays": [
            "Sunday"
          ],
          "scheduleRunFrequency": "Weekly",
          "scheduleRunTimes": [
            "2021-01-19T00:30:00+00:00"
          ],
          "scheduleWeeklyFrequency": 0
        }
      },
      {
        "policyType": "Incremental",
        "retentionPolicy": {
          "retentionDuration": {
            "count": 30,
            "durationType": "Days"
          },
          "retentionPolicyType": "SimpleRetentionPolicy"
        },
        "schedulePolicy": {
          "schedulePolicyType": "SimpleSchedulePolicy",
          "scheduleRunDays": [
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday",
            "Saturday"
          ],
          "scheduleRunFrequency": "Weekly",
          "scheduleRunTimes": [
            "2017-03-07T02:00:00+00:00"
          ],
          "scheduleWeeklyFrequency": 0
        }
      },
      {
        "policyType": "Log",
        "retentionPolicy": {
          "retentionDuration": {
            "count": 15,
            "durationType": "Days"
          },
          "retentionPolicyType": "SimpleRetentionPolicy"
        },
        "schedulePolicy": {
          "scheduleFrequencyInMins": 120,
          "schedulePolicyType": "LogSchedulePolicy"
        }
      }
    ],
    "workLoadType": "SAPHanaDatabase"
  },
  "resourceGroup": "saphanaResourceGroup",
  "tags": null,
  "type": "Microsoft.RecoveryServices/vaults/backupPolicies"
} 

ポリシーが正常に作成されると、コマンドの実行中にパラメーターとして渡したポリシーの JSON が、その出力に表示されます。

ポリシーの次のセクションを変更して、増分バックアップに必要なバックアップの頻度と保有期間を指定できます。

次に例を示します。

{
  "policyType": "Incremental",
  "retentionPolicy": {
    "retentionDuration": {
      "count": 30,
      "durationType": "Days"
    },
    "retentionPolicyType": "SimpleRetentionPolicy"
  },
  "schedulePolicy": {
    "schedulePolicyType": "SimpleSchedulePolicy",
    "scheduleRunDays": [
      "Monday",
      "Tuesday",
      "Wednesday",
      "Thursday",
      "Friday",
      "Saturday"
    ],
    "scheduleRunFrequency": "Weekly",
    "scheduleRunTimes": [
      "2017-03-07T02:00:00+00:00"
    ],
    "scheduleWeeklyFrequency": 0
  }
}

例:

土曜日にのみ増分バックアップを作成し、それらを 60 日間保持する場合は、ポリシーに次の変更を加えます。

  • retentionDuration の count を 60 日に更新する
  • ScheduleRunDays として Saturday のみを指定する
 {
  "policyType": "Incremental",
  "retentionPolicy": {
    "retentionDuration": {
      "count": 60,
      "durationType": "Days"
    },
    "retentionPolicyType": "SimpleRetentionPolicy"
  },
  "schedulePolicy": {
    "schedulePolicyType": "SimpleSchedulePolicy",
    "scheduleRunDays": [
      "Saturday"
    ],
    "scheduleRunFrequency": "Weekly",
    "scheduleRunTimes": [
      "2017-03-07T02:00:00+00:00"
    ],
    "scheduleWeeklyFrequency": 0
  }
}

SAP HANA インスタンスに追加された新しいデータベースを保護する

Recovery Services コンテナーに SAP HANA インスタンスを登録すると、このインスタンス上のすべてのデータベースが自動的に検出されます。

ただし、新しいデータベースが SAP HANA インスタンスに後で追加された場合は、az backup protectable-item initialize コマンドレットを使用します。 このコマンドレットによって、追加された新しいデータベースが検出されます。

az backup protectable-item initialize --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --workload-type SAPHANA

次に、az backup protectable-item list コマンドレットを使用して、SAP HANA インスタンス上で検出されたすべてのデータベースを一覧表示します。 ただし、この一覧には、バックアップが既に構成されているデータベースは含まれません。 バックアップするデータベースが検出されたら、「SAP HANA データベースでバックアップを有効にする」を参照してください。

az backup protectable-item list --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --workload-type SAPHANA \
    --output table

次のように、バックアップする新しいデータベースがこの一覧に表示されます。

Name                            Protectable Item Type    ParentName    ServerName    IsProtected
---------------------------     ----------------------   ------------  -----------   ------------
saphanasystem;hxe               SAPHanaSystem            HXE           hxehost       NotProtected  
saphanadatabase;hxe;systemdb    SAPHanaDatabase          HXE           hxehost       NotProtected
saphanadatabase;hxe;newhxe      SAPHanaDatabase          HXE           hxehost       NotProtected

SAP HANA データベースの保護を停止する

SAP HANA データベースの保護は、次のいくつかの方法で停止できます。

  • 今後のバックアップ ジョブすべてを停止し、すべての復旧ポイントを削除する。
  • 今後のすべてのバックアップ ジョブを停止し、復旧ポイントはそのままにする。

復旧ポイントをそのままにする場合、以下の項目を念頭に置いてください。

  • 復旧ポイントはすべて永久に変更されず、削除はすべて保護の停止で停止し、データを保持します
  • 保護されたインスタンスと使用されたストレージに対して課金されます。
  • バックアップを停止しないでデータ ソースを削除すると、新しいバックアップは失敗します。

保護を停止する方法について個々に詳しく説明します。

データを保持して保護を停止

データを保持して保護を停止するには、az backup protection disable コマンドレットを使用します。

az backup protection disable --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --item-name saphanadatabase;hxe;hxe \
    --workload-type SAPHANA \
    --output table

出力は次のようになります。

Name                                  ResourceGroup
------------------------------------  ---------------  
g0f15dae-7cac-4475-d833-f52c50e5b6c3  saphanaResourceGroup

この操作の状態を確認するには、az backup job show コマンドレットを使用します。

データを保持せずに保護を停止する

データを保持せずに保護を停止するには、az backup protection disable コマンドレットを使用します。

az backup protection disable --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --item-name saphanadatabase;hxe;hxe \
    --workload-type SAPHANA \
    --delete-backup-data true \
    --output table

出力は次のようになります。

Name                                  ResourceGroup
------------------------------------  ---------------  
g0f15dae-7cac-4475-d833-f52c50e5b6c3  saphanaResourceGroup

この操作の状態を確認するには、az backup job show コマンドレットを使用します。

Resume protection

データを保持して SAP HANA データベースの保護を停止すると、後で保護を再開できます。 バックアップされたデータを保持しない場合は、保護を再開できなくなります。

保護を再開するには、az backup protection resume コマンドレットを使用します。

az backup protection resume --resource-group saphanaResourceGroup \
    --vault-name saphanaVault \
    --container-name VMAppContainer;Compute;saphanaResourceGroup;saphanaVM \
    --policy-name saphanaPolicy \
    --output table

出力は次のようになります。

Name                                  ResourceGroup
------------------------------------  ---------------  
b2a7f108-1020-4529-870f-6c4c43e2bb9e  saphanaResourceGroup

この操作の状態を確認するには、az backup job show コマンドレットを使用します。

次のステップ