이 페이지에서는 AlloyDB를 Backup Vault에 백업하는 방법을 설명합니다. 백업을 Backup Vault로 전송하면 변경 불가능성과 적용된 보관이 제공됩니다.
Google Cloud 콘솔에서 백업 계획을 적용하여 PostgreSQL용 AlloyDB 클러스터를 Backup Vault에 백업할 수 있습니다. 다음 두 가지 방법 중 하나로 백업할 수 있습니다. 두 방법 모두 백업을 백업 보관소에 안전하게 저장할 수 있으므로 데이터 손실이나 기타 예기치 않은 이벤트가 발생할 경우 AlloyDB 클러스터를 안정적으로 복구할 수 있습니다.
- 예약 백업 매일, 매주, 매월, 매년과 같은 특정 간격으로 PostgreSQL용 AlloyDB 클러스터를 자동으로 백업할 수 있습니다.
- 주문형 백업 필요할 때 언제든지 주문형 백업을 만들 수 있습니다. 주문형 백업은 데이터베이스를 크게 변경하기 전에 백업을 만들거나 임시 데이터 보호에 유용합니다.
시작하기 전에
PostgreSQL용 AlloyDB 클러스터가 있는 위치에서 백업 및 DR API를 사용 설정합니다.
- Backup Vault 만들기
버킷에 모니터링 가능성 분석을 설정하여 백업 및 DR 백업 작업을 모니터링합니다.
백업 사용자의 IAM 역할 및 권한
예약된 백업을 구성하거나 주문형 백업을 실행하는 데 필요한 권한을 얻으려면 관리자에게 백업 보관함 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
- 백업 및 DR 백업 사용자 (
roles/backupdr.backupUser) - 뷰어 (
roles/viewer)
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이러한 사전 정의된 역할에는 예약된 백업을 구성하거나 주문형 백업을 실행하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
예약된 백업을 구성하거나 주문형 백업을 실행하려면 다음 권한이 필요합니다.
-
backupdr.backupPlans.list -
backupdr.backupPlanAssociations.createForAlloydbCluster -
backupdr.backupPlanAssociations.fetchForAlloydbCluster -
backupdr.backupPlanAssociations.list -
backupdr.backupPlanAssociations.getForAlloydbCluster -
backupdr.backupPlanAssociations.triggerBackupForAlloydbCluster -
backupdr.backupPlanAssociations.deleteForAlloydbCluster -
backupdr.backupPlans.useForAlloydbCluster -
backupdr.locations.list -
backupdr.operations.get -
cloudasset.assets.searchAllResources
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
다음 표에는 각 API 호출에 필요한 동적 권한이 나와 있습니다.
| 리소스 | 리소스에 수행할 작업 | 각 API 호출에 필요한 권한 | 할당해야 하는 프로젝트 |
|---|---|---|---|
| Backup Vault | BackupVault 생성 | backupdr.backupVaults.create | 관리 프로젝트 |
| BackupVault 삭제 | backupdr.backupVaults.delete | 관리 프로젝트 | |
| BackupVault 업데이트 | backupdr.backupVaults.update | 관리 프로젝트 | |
| BackupVault 나열 | backupdr.backupVaults.list | 관리 프로젝트 | |
| BackupVault 가져오기 | backupdr.backupVaults.get | 관리 프로젝트 | |
| 백업 계획 | Create BackupPlan | backupdr.backupPlans.create | 관리 프로젝트 |
| Delete BackupPlan | backupdr.backupPlans.delete | 관리 프로젝트 | |
| Get BackupPlan | backupdr.backupPlans.get | 관리 프로젝트 | |
| 백업 계획 나열 | backupdr.backupPlans.list | 관리 프로젝트 | |
| 백업 계획 연결 | 백업 계획 연결 만들기 | backupdr.backupPlanAssociations.createForAlloydbCluster | 워크로드 프로젝트 |
| 백업 계획 연결 삭제 | backupdr.backupPlanAssociations.deleteForAlloydbCluster | 워크로드 프로젝트 | |
| 백업 계획 연결에서 주문형 백업 트리거 | backupdr.backupPlanAssociations.triggerBackupForAlloydbCluster | 워크로드 프로젝트 | |
| 백업 계획 연결 가져오기 | backupdr.backupPlanAssociations.getForAlloydbCluster | 워크로드 프로젝트 | |
| 백업 계획 연결 목록 | backupdr.backupPlanAssociations.list | 워크로드 프로젝트 | |
| 백업 계획 연결 가져오기 | backupdr.backupPlanAssociations.fetchForAlloydbCluster | 워크로드 프로젝트 | |
| 데이터 소스 | 데이터 소스 가져오기 | backupdr.bvdataSources.get | 관리 프로젝트 |
| 데이터 소스 나열 | backupdr.bvdataSources.list | 관리 프로젝트 | |
| PITR 복원 | backupdr.bvdataSources.useReadOnlyForAlloydbCluster | 관리 프로젝트 | |
| 백업 | 백업 가져오기 | backupdr.bvbackups.get | 관리 프로젝트 |
| 백업 나열 | backupdr.bvbackups.list | 관리 프로젝트 | |
| 백업 삭제 | backupdr.bvbackups.delete | 관리 프로젝트 | |
| 백업 복원 | backupdr.bvbackups.useReadOnlyForAlloydbCluster | 관리 프로젝트 | |
| 데이터 소스 참조 | 데이터 소스 참조 가져오기 | backupdr.dataSourceReferences.getForAlloydbCluster | 워크로드 프로젝트 |
| DataSource 참조 가져오기 | backupdr.dataSourceReferences.fetchForAlloydbCluster | 워크로드 프로젝트 | |
| 작업 | 작업 나열 | backupdr.operations.list | 해당 프로젝트 |
| 가져오기 작업 | backupdr.operations.get | 해당 프로젝트 |
PostgreSQL용 AlloyDB 프로젝트에서 백업 보관소 액세스 권한 부여
Backup Vault가 생성된 위치와 다른 프로젝트에서 AlloyDB 클러스터를 백업하려면 AlloyDB 프로젝트 내의 Backup Vault 서비스 에이전트에 백업 및 DR AlloyDB 운영자(roles/backupdr.alloydbOperator) IAM 역할을 부여해야 합니다. 백업이 저장될 Backup Vault 프로젝트가 AlloyDB 프로젝트와 다른 경우 AlloyDB 프로젝트 내에서 Backup Vault 서비스 에이전트에 역할을 할당합니다.
Backup Vault가 생성된 동일한 프로젝트에서 AlloyDB 클러스터를 백업하는 경우 부여해야 하는 역할이 없습니다.
백업하려는 프로젝트 내에서 백업 보관소 서비스 에이전트에 역할을 부여하는 방법에 대한 자세한 내용은 서비스 에이전트에 역할 부여를 참고하세요.
예약 백업 구성
AlloyDB 클러스터의 예약 백업을 구성하려면 다음 안내를 따르세요.
콘솔
Google Cloud 콘솔에서 백업 및 DR 보관된 백업 페이지로 이동합니다.
백업 예약을 클릭합니다.
리소스 유형 목록에서 AlloyDB를 선택합니다.
프로젝트 목록에서 AlloyDB 클러스터가 있는 프로젝트를 선택합니다.
리전 목록에서 클러스터가 위치한 리전을 선택합니다.
리소스 목록에서 찾아보기를 클릭합니다. 백업할 AlloyDB 클러스터를 선택하고 완료를 클릭합니다.
계속을 클릭합니다.
백업 계획 목록에서 선택을 클릭합니다.
AlloyDB 클러스터를 보호할 백업 계획을 선택합니다.
완료를 클릭합니다.
백업 세부정보를 검토하고 예약을 클릭합니다.
gcloud
예약 백업을 구성합니다.
gcloud backup-dr backup-plan-associations create BACKUP_PLAN_ASSOCIATION_NAME \ --location=ALLOYDB_REGION \ --project=ALLOYDB_PROJECT_ID \ --resource=projects/ALLOYDB_PROJECT_ID/clusters/ALLOYDB_CLUSTER_ID \ --resource-type=alloydb.googleapis.com/Cluster \ --backup-plan=projects/PROJECT_ID/locations/LOCATION/backupPlans/BACKUP_PLAN ``` Replace the following:BACKUP_PLAN_ASSOCIATION_NAME: 백업 계획 연결 이름ALLOYDB_REGION: AlloyDB 클러스터가 있는 리전입니다.ALLOYDB_PROJECT_ID: AlloyDB 클러스터가 있는 프로젝트의 이름입니다.ALLOYDB_CLUSTER_ID: AlloyDB 클러스터 ID입니다.PROJECT_ID: 백업 계획이 있는 프로젝트의 이름입니다.LOCATION: 클러스터의 위치입니다.
백업이 예약된 클러스터 나열
백업이 예약된 AlloyDB 클러스터를 나열하려면 다음 안내를 따르세요.
콘솔
Google Cloud 콘솔에서 백업 및 DR 보관된 백업 페이지로 이동합니다.
표 상단에서 표 필터링 > 리소스 유형을 선택합니다. AlloyDB를 선택합니다. 이렇게 하면 프로젝트 내에서 백업 계획이 적용되고 Backup Vault에 백업이 저장된 AlloyDB 클러스터만 표시되도록 필터링됩니다.
gcloud
백업이 예약된 AlloyDB 클러스터를 나열합니다.
gcloud backup-dr backup-plan-associations fetch-for-resource-type alloydb.googleapis.com/Cluster \
--location=LOCATION \
--project=PROJECT_ID
다음을 바꿉니다.
- LOCATION: 예약된 백업의 위치입니다.
- PROJECT_ID: AlloyDB 클러스터가 있는 프로젝트의 이름입니다.
주문형 백업 만들기
선택한 백업 규칙을 즉시 실행하도록 트리거하여 백업 계획이 있는 AlloyDB 클러스터의 주문형 백업을 시작할 수 있습니다. 주문형 백업은 일반적으로 마지막 백업 이후 변경된 데이터만 캡처합니다 (증분).
주문형 백업을 만들 때 AlloyDB 클러스터와 연결된 백업 계획에서 규칙을 선택할 수 있습니다. 이 규칙은 주문형 백업이 삭제되는 시기를 결정합니다. 작업 페이지에서 백업 작업 상태를 확인할 수 있습니다. 자세한 내용은 Google Cloud 콘솔에서 백업 및 복원 작업 모니터링을 참고하세요.
다음 안내에 따라 주문형 백업을 만듭니다.
콘솔
Google Cloud 콘솔에서 백업 및 DR 보관된 백업 페이지로 이동합니다.
Vaulted backups 페이지에는 백업 계획이 적용되고 프로젝트 내의 Backup Vault에 백업이 저장된 데이터 리소스만 나열됩니다.
백업할 리소스를 선택합니다. 메뉴 또는 리소스의 세부정보 페이지에서 주문형 백업 만들기를 선택합니다.
다음 옵션 중 하나를 사용하여 백업이 삭제되는 시점을 지정합니다.
- 커스텀 보관 기간 기준 (미리보기): 백업 계획에 커스텀 주문형 보관 기간을 추가합니다. 기본적으로 백업 Vault의 최소 적용 보관 기간에 30일이 추가된 기간으로 설정됩니다.
- 기존 백업 규칙 기준: 다음 기간이 지나면 백업 삭제 드롭다운 메뉴에서 기존 규칙을 선택합니다.
만들기를 클릭하여 주문형 백업 생성을 시작합니다.
주문형 백업 작업의 상태를 확인하려면 알림을 클릭합니다.
gcloud
다음 옵션 중 하나를 사용하여 주문형 백업을 만듭니다.
백업 규칙 기반:
gcloud backup-dr backup-plan-associations trigger-backup BACKUP_PLAN_ASSOCIATION_NAME \ --backup-rule-id=RULE_ID \ --project=PROJECT_ID \ --location=LOCATION \ [--no-async]맞춤 보관 기준:
gcloud backup-dr backup-plan-associations trigger-backup BACKUP_PLAN_ASSOCIATION_NAME \ --custom-retention-days=CUSTOM_RETENTION \ --project=PROJECT_ID \ --location=LOCATION \ --labels=LABELS다음을 바꿉니다.
BACKUP_PLAN_ASSOCIATION_NAME: 백업 계획 연결의 이름입니다.
RULE_ID: 주문형 백업을 실행하는 데 연결할 백업 규칙 이름PROJECT_ID: 프로젝트의 이름입니다.LOCATION: 예약된 백업의 위치입니다.CUSTOM_RETENTION: 이 주문형 백업의 맞춤 보관 기간(일)입니다. 이 값은 백업 Vault 보관 기간 이상이어야 하며 백업 계획에 구성된 max-custom-on-demand-retention-days 값 이하이어야 합니다 (또는 max-custom-on-demand-retention-days가 구성되지 않은 경우 Vault 보관 기간 + 30일).LABELS: 백업의 선택적 라벨입니다.webserver=backend,media=images과 같이 쉼표로 구분된 키-값 쌍입니다.
AlloyDB 클러스터에 적용된 백업 계획 변경
AlloyDB 클러스터에 적용된 백업 계획을 다른 백업 계획으로 변경할 수 있습니다. 다른 백업 계획은 다음 기준을 충족해야 합니다.
- 동일한 Backup Vault 사용
- AlloyDB 클러스터와 동일한 리전에 있어야 합니다.
다음 안내에 따라 AlloyDB 클러스터와 연결된 백업 계획을 변경하세요.
콘솔
Google Cloud 콘솔에서 백업 및 DR 보관된 백업 페이지로 이동합니다.
Vaulted backups 페이지에는 백업 계획이 적용되고 프로젝트 내의 Backup Vault에 백업이 저장된 데이터 리소스만 나열됩니다.
다른 요금제를 적용할 백업을 선택합니다. 백업의 백업 세부정보 페이지 또는 메뉴에서 백업 계획 변경을 선택합니다. 백업 계획 선택 창에는 이 클러스터에 유효한 백업 계획만 나열됩니다.
백업 계획을 선택하고 적용을 클릭합니다.
gcloud
할당된 백업 계획을 변경합니다.
gcloud backup-dr backup-plan-associations update BACKUP_PLAN_ASSOCIATION_NAME \ --workload-project=ALLOYDB_PROJECT_ID \ --location=ALLOYDB_REGION \ --backup-plan=BACKUP_PLAN \ --project=PROJECT_ID다음을 바꿉니다.
BACKUP_PLAN_ASSOCIATION_NAME: 백업 계획 연결 리소스의 이름입니다.ALLOYDB_PROJECT_ID: AlloyDB 클러스터의 프로젝트 ID입니다.ALLOYDB_REGION: AlloyDB 클러스터의 위치입니다.BACKUP_PLAN: 전환할 백업 계획의 이름입니다.PROJECT_ID: 선택한 백업 계획의 프로젝트 ID입니다.
AlloyDB 클러스터 보호 해제
클러스터에 적용된 백업 계획을 삭제하여 AlloyDB 클러스터의 보호를 해제할 수 있습니다. AlloyDB 클러스터에서 백업 계획을 삭제해도 백업 계획이 사용되는 동안 생성된 백업은 삭제되지 않습니다. 기존 백업은 만료될 때까지 계속 액세스하고 관리할 수 있습니다.
AlloyDB 클러스터의 보호를 해제하려면 다음 안내를 따르세요.
콘솔
Google Cloud 콘솔에서 백업 및 DR 보관된 백업 페이지로 이동합니다.
백업 계획을 삭제할 데이터베이스의 이름을 클릭합니다.
백업 계획 삭제를 선택합니다.
gcloud
AlloyDB 클러스터의 보호를 해제합니다.
gcloud backup-dr backup-plan-associations delete BACKUP_PLAN_ASSOCIATION_NAME \
--project=PROJECT_ID \
--location=LOCATION
다음을 바꿉니다.
- BACKUP_PLAN_ASSOCIATION_NAME: 삭제하려는 백업 계획 연결의 이름
- PROJECT_ID: 프로젝트의 이름입니다.
- LOCATION: 예약 백업의 위치입니다.
AlloyDB 클러스터 백업 암호화
다른 워크로드와 달리 AlloyDB 클러스터 백업은 소스 클러스터 키가 아닌 Backup and DR 백업 볼트 키를 사용하여 백업을 암호화합니다. 고객 관리 암호화 키에 대한 자세한 내용은 고객 관리 암호화 키 (CMEK)를 참고하세요.
증분 백업 및 키 순환
백업은 증분 방식이므로 시간이 지남에 따라 키 버전이 순환된 경우 보관 파일 키의 여러 Cloud Key Management Service 키 버전으로 단일 백업을 암호화할 수 있습니다.
키 추적
Cloud Key Management Service 키 추적 페이지를 참조하여 특정 백업에 사용된 Cloud Key Management Service 키 버전을 모니터링하고 추적할 수 있습니다.