次の方法で共有


クイック スタート: Azure CLI を使用して Azure Database for PostgreSQL - フレキシブル サーバーのバックアップ ポリシーを作成する

このクイック スタートでは、Azure CLI を使用して Azure Database for PostgreSQL - フレキシブル サーバーを保護するバックアップ ポリシーを作成する方法について説明します。

Azure Database for PostgreSQL - フレキシブル サーバーの Azure Backup ポリシーでは、バックアップを作成する方法とタイミング、復旧ポイントの保有期間、データ保護と復旧の規則を定義します。 Azure Backup を使用すると、Azure portal、PowerShellCLI、Azure Resource ManagerBicepTerraform などの複数のクライアントを使用して、Azure PostgreSQL - フレキシブル サーバーをバックアップできます。

[前提条件]

Azure Database for PostgreSQL - フレキシブル サーバーのバックアップ ポリシーを作成する前に、次の前提条件が満たされていることを確認します。

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

新しいバックアップ ポリシーを作成するには、次の手順に従います。

  1. PostgreSQL - フレキシブル サーバー バックアップ ポリシーについて
  2. ポリシー テンプレートを取得する
  3. ポリシー テンプレートを変更する
  4. ポリシーの作成

PostgreSQL - フレキシブル サーバー バックアップ ポリシーについて

ディスク バックアップでは 1 日に複数のバックアップが提供され、BLOB バックアップはトリガーなしの継続的バックアップです。 次に、PostgreSQL - フレキシブル サーバーのバックアップ ポリシー オブジェクトについて説明します。

  • PolicyRule
    • BackupRule
      • BackupParameter
        • BackupType (このシナリオではデータベースの完全バックアップ)
        • 初期データストア (バックアップが最初に配置される場所)
        • トリガー (バックアップのトリガー方法)
          • スケジュール ベース
          • 既定のタグ付け条件 (スケジュールされたすべてのバックアップの既定の "タグ"。このタグにより、バックアップが保持ルールにリンクされます)
    • 既定の保持規則 (初期データストアにおいて、既定ですべてのバックアップに適用される規則)

そのため、このオブジェクトは次を定義します。

  • トリガーされるバックアップの種類
  • ポリシーのトリガー方法 (スケジュールを使用)
  • バックアップ ポリシーに実装されているタグ
  • データが格納されている場所 (データストア)
  • データストア内のバックアップ データのライフ サイクル

PostgreSQL - フレキシブル サーバーの既定の PowerShell オブジェクトは、毎週完全バックアップをトリガーし、コンテナーに到達し、 3 か月間保存されます

ポリシー テンプレートを取得する

Azure PostgreSQL - フレキシブル サーバー データベース バックアップのバックアップ ポリシーの内部コンポーネントを理解するには、 az dataprotection backup-policy get-default-policy-template コマンドを使用してポリシー テンプレートを取得します。 このコマンドにより、指定されたデータソースの種類の既定のポリシー テンプレートが返されます。 このポリシー テンプレートを使用して、新しいポリシーを作成します。

az dataprotection backup-policy get-default-policy-template --datasource-type AzureDatabaseForPostgreSQLFlexibleServer

{
  "datasourceTypes": [
    "Microsoft.DBforPostgreSQL/flexibleServers"
  ],
  "name": "OssFlexiblePolicy1",
  "objectType": "BackupPolicy",
  "policyRules": [
    {
      "backupParameters": {
        "backupType": "Full",
        "objectType": "AzureBackupParams"
      },
      "dataStore": {
        "dataStoreType": "VaultStore",
        "objectType": "DataStoreInfoBase"
      },
      "name": "BackupWeekly",
      "objectType": "AzureBackupRule",
      "trigger": {
        "objectType": "ScheduleBasedTriggerContext",
        "schedule": {
          "repeatingTimeIntervals": [
            "R/2021-08-15T06:30:00+00:00/P1W"
          ],
          "timeZone": "UTC"
        },
        "taggingCriteria": [
          {
            "isDefault": true,
            "tagInfo": {
              "id": "Default_",
              "tagName": "Default"
            },
            "taggingPriority": 99
          }
        ]
      }
    },
    {
      "isDefault": true,
      "lifecycles": [
        {
          "deleteAfter": {
            "duration": "P3M",
            "objectType": "AbsoluteDeleteOption"
          },
          "sourceDataStore": {
            "dataStoreType": "VaultStore",
            "objectType": "DataStoreInfoBase"
          },
          "targetDataStoreCopySettings": []
        }
      ],
      "name": "Default",
      "objectType": "AzureRetentionRule"
    }
  ]
}

ポリシー テンプレートは、トリガー (バックアップのトリガーを決定する) とライフサイクル (バックアップを削除、コピー、移動するタイミングを決定する) で構成されます。 Azure PostgreSQL - フレキシブル サーバー データベース バックアップでは、トリガーの既定値はスケジュールされた 週単位 のトリガー (7 日ごとに 1 回のバックアップ) であり、各バックアップは 3 か月間保持されます

スケジュールされたトリガー:

