Cloud SQL 백업 정보

이 페이지에서는 Cloud SQL 인스턴스의 백업 작동 방식과 선택할 수 있는 백업 옵션을 설명합니다. 백업에서 인스턴스로 데이터를 복원하는 방법에 대한 개요는 인스턴스 복원 개요를 참조하세요.

Cloud SQL을 사용하면 백업 일정을 사용하여 주문형으로 또는 자동으로 인스턴스를 백업할 수 있습니다. Cloud SQL 백업은 증분 백업이며 손실된 데이터를 Cloud SQL 인스턴스로 복원하는 데 도움이 됩니다. 백업을 사용하면 다음 작업을 수행할 수 있습니다.

  • 인스턴스에서 문제가 발생하면 인스턴스를 이전 상태로 복원합니다.
  • 다른 리전이나 영역의 백업을 사용하여 새 인스턴스를 만들어 재해 복구(DR)를 설정합니다.
  • 개발, 테스트, 마이그레이션 시 도움이 되도록 백업을 사용하여 인스턴스를 여러 개 만듭니다.

Cloud SQL 백업도 기본적으로 Google 관리 또는 고객 관리 암호화 키(CMEK)를 통해 암호화됩니다.

인스턴스의 백업 보관 설정을 정의하여 이러한 백업을 유지할 수 있습니다. 보관 설정은 인스턴스의 Cloud SQL 버전백업 옵션에 따라 다를 수 있습니다. 또한 인스턴스가 삭제된 후에도 백업을 보관하여 삭제 후 인스턴스를 복원할 수 있습니다.

Cloud SQL은 백업을 관리할 수 있는 두 가지 백업 서비스 옵션을 제공합니다.

  • 고급 백업: 백업은 백업 및 DR 서비스를 활용하는 중앙 집중식 백업 관리 프로젝트에서 관리 및 저장되며 적용된 보관, 세분화된 예약, 모니터링을 제공합니다.
  • 표준 백업: 백업이 Cloud SQL 인스턴스와 동일한 프로젝트에서 생성, 관리, 저장됩니다.

각 백업 옵션과 기능에 대한 자세한 내용은 백업 옵션을 참조하세요.

백업 유형

Cloud SQL은 Cloud SQL 인스턴스에 주문형 또는 자동 백업을 수행합니다.

주문형 백업

주문형 백업은 언제든지 만들 수 있는 백업입니다. 이는 데이터베이스에서 위험 부담이 있는 작업을 수행하거나 백업이 필요하지만 백업 기간까지 기다리고 싶지 않은 경우에 유용합니다. 인스턴스에 자동 백업이 사용 설정되어 있는지 여부와 관계없이 인스턴스의 주문형 백업을 만들 수 있습니다.

자동 백업

자동 백업은 시간, 일, 주 또는 월과 같은 예약된 주기로 실행됩니다. 예약된 주기는 인스턴스의 백업 옵션에 따라 다릅니다. 백업은 백업 기간 중에 시작됩니다. 가능하면 인스턴스의 활동이 적을 때 백업을 예약하는 것이 좋습니다.

자동 백업은 PITR(point-in-time recovery)을 지원하는 데 필요하므로 자동 백업을 수동으로 삭제하지 않는 것이 좋습니다.

백업 기간에는 인스턴스가 실행되면 백업 기간 중에 자동 백업은 예약된 주기에 따라 정기적으로 수행됩니다. 인스턴스가 중지되기 전에 모든 변경사항이 보호되도록 인스턴스가 중지되면 추가 자동 백업이 한 번 수행됩니다. 자동 백업 보관은 인스턴스에 선택한 백업 옵션에서 구성된 보관 정책에 따라 달라집니다.

인스턴스 삭제 전 최종 백업

최종 백업을 사용하면 인스턴스를 삭제하기 전에 Cloud SQL 인스턴스를 백업할 수 있습니다. 이는 인스턴스를 삭제한 후 인스턴스 데이터를 보존하는 데 유용합니다. 나중에 최종 백업을 사용하여 인스턴스를 만들거나 기존 인스턴스로 복원할 수 있습니다. 최종 백업에 대한 세부정보에 액세스하고 보는 방법에 대한 자세한 내용은 최종 백업 목록 보기를 참조하세요.

