Udostępnij za pomocą


Szybki start: tworzenie zasad tworzenia kopii zapasowych dla usługi Azure Database for PostgreSQL — serwer elastyczny przy użyciu interfejsu wiersza polecenia platformy Azure

W tym szybkim starcie opisano, jak utworzyć politykę tworzenia kopii zapasowej w celu ochrony Azure Database for PostgreSQL - Serwer Elastyczny za pomocą Azure CLI.

Zasady usługi Azure Backup dla usługi Azure Database for PostgreSQL — serwer elastyczny definiuje sposób i czas tworzenia kopii zapasowych, okres przechowywania punktów odzyskiwania oraz reguły ochrony i odzyskiwania danych. Usługa Azure Backup umożliwia wykonywanie kopii zapasowej usługi Azure PostgreSQL — Serwer Elastyczny przy użyciu różnych klientów, takich jak portal Azure, PowerShell, CLI, Azure Resource Manager, Bicep, Terraform itd.

Wymagania wstępne

Przed utworzeniem zasad tworzenia kopii zapasowych dla usługi Azure Database for PostgreSQL — serwer elastyczny upewnij się, że zostały spełnione następujące wymagania wstępne:

Tworzenie zasad kopii zapasowych

Aby utworzyć zasady tworzenia kopii zapasowych, wykonaj następujące kroki:

  1. Informacje na temat bazy danych PostgreSQL — zasady tworzenia kopii zapasowych serwera elastycznego
  2. Pobieranie szablonu zasad
  3. Modyfikowanie szablonu zasad
  4. Tworzenie zasad

Informacje na temat bazy danych PostgreSQL — zasady tworzenia kopii zapasowych serwera elastycznego

Kopia zapasowa dysku umożliwia wykonywanie wielu kopii zapasowych dziennie, podczas gdy kopia zapasowa obiektów blob jest kopią zapasową w trybie ciągłym, bez potrzeby aktywacji. Teraz zapoznajmy się z obiektem zasad tworzenia kopii zapasowych dla bazy danych PostgreSQL — serwer elastyczny.

  • Reguła polityki
    • BackupRule
      • Parametr kopii zapasowej
        • BackupType (pełna kopia zapasowa bazy danych w tym scenariuszu)
        • Początkowy magazyn danych (gdzie początkowo powinny znajdować się kopie zapasowe)
        • Wyzwalacz (jak jest wyzwalana kopia zapasowa)
          • Na podstawie harmonogramu
          • Domyślne kryteria tagowania (domyślny "tag" dla wszystkich zaplanowanych kopii zapasowych. Ten tag łączy kopie zapasowe z regułą przechowywania)
    • Domyślna reguła przechowywania (reguła stosowana do wszystkich kopii zapasowych domyślnie w początkowym magazynie danych)

W związku z tym ten obiekt definiuje:

  • Wyzwalany typ kopii zapasowych
  • Sposób uruchamiania zasady (za pośrednictwem harmonogramu)
  • Tagi zaimplementowane w zasadach kopii zapasowych
  • Lokalizacja, w której są przechowywane dane (magazyn danych)
  • Cykl życia danych kopii zapasowej w magazynie danych

Domyślny obiekt programu PowerShell dla bazy danych PostgreSQL — serwer elastyczny wyzwala pełną kopię zapasową co tydzień i dociera do magazynu, w którym są przechowywane przez trzy miesiące.

Pobieranie szablonu zasad

Aby zrozumieć składniki wewnętrzne zasad kopii zapasowej dla bazy danych Azure PostgreSQL — Serwer Elastyczny, pobierz szablon zasad przy użyciu polecenia az dataprotection backup-policy get-default-policy-template. To polecenie zwraca domyślny szablon zasad dla danego typu źródła danych. Użyj tego szablonu zasad, aby utworzyć nowe zasady.

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"
    }
  ]
}

Szablon zasad składa się z wyzwalacza (określa wyzwalacz kopii zapasowej) i cyklu życia (decyduje, kiedy usunąć, skopiować, przenieść kopię zapasową). W usłudze Azure PostgreSQL — kopia zapasowa bazy danych serwera elastycznego wartość domyślna wyzwalacza to zaplanowany cotygodniowy wyzwalacz (co 7 dni) i przechowywanie każdej kopii zapasowej przez trzy miesiące.