"trigger": {
        "objectType": "ScheduleBasedTriggerContext",
        "schedule": {
          "repeatingTimeIntervals": [
            "R/2021-08-15T06:30:00+00:00/P1W"
          ],
          "timeZone": "UTC"
        }

既定の保有規則ライフサイクル:


{
      "isDefault": true,
      "lifecycles": [
        {
          "deleteAfter": {
            "duration": "P3M",
            "objectType": "AbsoluteDeleteOption"
          },
          "sourceDataStore": {
            "dataStoreType": "VaultStore",
            "objectType": "DataStoreInfoBase"
          },
          "targetDataStoreCopySettings": []
        }
      ],
      "name": "Default",
      "objectType": "AzureRetentionRule"
    }

Von Bedeutung

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

ポリシー テンプレートを変更する

Von Bedeutung

Azure PowerShell では、オブジェクトをステージングの場所として使用して、すべての変更を実行できます。 Azure CLI では、オブジェクトの概念がないため、ファイルを使用する必要があります。 各 編集 操作は、新しいファイルにリダイレクトする必要があります。ここで、コンテンツは 入力 ファイルから読み取られ、 出力 ファイルにリダイレクトされます。 後でスクリプトで使用する際に、必要に応じてファイルの名前を変更できます。

スケジュールを変更する

既定のポリシー テンプレートでは、バックアップは週に 1 回行われます。 このスケジュールは、バックアップを週に複数日行うように変更することができます。 スケジュールを変更するには、 az dataprotection backup-policy trigger set コマンドを使用します。

次の例では、毎週日曜日、水曜日、および金曜日にバックアップが行われるように、週単位のバックアップを変更しています。 スケジュールの日付配列は日付を表し、その日付の曜日は曜日として扱われます。 また、これらのスケジュールを毎週繰り返す必要があることを指定します。 そのため、スケジュールの間隔は 1、間隔の種類は Weekly となっています。

az dataprotection backup-policy trigger create-schedule --interval-type Weekly --interval-count 1 --schedule-days 2021-08-15T22:00:00 2021-08-18T22:00:00 2021-08-20T22:00:00
[
  "R/2021-08-15T22:00:00+00:00/P1W",
  "R/2021-08-18T22:00:00+00:00/P1W",
  "R/2021-08-20T22:00:00+00:00/P1W"
]

az dataprotection backup-policy trigger set --policy .\OSSPolicy.json  --schedule R/2021-08-15T22:00:00+00:00/P1W R/2021-08-18T22:00:00+00:00/P1W R/2021-08-20T22:00:00+00:00/P1W > EditedOSSPolicy.json

新しい保持規則を追加する

既定のテンプレートには、既定の保持規則のもと、初期データストアのライフサイクルが設定されています。 このシナリオでは、 3 か月後にバックアップ データが削除されます。 az dataprotection backup-policy retention-rule create-lifecycle コマンドを使用して新しいライフサイクルを作成し、az dataprotection backup-policy retention-rule set コマンドを使用して、新しい規則または既存の規則に関連付けます。

次の例では、 Monthlyという名前の新しい保持ルールを作成します。ここで、毎月の最初の成功したバックアップをコンテナーに 6 か月間保持する必要があります。

az dataprotection backup-policy retention-rule create-lifecycle --retention-duration-count 6 --retention-duration-type Months --source-datastore VaultStore > VaultLifeCycle.JSON

az dataprotection backup-policy retention-rule set --lifecycles .\VaultLifeCycle.JSON --name Monthly --policy .\EditedOSSPolicy.json > AddedRetentionRulePolicy.JSON

タグと関連条件を追加する

保持ルールが作成されたら、バックアップ ポリシーの Trigger プロパティに対応するタグを作成する必要があります。 az dataprotection backup-policy tag create-absolute-criteria コマンドを使用して新しいタグ付け基準を作成し、az dataprotection backup-policy tag set コマンドを使用して既存のタグを更新するか、新しいタグを作成します。

次の例では、条件 (月の最初に成功したバックアップ) とともに新しい "タグ" を作成します。 タグの名前は、適用予定の対応する保有規則と同じです。

この例では、タグ条件の名前は Monthly である必要があります。

az dataprotection backup-policy tag create-absolute-criteria --absolute-criteria FirstOfMonth > tagCriteria.JSON
az dataprotection backup-policy tag set --criteria .\tagCriteria.JSON --name Monthly --policy .\AddedRetentionRulePolicy.JSON > AddedRetentionRuleAndTag.JSON

たとえば、スケジュールが週に複数のバックアップ (例で指定されているように毎週日曜日、水曜日、木曜日) であり、日曜日と金曜日のバックアップをアーカイブする場合は、 az dataprotection backup-policy tag create-generic-criteria コマンドを使用して、タグ付け基準を次のように変更できます。

az dataprotection backup-policy tag create-generic-criteria --days-of-week Sunday Friday > tagCriteria.JSON
az dataprotection backup-policy tag set --criteria .\tagCriteria.JSON --name Monthly --policy .\AddedRetentionRulePolicy.JSON > AddedRetentionRuleAndTag.JSON

ポリシーの作成

要件に従ってテンプレートが変更されたら、 az dataprotection backup-policy create コマンドを使用して、変更されたテンプレートを使用してポリシーを作成します。

az dataprotection backup-policy create --backup-policy-name FinalOSSPolicy --policy AddedRetentionRuleAndTag.JSON --resource-group testBkpVaultRG --vault-name TestBkpVault

次のステップ

Azure CLI を使用して Azure Database for PostgreSQL - フレキシブル サーバーのバックアップを構成します。