기본적으로 Cloud SQL은 최종 백업을 30일 동안 보관합니다. 하지만 Cloud SQL에서 백업을 보관하는 기간을 맞춤설정할 수 있습니다. 범위는 표준 백업의 경우 1일~365일, 고급 백업의 경우 1일~99년입니다. 그런 다음 사용 가능한 한 백업에서 인스턴스를 복원할 수 있습니다. 최종 백업에 대한 요금은 다른 백업과 마찬가지로 보관된 일수에 따라 청구됩니다.

인스턴스 삭제 후 백업 보관

보관된 백업은 인스턴스가 삭제된 후 Cloud SQL에서 보관하는 백업입니다. 이러한 백업은 주문형 백업과 인스턴스가 사용 중일 때 생성된 자동 백업으로 구성됩니다. 인스턴스를 삭제하면 이러한 백업은 인스턴스와 독립적으로 프로젝트 레벨에 저장됩니다. 보관된 백업은 인스턴스 삭제 시 마지막으로 수행한 백업인 최종 백업과 다릅니다.

사용자는 이러한 백업의 설명을 업데이트하여 Trusted Cloud by S3NS 프로젝트에서 더 쉽게 관리할 수 있습니다. 보관된 백업은 언제든지 새 Cloud SQL 인스턴스 또는 기존 Cloud SQL 인스턴스로 복원할 수 있습니다.

이러한 백업의 경우 보관 기간은 백업 유형에 따라 정의되며 인스턴스가 삭제된 후에는 변경될 수 없습니다. 표준 백업의 경우 백업이 수동으로 삭제되거나 백업이 포함된 프로젝트가 삭제될 때까지 주문형 백업이 무기한 유지됩니다. 고급 백업의 경우 선택한 보관 규칙에 따라 주문형 백업이 보관됩니다. 자동 백업은 인스턴스가 삭제된 후 하루에 백업 하나씩 순차적으로 삭제됩니다. 연속 기간은 삭제 전 인스턴스의 보관 설정에 따라 정의되며 범위는 인스턴스에서 선택한 백업 옵션에 따라 1일~99년입니다. 예를 들어 인스턴스의 자동 백업 보관 설정이 7로 설정된 경우 인스턴스가 삭제된지 7일 후에 최신 자동 백업이 삭제됩니다.

보관된 백업은 언제든지 수동으로 삭제할 수 있습니다. 그러나 보관된 백업을 삭제하면 삭제된 백업은 복구할 수 없습니다.

Cloud SQL에서 인스턴스를 삭제한 후에도 인스턴스 이름을 사용할 수 있으므로 보관된 백업은 Trusted Cloud 프로젝트에 instance_deletion_time 필드와 함께 저장됩니다. 이 필드를 사용하면 특정 백업이 라이브 인스턴스에 속하는지 삭제된 인스턴스에 속하는지 식별할 수 있습니다. 백업을 더 쉽게 관리할 수 있도록 백업 설명을 업데이트할 수도 있습니다.

트랜잭션 로그 보관

트랜잭션 로그 보관은 일 단위로 설정됩니다. Cloud SQL Enterprise Plus 버전 인스턴스의 경우 범위는 1~35일이며 기본값은 14일입니다. Cloud SQL Enterprise 버전 인스턴스의 경우 범위는 1~7일이며 기본값은 7일입니다. Cloud SQL Enterprise Plus 버전과 Cloud SQL Enterprise 버전 인스턴스 모두 트랜잭션 로그 보관 설정이 백업 보관 설정보다 작아야 합니다.

복제본 백업

복제본 인스턴스에 백업을 사용할 수 없습니다. 복제본 인스턴스는 기본 인스턴스의 복사본이므로 백업은 기본 인스턴스와 함께 유지됩니다. 장애 조치나 전환으로 인해 복제본 인스턴스가 독립형 인스턴스로 승격되면 인스턴스에 백업이 사용 설정되며 자체 백업 구성이 필요합니다. 승격된 복제본은 기본 인스턴스의 백업 구성을 상속하지 않으며 기본 인스턴스 백업에 액세스할 수 없습니다.