Zaplanowany wyzwalacz:

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

Domyślny cykl życia reguły przechowywania:


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

Ważne

Harmonogram tworzenia kopii zapasowych jest zgodny z formatem czasu trwania ISO 8601. Jednak powtarzający się prefiks R interwału nie jest obsługiwany, ponieważ kopie zapasowe są skonfigurowane do uruchamiania na czas nieokreślony. Każda wartość określona za pomocą R polecenia zostanie zignorowana.

Modyfikowanie szablonu zasad

Ważne

W programie Azure PowerShell obiekty mogą być używane jako lokalizacje przejściowe do wykonywania wszystkich modyfikacji. W Azure CLI musimy używać plików, ponieważ nie istnieje tam koncepcja obiektów. Każda operacja edycji powinna zostać przekierowana do nowego pliku, w którym zawartość jest odczytywana z pliku wejściowego i przekierowywana do pliku wyjściowego . Później możesz zmienić nazwę pliku zgodnie z potrzebami podczas korzystania ze skryptu.

Modyfikowanie harmonogramu

Domyślny szablon zasad oferuje kopię zapasową raz w tygodniu. Możesz zmodyfikować harmonogram tworzenia kopii zapasowej w ciągu kilku dni w tygodniu. Aby zmodyfikować harmonogram, użyj az dataprotection backup-policy trigger set polecenia .

Poniższy przykład modyfikuje cotygodniową kopię zapasową, tak aby była wykonywana w każdą niedzielę, środę i piątek każdego tygodnia. Tablica dat harmonogramu zawiera daty, a dni tygodnia odpowiadające tym datom traktowane są jako dni tygodnia. Ponadto określ, że te harmonogramy powinny być powtarzane co tydzień. Dlatego interwał harmonogramu wynosi 1 , a typ interwału to Co tydzień.

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

Dodawanie nowej reguły przechowywania

Domyślny szablon ma cykl życia magazynu danych zgodnie z domyślną regułą przechowywania. W tym scenariuszu reguła usuwa dane kopii zapasowej po trzech miesiącach. Użyj polecenia az dataprotection backup-policy retention-rule create-lifecycle, aby utworzyć nowe cykle życia, i polecenia az dataprotection backup-policy retention-rule set, aby skojarzyć je z nowymi lub istniejącymi regułami.

Poniższy przykład tworzy nową regułę przechowywania o nazwie Monthly, w której pierwsza pomyślna kopia zapasowa każdego miesiąca powinna być przechowywana w magazynie przez sześć miesięcy.

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

Dodawanie tagu i odpowiednich kryteriów

Po utworzeniu reguły przechowywania należy utworzyć odpowiedni tag we właściwości Trigger zasad kopii zapasowej. Użyj polecenia , az dataprotection backup-policy tag create-absolute-criteria aby utworzyć nowe kryteria tagowania i użyć az dataprotection backup-policy tag set polecenia , aby zaktualizować istniejący tag lub utworzyć nowy tag.

Poniższy przykład tworzy nowy tag z kryteriami, które obejmują pierwszą pomyślną kopię zapasową miesiąca. Tag ma taką samą nazwę jak odpowiednia reguła przechowywania, która ma zostać zastosowana.

W tym przykładzie kryteria tagu powinny mieć nazwę Co miesiąc.

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

Jeśli na przykład harmonogram zawiera wiele kopii zapasowych tygodniowo (co niedziela, środa, czwartek, jak określono w przykładzie) i chcesz zarchiwizować kopie zapasowe w niedzielę i piątek, kryteria tagowania można zmienić w następujący sposób, używając az dataprotection backup-policy tag create-generic-criteria polecenia .

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

Tworzenie zasad

Po zmodyfikowaniu szablonu zgodnie z wymaganiami użyj az dataprotection backup-policy create polecenia , aby utworzyć zasady przy użyciu zmodyfikowanego szablonu.

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

Dalsze kroki

Konfigurowanie kopii zapasowej dla usługi Azure Database for PostgreSQL — serwer elastyczny przy użyciu interfejsu wiersza polecenia platformy Azure.