PostgreSQL용 AlloyDB 데이터베이스의 데이터를 보호하기 위해 여러 기능을 사용하여 데이터를 백업 및 복구하고 백업을 관리할 수 있습니다. 백업에서 클러스터로 데이터를 복원하려면 백업에서 클러스터 복원을 참조하세요.
AlloyDB는 데이터를 백업하고 복구할 수 있는 다음과 같은 방법을 제공합니다.
- 연속 백업 및 복구는 기본적으로 모든 클러스터에서 사용 설정되는 AlloyDB 기능이며, 소스 클러스터와 동일한 리전에 있는 다른 클러스터의 최신 상태 중 특정 시점을 기준으로 새 클러스터를 만들 수 있게 해주며, 소스 클러스터와 다른 Google Cloud 프로젝트에 속해 있어도 사용할 수 있습니다.
- 개별 백업은 클러스터 데이터베이스의 전체 복사본이 포함된 파일 기반 리소스입니다. AlloyDB는 사용자가 요청할 때 또는 정의한 정기 일정에 따라 이러한 백업을 만듭니다. 이러한 백업은 새 클러스터로 복원할 수 있습니다.
AlloyDB는 백업을 관리하기 위해 다음과 같은 백업 서비스를 제공합니다.
- 고급 백업: 백업 및 DR 서비스를 사용하는 중앙 집중식 백업 관리 프로젝트에서 백업을 관리하고 저장합니다. 이 서비스는 백업 및 DR 서비스 Backup Vault, 적용되는 보관 정책, 세분화된 일정 관리, 모니터링 기능을 제공합니다. 자세한 내용은 백업 및 DR 개요를 참조하세요.
- 표준 백업: AlloyDB가 백업을 생성, 관리, 저장합니다.
각 백업 옵션과 해당 기능에 대한 자세한 내용은 백업 옵션을 참조하세요.
백업 유형
AlloyDB는 AlloyDB 클러스터에 대해 주문형 또는 자동 백업을 수행하며, 연속 백업 및 복구를 사용할 수도 있습니다. 또한 클러스터를 삭제하기 전에 클러스터의 최종 수동 백업을 수행할 수도 있습니다.
연속 백업 및 복구
AlloyDB를 사용하면 기존 클러스터를 최근 기록의 어느 시점으로든 마이크로초 단위로 세부적으로 복원할 수 있습니다. 기본적으로는 AlloyDB에서 최대 14일 전까지 원하는 시점을 선택할 수 있습니다. 또한 이 복원 가능 기간을 최대 35일 또는 최소 1일로 조정하도록 클러스터를 구성할 수 있습니다.
연속 백업 및 복구는 대규모 데이터가 실수로 삭제된 후 클러스터를 복원해야 할 때나, 최근 과거의 특정 시점을 기준으로 클러스터 상태를 신속히 다시 만들어야 하는 상황에서 특히 유용합니다.
연속 백업 및 복구를 사용하면 AlloyDB에서 목표 복구 시간(RPO)을 0으로 유지할 수 있습니다. 즉, 치명적인 사고가 발생하기 직전의 상태로 클러스터를 복원할 수 있으며, 데이터가 영구적으로 손실되지 않습니다.
또한 연속 백업 및 복구를 사용하면 현재 시점 기준으로 정상적인 클러스터의 데이터를 모두 복사한 독립 클론을 만들 수도 있습니다.
주문형 또는 자동 백업
AlloyDB에서 백업은 특정 시점의 클러스터 데이터를 복사한 파일 기반 리소스입니다.
AlloyDB는 백업을 생성하는 다음 방식을 제공합니다.
- 연속 백업 및 복구 시스템의 일부로, 이 기능을 사용 중지하지 않는 한 AlloyDB는 매일 백업을 한 개 생성합니다. 연속 백업은 증분 백업이며, AlloyDB는 이전 백업과 비교해 변경된 데이터만 저장합니다. 이 방식은 백업 파일 크기를 가능한 한 작게 유지하여 백업 스토리지 비용을 줄이는 데 도움이 됩니다. 이러한 백업의 크기는 마지막 백업 이후 기록된 데이터 양 등 여러 요인에 따라 달라집니다. 또한 전체 연속 백업이 주기적으로 수행되며, 이때 백업 크기는 클러스터 크기와 비슷합니다.
- Google Cloud CLI, Google Cloud 콘솔 또는 백업 및 DR API(고급 백업을 사용하는 경우)를 사용해 언제든지 주문형 백업을 만들 수 있습니다. 주문형 백업은 전체 백업이며, 각 백업에는 백업 작업이 시작될 당시 클러스터 데이터베이스에 있던 모든 데이터가 포함됩니다.
- AlloyDB 자동 백업 일정을 사용 설정하면 설정한 환경설정에 따라 AlloyDB가 정기적으로 추가 백업을 만듭니다. 자동 백업은 연속 백업과 유사하게 증분 백업입니다. 자동 백업의 보관 기간을 35일보다 길게 설정한 경우, 필요한 기간을 충족하기 위해 여러 개의 증분 백업 체인을 저장할 수 있습니다.
클러스터 데이터베이스와 마찬가지로 AlloyDB는 기본 Google 관리 암호화 또는 고객 관리 암호화 키를 사용해 백업 데이터를 암호화합니다. 백업을 만들면 해당 내용은 변경 불가능한 상태가 되며, 즉 수정할 수 없습니다.
백업 옵션
AlloyDB는 클러스터 백업을 관리하기 위해 표준 백업과 고급 백업이라는 두 가지 백업 서비스 옵션을 제공합니다. 클러스터의 요구사항과 필요에 따라 표준 백업과 고급 백업 옵션 중에서 선택할 수 있습니다. 클러스터는 두 백업 옵션을 동시에 사용할 수 없지만 AlloyDB는 필요에 따라 백업 옵션을 전환할 수 있도록 지원합니다.
다음 표에서는 각 백업 옵션에서 사용할 수 있는 기능을 간략하게 설명합니다.
기능 |
표준 백업 등급 (AlloyDB에서 관리) |
고급 백업 등급 (백업 및 DR에서 관리) |
무단 삭제 및 변경으로부터 백업 보호 |
Backup Vault를 통한 변경 불가능한 백업 |
Backup Vault를 통해 변경 및 삭제 불가능한 백업 제공 |
자동 백업 빈도 |
일일 주기 + 연속 로그 보관(연속 백업 및 복구) 매시간/매일/매주 백업(자동 백업) |
매시간, 매일, 매주, 매월, 매년 |
소스 프로젝트 삭제로부터 백업 보호 |
– |
✅ |
중앙 집중식 백업 관리 |
– |
✅ |
소스 클러스터 삭제로부터 백업 보호 |
✅ |
✅ |
로그를 사용한 PITR(point-in-time recovery) |
✅ |
✅ |
리전 간 복원 |
✅ |
– |
주문형 백업 보관 |
최대 1년 동안 보관할 수 있습니다. |
최대 1년 동안 보관할 수 있으며, 보관 기간이 지나면 수동으로 삭제하거나 만료할 수 있습니다. |
표준 백업
AlloyDB의 표준 백업 기능은 모든 클러스터에서 기본적으로 제공되는 기본 제공 데이터 보호 기능입니다. 이 시스템은 연속 백업과 주문형 또는 자동 백업이라는 두 가지 주요 메커니즘을 통해 기본적인 보호 레이어를 제공합니다.
연속 백업 및 복구는 모든 클러스터에서 기본적으로 사용 설정됩니다. 이를 사용하면 PiTR(point-in-time recovery)을 통해 클러스터의 최근 기록 중 어느 시점으로든 마이크로초 단위로 새 클러스터를 복원할 수 있습니다. PiTR 기간은 기본적으로 14일이지만 1~35일 사이로 구성할 수 있습니다. 또한 AlloyDB는 이 시스템의 일부로 매일 증분 백업을 한 개 생성하며, 이 백업에는 마지막 백업 이후 변경된 데이터만 저장됩니다.
주문형 또는 자동 백업은 특정 시점의 클러스터 데이터를 전체 복사한 파일 기반 리소스입니다. 주문형 백업은 생성 시점의 모든 클러스터 데이터를 포함하는 전체 백업입니다. 자동 백업은 사용자가 정의한 일정에 따라 생성되는 증분 백업입니다. 백업이 생성되고 나면 해당 백업 데이터가 변경 불가능한 상태가 되어 수정이 불가능합니다. 백업은 기본적으로 클러스터와 동일한 리전에 저장되지만 주문형 백업에 대해서는 커스텀 리전 간 위치를 지정할 수 있습니다.
고급 백업
AlloyDB의 고급 백업 기능은 Google Cloud의 중앙 엔터프라이즈급 백업 서비스인 백업 및 DR 서비스와 통합됩니다. 고급 백업은 일부 세그먼트 및 엔터프라이즈 세그먼트, 규제가 많은 워크로드에 가장 적합하며, 미션 크리티컬 애플리케이션에 대한 랜섬웨어로부터의 보호 기능을 제공합니다. 고급 백업을 사용하면 표준 백업 기능에 더해 다음과 같은 기능을 사용할 수 있습니다.
- 변경 불가능한 스토리지: 백업은 백업 및 DR에서 관리하는 Backup Vault에 저장됩니다.
- 강제 보관: 정책을 통해 백업이 실수나 악의적으로 삭제되는 것을 방지합니다.
- 고급 스케줄링: 매우 세부적인 백업 주기 및 보관 규칙을 설정할 수 있습니다.
- 중앙 집중식 관리: AlloyDB, Cloud SQL, Compute Engine 등 여러Google Cloud 워크로드에 대한 일관된 모니터링과 보고 기능을 제공합니다.
백업 보관 및 삭제
연속 백업 및 복구를 사용 설정하기 위해 AlloyDB가 만드는 파일의 기본 보관 기간은 14일입니다. 이 기간은 1~35일 사이의 값으로 조정할 수 있으며, 연속 백업을 사용 중지하면 AlloyDB가 이러한 파일을 전혀 보관하지 않도록 설정할 수도 있습니다.
주문형 및 자동 백업은 최대 1년까지 보관할 수 있습니다. 클러스터에서 자동 백업을 사용 설정한 경우 보관 기간을 직접 설정하거나 기본 기간인 14일을 사용할 수 있습니다.
보관 기간이 지난 백업도 프로젝트의 백업 목록을 조회할 때 여전히 표시될 수 있습니다. 만료된 백업은 스토리지 비용이 발생하지 않지만 시스템에서 자동 삭제 대상이 됩니다. 시스템에서 삭제되기 전에 백업을 삭제해야 하는 경우 백업을 직접 삭제할 수 있습니다.
백업 삭제 보호
백업을 수동으로 삭제할 수는 있지만 AlloyDB는 활성 관리 중이거나 종속 항목이 있는 백업을 실수로 또는 의도치 않게 삭제하지 못하도록 강력한 보호 기능을 제공합니다.
다음과 같은 조건에서는 AlloyDB 백업을 삭제할 수 없습니다.
- 활성 백업 계획: 활성 연속 백업 또는 자동 백업 계획이 백업을 관리 중인 경우 해당 백업을 삭제할 수 없습니다. 이러한 백업을 삭제하려면 먼저 백업 계획을 사용 중지하거나 보관 기간을 줄여야 합니다.
- 종속 항목 체인: 특정 백업이 이후 백업의 복원 작업을 위해 필요한 경우에는 이를 삭제할 수 없습니다. 예를 들어 증분 백업 체인에서 이전 증분 백업을 삭제하려면 먼저 가장 최근의 증분 백업을 삭제해야 합니다.
- 고급 백업은 강제 보관 기간 동안 백업 및 DR Backup Vault에 보관됩니다. 이 규정 준수 기능은 실수 또는 악의적인 삭제를 방지합니다. 이 기간에는 누구도 해당 백업을 삭제할 수 없습니다.
이러한 보호 기능은 백업 이력의 무결성을 보장하고, 클러스터를 어떤 유효한 시점으로든 복원할 수 있도록 합니다.
백업 생성 요구사항
AlloyDB는 클러스터가 준비됨 상태인지 확인하여 새 백업 생성을 준비하고, 백업을 만들기 위한 장기 실행 작업을 시작합니다.
효율적이고 독립적인 백업
AlloyDB 데이터에서 생성한 백업은 전체가 AlloyDB 스토리지 레이어에서 관리됩니다. 즉, 백업 및 복원 작업은 클러스터의 데이터를 저장하고 쿼리하는 리소스와 분리된 리소스에서 수행되기 때문에, AlloyDB 클러스터의 읽기 및 쓰기 성능에 영향을 주지 않습니다.
스토리지 리소스가 분리되어 있다는 것은 백업이 원본 클러스터와 독립적으로 존재함을 의미하기도 합니다. 원본 클러스터가 삭제된 경우에도 해당 백업에서 복원할 수 있습니다.
AlloyDB 스토리지 레이어가 백업의 독립성을 어떻게 지원하는지에 대한 자세한 내용은 PostgreSQL용 AlloyDB 내부 구조: 지능형, 데이터베이스 인지형 스토리지를 참조하세요.
주문형 백업 위치
주문형 백업의 경우 AlloyDB 백업 위치는 다음을 포함합니다.
기본 백업 위치
스토리지 위치를 지정하지 않으면 백업이 AlloyDB 클러스터의 위치에 저장됩니다. 예를 들어 AlloyDB 인스턴스가 us-central1 (Iowa)에 있는 경우 백업은 기본적으로 us-central1 (Iowa) 위치에 저장됩니다.
리전 간 백업 위치
AlloyDB는 백업 데이터를 위한 커스텀 리전 간 위치를 선택할 수 있게 하여, 백업을 저장할 수 있는 리전 범위를 확장합니다. 이는 클러스터 리전이 사용 불가능해지는 경우에도 복원 기능을 유지하는 데 유용합니다.
백업의 교차 리전 위치를 선택할 때는 다음 사항을 고려하세요.
- 비용: 리전 간 가격이 다를 수 있습니다.
- 애플리케이션 서버와의 근접성: 백업을 서빙 애플리케이션과 가능한 한 가까운 리전에 저장해야 할 수도 있습니다.
참고: 백업 저장 위치를 변경하더라도 기존 백업은 원래 위치에 그대로 유지됩니다.
클러스터 복원
AlloyDB에서는 과거의 특정 시점에서 원본 클러스터의 모든 데이터를 포함하는 새 클러스터를 생성하여 클러스터를 복원할 수 있습니다. 이 시점을 지정하는 두 가지 방법은 AlloyDB가 지원하는 두 가지 일반적인 백업 유형에 해당합니다.
- 클러스터의 최근 상태를 기준으로 시점 복원을 수행하려면 새 클러스터를 만들 때 소스 클러스터와 타임스탬프를 모두 지정해야 합니다. 새 클러스터는 소스 클러스터와 동일한 리전에 있어야 하지만 다른Google Cloud 프로젝트에 만들 수 있습니다.
- 백업에서 클러스터를 복원하려면 새 클러스터를 만들 때 해당 백업을 지정하면 됩니다. 새 클러스터는 백업과 동일한 리전에 있어야 하지만 다른 Google Cloud 프로젝트에 만들 수 있습니다.
두 경우 모두 AlloyDB는 새 클러스터를 만든 다음 해당 클러스터의 스토리지에 백업된 데이터를 로드하기 위한 장기 실행 작업을 시작합니다. 이 작업이 완료되면 데이터에 액세스할 수 있도록 해당 클러스터에 기본 인스턴스를 만듭니다.
클러스터 복원은 동일한 리전에서 이루어지지만, 주문형 백업은 리전 간에 저장될 수 있습니다. 백업 및 복원은 서로 다른Google Cloud 프로젝트와 조직 간에서도 지원됩니다.
자세한 내용은 백업에서 복원을 참조하세요.
다음 단계
- 고급 백업 관리
- 클러스터 복원
- 주문형 백업을 수동으로 만들기
- 자동 백업 및 연속 백업을 포함한 백업 계획 구성