백업 옵션

Cloud SQL은 인스턴스 백업을 관리할 수 있는 두 가지 백업 서비스 옵션(표준 백업 및 고급 백업)을 제공합니다. 인스턴스 요구사항과 니즈에 따라 표준 백업 옵션 또는 고급 백업 옵션을 선택할 수 있습니다. 인스턴스에서 두 가지 백업 옵션을 동시에 사용할 수는 없지만 Cloud SQL에서는 필요에 따라 이러한 백업 옵션 간에 전환할 수 있습니다.

다음 표에서는 각 백업 옵션에서 사용할 수 있는 기능을 간략하게 설명합니다.

기능 표준 백업 고급 백업
Backup Vault -
보관 잠금이 적용된 보관 기간 -
프로젝트 삭제 시 백업 보관 -
여러 프로젝트의 중앙 집중식 백업 관리 -
백업 보관 기간 1년 무제한
자동 백업 일정 매일 시간, 일, 주, 월, 연 단위
로그를 사용한 PITR(point-in-time recovery)
리전 간 백업 및 복원 -
주문형 백업
멀티 리전 백업 -
인스턴스 삭제 시 모든 백업 보관
인스턴스 삭제 시 최종 백업
CMEK 지원 -

이러한 백업 옵션에 대한 자세한 내용은 표준 백업고급 백업을 참조하세요.

고급 백업

고급 백업을 사용하면 백업 및 DR을 사용하여 중앙 백업 프로젝트 하나에서 다양한 프로젝트의 모든 Cloud SQL 인스턴스 백업을 관리하고 저장할 수 있습니다. 백업 및 DR은 일상적인 백업 작업의 중앙 집중식 관리, 모니터링, 보고를 한곳에서 제공합니다. 백업은 Google에서 관리하는 안전하고 격리된 스토리지 리소스인 Backup Vault에 저장되며 백업 및 DR에서 관리됩니다. 백업 계획은 백업 및 복원 설정을 관리합니다. 이렇게 하면 소스 프로젝트와 독립적인 변경 및 삭제가 불가능한 백업이 제공됩니다. 백업 및 DR에서 백업이 작동하는 방식에 대한 자세한 내용은 백업 및 DR 개요를 참조하세요.

고급 백업은 백업 및 DR을 사용하여 중앙 집중식 백업 프로젝트를 만들며 이 백업 프로젝트는 Cloud SQL 인스턴스 전반에서 백업 계획Backup Vault를 관리합니다. 이러한 계획은 여러 프로젝트에 연결될 수 있습니다.

백업 계획을 Cloud SQL 인스턴스에 연결하면 백업 계획이 기존 백업 및 복원 설정을 덮어씁니다. 백업 및 복원 설정이 포함된 계획은 중앙 집중식 백업 프로젝트에 저장되고 계획이 Cloud SQL 인스턴스에서 활성화되었을 때 생성된 백업은 백업 프로젝트의 Backup Vault에 저장됩니다.

백업 및 DR은 별도의 Trusted Cloud by S3NS 프로젝트에서 관리되므로 소스 또는 워크로드 프로젝트가 삭제될 때 백업이 보호됩니다. 역할과 책임은 Backup and DR Admin에서 관리되며 Cloud SQL Admin 역할과 책임과는 별개입니다.

인스턴스를 삭제한 후 백업을 보관하거나 삭제하기 전에 인스턴스의 최종 백업을 수행할 수 있습니다. 고급 백업의 일부로 수행된 모든 백업은 인스턴스가 활성 상태일 때 또는 삭제된 후에 인스턴스를 복원하는 데 사용될 수 있습니다.

백업 보관

고급 백업을 사용하는 경우 최대 99년 동안 백업을 Backup Vault에 보관할 수 있습니다. Backup Vault의 최소 적용 보관 기간은 1일~99년 사이입니다.

백업 스토리지

백업은 Backup Vault라는 중앙 위치에 저장됩니다. Backup Vault는 백업 및 DR에서 관리하는 안전하고 격리된 스토리지입니다. Backup Vault를 사용하면 백업을 1일부터 99년까지 보관할 수 있습니다. 자세한 내용은 Backup Vault를 참조하세요.

