Cloud SQL 자동 백업 설정 점검

지원되는 백업 방식과 보관 정책을 구성하고 실제 복원 가능성을 검증하세요.

설명

Cloud SQL 인스턴스에 필요한 자동 백업이 없으면 실수나 장애로 손상된 데이터를 복구하기 어려울 수 있습니다. 복제본과 고가용성은 백업을 대신하지 않으며, 백업 기능을 켰다는 사실만으로 복구 목표가 충족되지는 않습니다.

인스턴스의 엔진과 선택한 백업 방식에 맞는 설정이 필요합니다. 읽기 복제본 자체에는 백업을 설정할 수 없으므로 원본 인스턴스의 보호를 확인하세요. 시점 복구의 로그 요구사항도 엔진에 따라 다릅니다.

잠재적 영향

  • 복구 가능한 백업이 없으면 데이터를 영구적으로 잃거나 서비스 중단이 길어질 수 있습니다.
  • 보관 기간이나 복원 절차가 요구사항과 맞지 않으면 필요한 시점의 데이터를 복원하지 못할 수 있습니다.

해결 방법

백업 대상 인스턴스에서 지원되는 자동 백업을 활성화하고 일정과 보관 기간을 복구 목표에 맞추세요. 표준 백업 예시에서는 settings.backup_configuration.enabled를 true로 설정합니다. 필요한 경우 엔진별 시점 복구를 구성하고 백업 성공 여부와 실제 복원 절차를 시험하세요.

예시

MySQL 인스턴스 생성 발췌입니다. 설치된 모듈과 서비스에서 지원하는 mysql_database_version과 cloud_sql_tier, 실제 프로젝트와 서비스 계정 JSON 파일을 제공하세요. 기존 인스턴스는 업데이트를 지원하지 않는 google.cloud 1.14.0 모듈 대신 지원되는 Cloud SQL 관리 경로로 백업 설정을 변경하세요.

변경 전

yaml
- name: create a second instance
  google.cloud.gcp_sql_instance:
    name: "{{ resource_name }}-2"
    database_version: "{{ mysql_database_version }}"
    settings:
      tier: "{{ cloud_sql_tier }}"
    region: us-central1
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

- name: create a forth instance
  google.cloud.gcp_sql_instance:
    name: "{{ resource_name }}-2"
    database_version: "{{ mysql_database_version }}"
    settings:
      backup_configuration:
        binary_log_enabled: no
        enabled: no
      tier: "{{ cloud_sql_tier }}"
    region: us-central1
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

첫 작업은 백업 설정을 생략하고, 두 번째는 자동 백업과 바이너리 로그를 끕니다. 생략된 설정만으로 실제 백업 상태를 알 수는 없습니다. 두 작업은 별도 구성 예시입니다.

변경 후

yaml
- name: create a instance
  google.cloud.gcp_sql_instance:
    name: "{{ resource_name }}-2"
    database_version: "{{ mysql_database_version }}"
    settings:
      backup_configuration:
        binary_log_enabled: yes
        enabled: yes
      tier: "{{ cloud_sql_tier }}"
    region: us-central1
    project: test_project
    auth_kind: serviceaccount
    service_account_file: /tmp/auth.pem
    state: present

자동 백업과 MySQL 바이너리 로그를 활성화합니다. 일정·보관 기간과 실제 복구 가능성을 확인하고 다른 엔진에 바이너리 로그 설정을 그대로 적용하지 마세요.

참조