이 빠른 시작에서는 Azure CLI를 사용하여 Azure Database for PostgreSQL - 유연한 서버를 보호하는 백업 정책을 만드는 방법을 설명합니다.
Azure Database for PostgreSQL - 유연한 서버에 대한 Azure Backup 정책은 백업을 만드는 방법과 시기, 복구 지점의 보존 기간 및 데이터 보호 및 복구 규칙을 정의합니다. Azure Backup을 사용하면 Azure Portal, PowerShell, CLI, Azure Resource Manager, Bicep, Terraform 등과 같은 여러 클라이언트를 사용하여 Azure PostgreSQL - 유연한 서버를 백업할 수 있습니다.
필수 조건
Azure Database for PostgreSQL - 유연한 서버에 대한 백업 정책을 만들기 전에 다음 필수 구성 요소가 충족되는지 확인합니다.
- Azure Database for PostgreSQL - 유연한 서버를 백업하기 위한 지원되는 시나리오 및 제한 사항을 검토합니다.
- 데이터베이스의 복구 지점 저장용 백업 금고를 만드세요.
백업 정책 만들기
백업 정책을 만들려면 다음 단계를 수행합니다.
- PostgreSQL 이해 - 유연한 서버 백업 정책
- 정책 템플릿 검색
- 정책 템플릿 수정
- 정책 만들기
PostgreSQL 이해 - 유연한 서버 백업 정책
디스크 백업은 하루에 여러 백업을 제공하며, Blob 백업은 트리거 없이 연속 백업입니다. 이제 PostgreSQL – 유연한 서버에 대한 백업 정책 개체를 이해해 보겠습니다.
- 정책 규칙
- BackupRule
- BackupParameter
- BackupType(이 시나리오의 전체 데이터베이스 백업)
- 초기 데이터 저장소(백업이 처음에 착륙해야 하는 위치)
- 트리거(백업이 트리거되는 방법)
- 일정 기반
- 기본 태그 지정 기준(예약된 모든 백업에 대한 기본 '태그'. 이 태그는 백업을 보관 규칙에 연결함)
- BackupParameter
- 기본 보존 규칙(초기 데이터 저장소에서 기본적으로 모든 백업에 적용되는 규칙)
- BackupRule
따라서 이 개체는 다음을 정의합니다.
- 트리거된 백업 유형
- 정책이 발동되는 방식(일정을 통해)
- Backup 정책에 구현된 태그
- 데이터가 저장되는 위치(데이터 저장소)
- 데이터 저장소에 있는 백업 데이터의 수명 주기
PostgreSQL의 기본 PowerShell 개체는 유연한 서버에 대해 매주 전체 백업을 트리거하며, 이는 보관소에 도달한 후 3개월 동안 저장됩니다.
정책 템플릿 검색
Azure PostgreSQL – 유연한 서버 데이터베이스 백업에 대한 Backup 정책의 내부 구성 요소를 이해하려면 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일마다 하나의 백업)이며 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"
}
중요합니다
백업 일정은 ISO 8601 기간 형식을 따릅니다. 그러나 백업이 무기한 실행되도록 구성되므로 반복 간격 접두 R 사는 지원되지 않습니다. 지정된 R 값은 무시됩니다.
정책 템플릿 수정
중요합니다
Azure PowerShell에서 개체를 스테이징 위치로 사용하여 모든 수정을 수행할 수 있습니다. Azure CLI에서는 개체 개념이 없으므로 파일을 사용해야 합니다. 각 편집 작업은 새 파일로 리디렉션되어야 합니다. 여기서 콘텐츠는 입력 파일에서 읽고 출력 파일로 리디렉션됩니다. 나중에 스크립트에서 사용하는 동안 필요에 따라 파일 이름을 바꿀 수 있습니다.
일정 수정
기본 정책 템플릿은 일주일에 한 번 백업을 제공합니다. 백업이 일주일에 여러 번 발생하도록 일정을 수정할 수 있습니다. 일정을 수정하려면 명령을 사용합니다 az dataprotection backup-policy trigger set .
다음 예제에서는 백업이 매주 일요일, 수요일 및 금요일에 수행되도록 매주 백업을 수정합니다. 일정 날짜 배열은 날짜를 언급하고 해당 날짜의 요일이 요일로 간주됩니다. 또한 이러한 일정이 매주 반복되도록 지정합니다. 따라서 일정 간격은 1이고 간격 유형은 매주입니다.
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 저장소에 보존해야 하는 새 보존 규칙을 만듭니다.
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
태그 및 관련 조건 추가
보존 규칙이 만들어지면 Backup 정책의 트리거 속성에 해당 태그를 만들어야 합니다. 명령을 az dataprotection backup-policy tag create-absolute-criteria 사용하여 새 태그 지정 조건을 만들고 명령을 사용하여 az dataprotection backup-policy tag set 기존 태그를 업데이트하거나 새 태그를 만듭니다.
다음 예제에서는 월의 첫 번째 백업 성공 조건과 함께 새 태그를 만듭니다. 태그는 적용할 해당 보존 규칙과 이름이 동일합니다.
이 예제에서는 태그 조건의 이름은 매월로 지정해야 합니다.
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 - 유연한 서버에 대한 백업을 구성합니다.