백업 비용

고급 백업에서 백업 비용은 Backup Vault에 저장된 총 백업 크기를 기준으로 합니다. 이러한 백업은 인스턴스의 연결된 백업 계획에 있는 백업 구성을 기반으로 생성됩니다. 총 비용은 백업 및 DR에서 계산되며 백업 및 DR 가격 책정을 기반으로 합니다.

제한사항

고급 백업을 사용할 때는 다음 제한사항이 적용됩니다.

  • Backup Vault 및 Cloud SQL 인스턴스는 같은 리전에 있어야 합니다.
  • 인스턴스의 연결된 백업 계획을 변경하려면 기존 백업 계획 연결을 삭제한 후 새 백업 계획을 연결하여 인스턴스를 표준 백업으로 변경해야 합니다.
  • 고급 백업을 사용하여 인스턴스의 재해 복구(DR) 복제본은 만들 수 없습니다.
  • 인스턴스에 재해 복구(DR) 복제본이 있으면 인스턴스에 고급 백업을 사용 설정할 수 없습니다.
  • 복제본 인스턴스와 백업 계획을 연결할 수 없습니다.
  • 인스턴스에서 고급 백업을 사용하는 경우 인스턴스를 복제본으로 강등할 수 없습니다.

표준 백업

표준 백업은 Cloud SQL에서 Cloud SQL 인스턴스와 함께 관리하는 백업입니다. Cloud SQL 백업은 증분 백업이며 이전 백업이 수행된 후에 변경된 데이터만 포함됩니다. 기본적으로 Cloud SQL은 주문형 백업 외에도 각 Cloud SQL Enterprise 버전 인스턴스의 자동 백업 7개와 각 Cloud SQL Enterprise Plus 버전 인스턴스의 자동 백업 15개를 보관합니다. 보관할 자동 백업 수(1~365)를 구성할 수 있습니다.

인스턴스 삭제의 일부로 인스턴스 삭제 시 모든 백업을 보관하고 데이터 최종 백업을 수행할 수 있습니다. 이렇게 하면 삭제한 인스턴스를 다시 만들 수 있습니다. 하지만 인스턴스를 삭제하기 전에 백업을 보관하거나 최종 백업을 수행하지 않으면 Cloud SQL에서 모든 인스턴스 백업을 자동으로 삭제합니다.

백업 보관

주문형 백업은 자동 삭제되지 않으며 개발자가 직접 삭제하거나 인스턴스가 삭제되기 전까지 유지됩니다. 주문형 백업은 자동으로 삭제되지 않으므로 장기적으로 청구 금액에 영향을 미칠 수 있습니다.

인스턴스 백업 설정에서 보관 기간을 구성하여 자동 백업을 1~365일 동안 보관할 수 있습니다. 트랜잭션 로그는 일 단위로 계산되지만 자동 백업이 하루 안에 완료된다는 보장은 없습니다.

주문형 및 자동 백업의 인스턴스를 삭제한 후에 백업 보관을 사용 설정하면 해당 백업은 같은 보관 설정(자동 백업의 경우 1~365일, 주문형 백업의 경우 무기한)을 따릅니다. 자세한 내용은 인스턴스 삭제 후 백업 보관을 참조하세요.

로그는 매일 한 번씩 영구 삭제되며, 지속적으로 진행되지 않습니다. 로그 보관 일수가 백업 수와 동일한 경우 로그 보관이 부족할 수 있습니다. 예를 들어 로그 보관을 7일로 설정하고 백업 보관을 7개로 설정하면 6~7일 동안의 로그가 유지됩니다.

백업 수는 로그 보관 일수보다 최소 1일 이상으로 설정해야 로그 보관 기간을 지정된 최소 일수 이상으로 유지할 수 있습니다.

새 인스턴스 또는 기존 인스턴스에 보관처리된 백업을 사용 설정하는 방법에 관한 자세한 내용은 보관된 백업 관리를 참고하세요. 보관된 백업에서 인스턴스를 복원하는 방법에 관한 자세한 내용은 보관된 백업에서 복원을 참조하세요.

