Cloud SQL용 주문형 백업을 자동화하는 간단한 방법




Cloud SQL은 on-demandautomated의 두 가지 백업 유형을 제공합니다. 활성화된 자동 백업은 하루에 한 번 발생하고 더 짧은 간격으로 예약할 수 없지만 주문형 백업은 언제든지 생성할 수 있습니다. 이 문서에서는 가능한 가장 간단한 방법으로 X시간마다 생성되는 주문형 백업을 자동화하는 방법을 보여줍니다. 이를 위해 Cloud Scheduler 을 사용합니다.

I: Cloud SQL 백업 생성을 허용하는 커스텀 역할 생성



Cloud SQL 백업을 생성하려면 다음permission이 필요합니다.
  • cloudsql.backupRuns.create

  • 이 권한은 Cloud Scheduler에서 ID로 사용할 서비스 계정에 부여되어야 합니다.

    서비스 계정에 Cloud SQL Editor 또는 Cloud SQL Admin과 같은 사전 정의된 역할 중 하나를 부여할 수 있지만 최소 권한 원칙에 따라 대신 custom role을 생성하는 것이 좋습니다. 방법은 다음과 같습니다.
  • Cloud Console에서 IAM 및 관리자 -> 역할로 이동하고 '역할 만들기'를 클릭합니다.
  • 필수 필드를 채우고 cloudsql.backupRuns.create 권한을 추가합니다.

  • Cloud Console에서는 다음과 같이 표시됩니다.



    II: Cloud Scheduler 작업을 위한 서비스 계정 만들기



    Create 이전 단계의 역할을 부여하는 서비스 계정:



    III: Cloud Scheduler 작업 만들기



    1. 작업 및 빈도를 정의합니다. 6시간마다 실행되도록 구성했습니다.



    2. 대상 유형으로 HTTP를 선택하고 다음을 제공합니다URL.

    https://sqladmin.googleapis.com/sql/v1beta4/projects/{project}/instances/{instance}/backupRuns
    


    {project}를 프로젝트 ID로 바꾸고 {instance}를 Cloud SQL 인스턴스 ID로 바꾸세요. 선택한 HTTP 메서드가 POST인지 확인합니다.

    3. 인증 헤더에서 "OAuth 토큰 추가"옵션을 선택합니다.

    4. 2단계에서 만든 서비스 계정을 지정합니다.



    5. "만들기"를 클릭합니다.

    결론



    그게 다야! 이제 Cloud SQL 인스턴스에 X시간마다 백업이 생성되며(예: 6시간마다) 빈도를 쉽게 수정할 수 있습니다.

    그럼에도 불구하고 다음 사항을 염두에 두어야 합니다.

    On-demand backups are not automatically deleted the way automated backups are. They persist until you delete them or until their instance is deleted. Because they are not automatically deleted, on-demand backups can have a long-term effect on your billing charges if you do not delete them.



    참조: https://cloud.google.com/sql/docs/mysql/backup-recovery/backups#on-demand-backups

    그러나 백업을 저장하는 GCS 버킷에서 Object Lifecycle Management을 구성하여 이 문제를 해결할 수 있습니다.

    좋은 웹페이지 즐겨찾기