백업 스토리지

단일 리전 구성에서 백업은 리전 내의 여러 영역에 복제됩니다. 멀티 리전 구성에서는 지연 시간이 최소화되고 조직 정책이나 위치 기반 제한사항으로 인한 잠재적인 백업 실패가 방지되도록 백업이 인스턴스와 동일한 리전에 있는 것이 좋습니다.

백업은 고가용성(HA) 또는 비 HA 구성의 인스턴스에 대해 같은 위치에 저장됩니다. HA 구성에서는 장애 조치 또는 보조 인스턴스로 전환이 발생한 경우에도 인스턴스 백업에 액세스할 수 있습니다.

백업 위치를 다음과 같이 정의할 수 있습니다.

  • 원본 인스턴스의 위치에 따라 Cloud SQL에서 선택하는 기본 위치
  • 기본 위치를 사용하지 않을 때 선택하는 커스텀 위치
기본 백업 위치

스토리지 위치를 지정하지 않으면 백업은 Cloud SQL 인스턴스의 위치와 지리적으로 가장 가까운 멀티 리전에 저장됩니다. 예를 들어 Cloud SQL 인스턴스가 us-central1에 있는 경우 백업은 기본적으로 us 멀티 리전에 저장됩니다. 하지만 australia-southeast1과 같은 기본 위치는 멀티 리전 외부에 있습니다. 가장 가까운 멀티 리전은 asia입니다.

커스텀 백업 위치

Cloud SQL을 사용하면 백업 데이터의 커스텀 위치를 선택할 수 있습니다. 이 기능은 조직이 특정 지역적 경계 내에서 백업을 유지하는 데이터 상주 규정을 준수해야 하는 경우에 유용합니다. 조직에 이러한 유형의 요구사항이 있는 경우 리소스 위치 제한 조직 정책을 사용할 가능성이 높습니다. 이 정책을 통해 정책을 준수하지 않는 지리적 위치를 사용하려고 하면 백업 페이지에 알림이 표시됩니다. 이 알림이 표시되면 백업 위치를 정책에서 허용하는 위치로 변경해야 합니다.

커스텀 백업 위치를 선택할 때 다음 사항을 고려하세요.

  • 비용: 인스턴스의 클러스터 하나가 다른 클러스터보다 비용이 저렴한 리전에 있을 수 있습니다.
  • 애플리케이션 서버와의 근접성: 가능한 한 백업을 제공 애플리케이션과 가깝게 저장하려 할 수 있습니다.
  • 스토리지 사용률: 크기가 커지면 백업을 보관하기에 충분한 저장공간이 필요합니다. 워크로드에 따라 크기가 다르거나 디스크 사용량이 다른 클러스터가 있을 수 있습니다. 이러한 사항은 클러스터 선택에 반영됩니다.

유효한 리전 값의 전체 목록은 인스턴스 위치를 참조하세요. 멀티 리전 값의 전체 목록은 멀티 리전 위치를 참조하세요.

백업 위치 설정 및 인스턴스에 사용되는 백업 위치 확인에 대한 자세한 내용은 백업용 커스텀 위치 설정백업 위치 보기를 참조하세요.

백업 비율 제한

Cloud SQL은 데이터 디스크의 백업 작업 속도를 제한합니다. 프로젝트별로 인스턴스당 50분 간격으로 백업 작업이 최대 5개까지 허용됩니다. 백업 작업이 실패하면 이 할당량에 포함되지 않습니다. 이 한도에 도달하면 작업이 실패하고 재시도할 수 있는 시기를 알려주는 오류 메시지가 표시됩니다.

Cloud SQL에서 백업에 비율 제한을 수행하는 방법을 살펴보겠습니다.

Cloud SQL에서는 버킷의 토큰을 사용하여 한 번에 사용 가능한 백업 작업 수를 결정합니다. 각 인스턴스에는 버킷이 있습니다. 버킷에는 백업 작업에 사용할 수 있는 토큰이 최대 5개 있습니다. 10분마다 새 토큰이 버킷에 추가됩니다. 버킷이 가득 차면 토큰이 오버플로됩니다.

백업 작업을 실행할 때마다 버킷에서 토큰이 부여됩니다. 작업이 성공하면 토큰이 버킷에서 삭제됩니다. 실패하면 토큰은 버킷으로 반환됩니다. 다음 다이어그램에서는 작동 방식을 보여줍니다.

토큰 작동 방식

백업과 내보내기 비교

백업은 보관 정책에 따라 Cloud SQL에서 관리되며 Cloud SQL 인스턴스와 별도로 저장됩니다. Cloud SQL 백업은 수명주기를 관리하는 Cloud Storage에 업로드된 내보내기와 다릅니다. 백업은 인스턴스의 전체 디스크를 포괄합니다. 내보내기는 특정 콘텐츠를 선택할 수 있습니다.

백업 및 복원 작업은 데이터베이스를 이후 버전으로 업그레이드하는 데 사용될 수 없습니다. 백업에서 백업이 수행될 때와 동일한 데이터베이스 버전의 인스턴스로만 복원할 수 있습니다.

최신 버전으로 업그레이드하려면 Database Migration Service를 사용하거나 데이터베이스를 새 Cloud SQL 인스턴스로 내보낸 후 가져오는 것이 좋습니다.

백업 비용

기본적으로 Cloud SQL은 주문형 백업 외에도 각 Cloud SQL Enterprise 버전 인스턴스의 자동 백업 7개와 각 Cloud SQL Enterprise Plus 버전 인스턴스의 자동 백업 15개를 보관합니다. 1개에서 365개까지 보관할 자동 백업 수를 구성할 수 있습니다. 백업 스토리지 요금은 다른 유형의 인스턴스보다 요금이 낮습니다.

백업 관련 가격 책정에 대한 자세한 내용은 가격 책정 페이지를 참조하세요.

백업 크기

첫 번째 백업을 제외한 모든 Cloud SQL 백업은 증분 백업입니다. 이전 백업이 수행된 후에 변경된 데이터만 포함됩니다. 가장 오래된 백업은 데이터베이스 크기와 비슷하지만 후속 백업 크기는 데이터 변경 속도에 따라 다릅니다. 가장 오래된 백업이 삭제되면 두 번째로 오래된 백업의 크기가 증가하여 전체 백업이 되고 백업 간의 차이를 캡처하도록 조정됩니다. 이후의 각 증분 백업도 새 전체 백업과 일치하도록 업데이트됩니다.

개별 백업 크기를 확인할 수 있습니다. 백업 크기는 각 백업의 청구 가능한 크기를 나타냅니다.

문제 해결

문제 문제 해결
현재 작업의 상태를 볼 수 없습니다. Trusted Cloud 콘솔은 작업 완료 시에만 성공 또는 실패를 보고합니다. 경고 또는 기타 업데이트를 표시하도록 설계되지 않았습니다.

gcloud sql operations list 명령어를 실행하여 특정 Cloud SQL 인스턴스의 모든 작업을 나열합니다.

주문형 백업 작업을 실행한 사용자를 확인하려고 합니다. 사용자 인터페이스에 작업을 시작한 사용자가 표시되지 않습니다.

로그를 살펴보고 텍스트를 기준으로 필터링하여 사용자를 찾습니다. 개인 정보의 경우 감사 로그를 사용해야 할 수도 있습니다. 관련 로그 파일은 다음과 같습니다.

  • cloudsql.googleapis.com/postgres.log
  • Cloud 감사 로그가 사용 설정되어 있고 이를 보는 데 필요한 권한이 있는 경우 cloudaudit.googleapis.com/activity를 사용할 수도 있습니다.
인스턴스가 삭제된 후에는 인스턴스를 백업할 수 없습니다.

데이터의 최종 백업을 수행하지 않고 인스턴스를 삭제하면 데이터를 복구할 수 없습니다. 하지만 인스턴스를 복원하면 Cloud SQL에서 백업도 복원합니다. 삭제된 인스턴스를 복구하는 방법에 대한 자세한 내용은 복구 백업을 참조하세요.

내보내기 작업을 완료한 경우 새 인스턴스를 만든 다음 가져오기 작업을 수행하여 데이터베이스를 다시 만들 수 있습니다. 내보내기는 Cloud Storage에 쓰이고 여기에서 가져오기를 읽습니다.

자동 백업이 장시간 중단되고 취소할 수 없습니다. 데이터베이스 크기에 따라 백업에 오랜 시간이 걸릴 수 있습니다.

작업을 취소해야 하는 경우 고객지원에 인스턴스 force restart를 요청할 수 있습니다.

SQL 덤프 파일에 참조된 하나 이상의 사용자가 없으면 복원 작업이 실패할 수 있습니다. SQL 덤프를 복원하기 전에 객체를 소유하거나 덤프된 데이터베이스의 객체에 대한 권한이 부여된 모든 데이터베이스 사용자가 대상 데이터베이스에 있어야 합니다. 그렇지 않으면 복원 작업이 원래 소유권이나 권한으로 객체를 다시 만들지 못합니다.

SQL 덤프를 복원하기 전에 데이터베이스 사용자를 만듭니다.

자동 백업 보관 일수를 7일에서 30일 이상으로 늘리려고 합니다. 1개부터 365개까지 유지할 자동 백업 수를 구성할 수 있습니다. 자동 백업은 구성된 보관 값에 따라 정기적으로 프루닝됩니다. 따라서 복원할 수 있는 자동 백업은 현재 표시되는 백업뿐입니다.

백업을 무기한 보관하려면 자동 백업과 동일한 방식으로 삭제되지 않는 주문형 백업을 만들면 됩니다. 주문형 백업은 무기한 유지됩니다. 즉, 백업이나 백업이 속한 인스턴스가 삭제될 때까지 유지됩니다. 이러한 유형의 백업은 자동으로 삭제되지 않으므로 결제에 영향을 미칠 수 있습니다.

자동 백업에 실패했으며 이메일 알림을 받지 못했습니다. Cloud SQL에서 백업 상태를 알리도록 설정하려면 로그 기반 알림을 구성합니다.
인스턴스가 실패 및 백업 복원 상태 사이를 순환하며 반복적으로 실패합니다. 복원 후 데이터베이스에 대한 연결과 사용 시도가 실패합니다.
  • 개방형 연결이 너무 많을 수 있습니다. 끊어진 연결을 삭제하는 autovacuum 설정이 없는 상황에서 연결 중간에 발생하는 오류로 인해 너무 많은 연결이 생길 수 있습니다.
  • 커스텀 코드에서 몇 번 실패해도 중지되지 않는 재시도 로직을 사용하면 순환이 발생할 수 있습니다.
  • 트래픽이 너무 많을 수 있습니다. 연결 풀링과 기타 연결 권장사항을 따릅니다.

해결 방법:

  1. 데이터베이스가 autovacuum에 설정되었는지 확인합니다.
  2. 커스텀 코드에 설정된 연결 재시도 로직이 있는지 확인합니다.
  3. 데이터베이스가 복구될 때까지 트래픽을 줄였다가 천천히 다시 복구합니다.
백업/복원 작업을 수행할 때 데이터가 누락됐음을 발견합니다. 테이블이 로깅되지 않는 상태로 생성되었습니다. 예를 들면 다음과 같습니다.

CREATE UNLOGGED TABLE ....

이러한 테이블은 백업에서 복원에 포함되지 않습니다.

  • 로깅되지 않은 테이블의 콘텐츠는 HA 인스턴스의 장애 조치 시 유실됩니다.
  • 로깅되지 않은 테이블은 postgres 비정상 종료 시 유실됩니다.
  • 로깅되지 않은 테이블은 읽기 복제본에 복제되지 않습니다.
  • 로깅되지 않은 테이블은 백업 복원 중에 자동으로 완전 삭제됩니다.

해결 방법은 백업을 통해 이러한 테이블을 복원하고 싶다면 로깅되지 않은 테이블을 사용하지 않는 것입니다. 이미 로깅되지 않은 테이블이 있는 데이터베이스에서 복원하는 경우 데이터베이스를 파일로 덤프하고 해당 테이블에 대하여 SET LOGGEDALTER TABLE하여 덤프된 파일을 수정한 후 데이터를 다시 로드할 수 있습니다.

다음 단계