백업을 사용하여 인스턴스 복원

백업에서 인스턴스를 복원하고 특정 시점으로 복구하여 새 인스턴스 또는 기존 인스턴스에 복구할 수 있습니다. 라이브 인스턴스 또는 삭제된 인스턴스를 복원할 수 있습니다. 복원 작동 방식에 대한 자세한 내용은 복원 개요를 참고하세요.

백업을 사용하여 인스턴스를 복원하려면 다음을 수행해야 합니다.

  1. 복원하려는 백업 찾기
  2. 백업을 사용하여 인스턴스 복원

백업 위치는 인스턴스의 백업 옵션에 따라 다릅니다.

라이브 인스턴스 복원

다음과 같은 방법으로 백업을 복원할 수 있습니다.

동일한 인스턴스로 복원

데이터를 백업에서 동일한 인스턴스로 복원할 경우 해당 인스턴스의 데이터를 백업을 가져올 때의 상태로 되돌립니다.

백업을 사용하여 동일한 인스턴스로 인스턴스를 복원하려면 다음 단계를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 Cloud SQL 백업 페이지로 이동합니다.

    Cloud SQL 백업으로 이동

  2. 백업 페이지에서 인스턴스의 백업 옵션에 따라 표준 등급 또는 고급 등급을 클릭합니다.

  3. 인스턴스에서 표준 백업을 사용하는 경우 백업을 보려는 인스턴스를 선택합니다.

    인스턴스에서 고급 백업을 사용하는 경우 고급 등급을 선택한 후 사용할 백업이 포함된 Backup Vault를 선택합니다. 선택한 인스턴스의 Backup Vault에서 사용할 수 있는 모든 백업이 표시됩니다.

  4. 복원하려는 백업의 이름을 찾은 후 복원을 클릭합니다.

  5. 복원 대상 선택에서 소스 인스턴스 덮어쓰기를 선택합니다.

  6. 대상 인스턴스 ID 필드에 덮어쓸 인스턴스의 이름을 입력하여 선택을 확인합니다.

  7. 복원을 클릭합니다.

    Cloud SQL에서 백업을 동일한 인스턴스로 복원합니다. 복원 작업 상태를 확인하려면 인스턴스의 작업 페이지로 이동합니다.

    복원 작업이 완료되면 복제본을 만들 수 있습니다.

gcloud

  1. 복원하기 전에 인스턴스에서 모든 복제본을 삭제해야 합니다.

    gcloud sql instances describe 명령어를 사용하여 인스턴스에 읽기 복제본이 있는지 확인합니다.

    gcloud sql instances describe INSTANCE_NAME
    

    다음을 바꿉니다.

    • INSTANCE_NAME: 인스턴스 이름입니다.

    인스턴스에 복제본이 포함되어 있으면 gcloud sql instances delete 명령어를 사용하여 복제본을 삭제합니다.

    gcloud sql instances delete REPLICA_NAME
    

    다음을 바꿉니다.

    • REPLCICA_NAME: 복제본의 이름입니다.
  2. 사용할 백업을 찾습니다.

    인스턴스에서 표준 백업을 사용하는 경우 gcloud sql backups list 명령어를 사용하여 백업을 찾고 해당 백업의 ID 값을 기록합니다.

    gcloud sql backups list INSTANCE_NAME
    

    다음을 바꿉니다.

    • INSTANCE_NAME: 인스턴스 이름입니다.

    인스턴스에서 고급 백업을 사용하는 경우 Backup Vault의 모든 백업 나열을 참고하세요.

  3. 지정한 백업에서 인스턴스를 복원하려면 gcloud sql backups restore 명령어를 사용합니다.

    gcloud sql backups restore BACKUP_ID \
    --restore-instance=BACKUP_ID
    

    다음을 바꿉니다.

    • BACKUP_ID: 복원할 백업의 ID입니다.
    • INSTANCE_NAME: 인스턴스 이름입니다.
  4. 복원 작업이 완료되면 이 절차에서 삭제한 복제본을 다시 만듭니다.

REST v1

  1. 인스턴스에 읽기 복제본이 있는지 확인하고 해당 ID를 가져오려면 인스턴스의 모든 복제본을 나열합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID
    • INSTANCE_ID: 인스턴스 ID

    HTTP 메서드 및 URL:

    GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID?fields=replicaNames

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

  2. 인스턴스의 모든 복제본을 삭제합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID
    • REPLICA_ID: 복제본 ID

    HTTP 메서드 및 URL:

    DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/REPLICA_ID

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

  3. 사용하려는 백업의 ID를 가져옵니다.

    • 인스턴스에서 표준 백업을 사용하는 경우 다음을 실행합니다.

      요청 데이터를 사용하기 전에 다음을 바꿉니다.

      • project-id: 프로젝트 ID
      • instance-id: 인스턴스 ID

      HTTP 메서드 및 URL:

      GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/backupRuns

      요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

      다음과 비슷한 JSON 응답이 표시됩니다.

  4. 백업에서 인스턴스를 복원합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID
    • INSTANCE_ID: 인스턴스 ID
    • BACKUP_ID: 백업 ID

    HTTP 메서드 및 URL:

    POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/restoreBackup

    JSON 요청 본문:

    {
      "restoreBackupContext":
      {
        "backupRunId": "BACKUP_ID",
      }
    }
    

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

  5. 복원 작업이 완료되면 이 절차에서 삭제한 복제본을 다시 만듭니다.

REST v1beta4

  1. 인스턴스에 읽기 복제본이 있는지 확인하고 해당 ID를 가져오려면 인스턴스의 모든 복제본을 나열합니다.

    
    
    
    
    
    
    
    
    
    

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID
    • INSTANCE_ID: 인스턴스 ID

    HTTP 메서드 및 URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID?fields=replicaNames

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

  2. 인스턴스의 모든 복제본을 삭제합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID
    • REPLICA_ID: 복제본 ID

    HTTP 메서드 및 URL:

    DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/REPLICA_ID

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

  3. 사용하려는 백업의 ID를 가져옵니다.

    • 인스턴스에서 표준 백업을 사용하는 경우 다음을 실행합니다.

      요청 데이터를 사용하기 전에 다음을 바꿉니다.

      • project-id: 프로젝트 ID
      • instance-id: 인스턴스 ID

      HTTP 메서드 및 URL:

      GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns

      요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

      다음과 비슷한 JSON 응답이 표시됩니다.

  4. 백업에서 인스턴스를 복원합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID
    • INSTANCE_ID: 인스턴스 ID
    • BACKUP_RUN_ID: Cloud SQL이 백업에서 인스턴스를 복원한 날짜 및 시간 스탬프

    HTTP 메서드 및 URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/restoreBackup

    JSON 요청 본문:

    {
      "restoreBackupContext":
      {
        "backupRunId": "BACKUP_RUN_ID",
      }
    }
    

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

  5. 복원 작업이 완료되면 이 절차에서 삭제한 복제본을 다시 만듭니다.

새 인스턴스 또는 기존 인스턴스로 복원

백업에서 다른 인스턴스로 데이터를 복원할 경우, 대상 인스턴스의 데이터를 백업을 가져왔을 때 소스 인스턴스의 상태로 업데이트합니다.

프로젝트의 백업 목록이 필요하지만 서비스 중단으로 인해 인스턴스 개요 페이지에서 백업을 볼 수 없는 경우 와일드 카드 (-)와 함께 backupRuns.list API를 사용하면 됩니다. 와일드 카드 옵션은 프로젝트의 모든 인스턴스에서 모든 백업 목록을 검색합니다. 자세한 내용은 서비스 중단 시 백업 보기를 참고하세요.

인스턴스를 새 인스턴스 또는 기존 인스턴스로 복원하려면 다음 단계를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 Cloud SQL 백업 페이지로 이동합니다.

    Cloud SQL 백업으로 이동

  2. 백업 페이지에서 인스턴스의 백업 옵션에 따라 표준 등급 또는 고급 등급을 클릭합니다.

  3. 인스턴스에서 표준 백업을 사용하는 경우 백업을 볼 인스턴스를 선택합니다.

    인스턴스에서 고급 백업을 사용하는 경우 고급 등급을 선택한 후 사용할 백업이 포함된 Backup Vault를 선택합니다. 선택한 인스턴스의 Backup Vault에서 사용할 수 있는 모든 백업이 표시됩니다.

  4. 복원하려는 백업의 이름을 찾은 후 복원을 클릭합니다.

  5. 복원 대상 선택에서 다음을 실행합니다.

    • 인스턴스를 새 인스턴스로 복원하려면 새 인스턴스로 복원을 선택하고 다음을 업데이트합니다.

      • 리전에서 리전을 확인합니다. 리전은 새 인스턴스 리전과 일치해야 합니다.
      • 인스턴스 ID 상자에 새 인스턴스 이름을 지정합니다. 이 이름은 영구적이며 변경할 수 없습니다.
    • 기존 인스턴스로 인스턴스를 복원하려면 기존 인스턴스 덮어쓰기를 선택하고 다음 단계를 따르세요.

      • 덮어쓸 인스턴스 메뉴에서 복원에 사용할 인스턴스를 선택합니다. 선택한 인스턴스와 모든 데이터를 덮어씁니다.

      • 대상 인스턴스 ID 필드에 덮어쓸 인스턴스의 이름을 입력하여 선택을 확인합니다.

  6. 복원을 클릭합니다.

    선택에 따라 Cloud SQL에서 백업을 새 인스턴스 또는 기존 인스턴스로 복원합니다. 복원 작업 상태를 확인하려면 인스턴스의 작업 페이지로 이동합니다.

    복원 작업이 완료되면 복제본을 만들 수 있습니다.

gcloud

  1. 기존 인스턴스로 복원하는 경우 복원하기 전에 대상 인스턴스에서 모든 복제본을 삭제해야 합니다.

    gcloud sql instances describe 명령어를 사용하여 인스턴스에 읽기 복제본이 있는지 확인합니다.

    gcloud sql instances describe TARGET_INSTANCE_NAME
    

    다음을 바꿉니다.

    • TARGET_INSTANCE_NAME: 인스턴스 이름입니다.

    인스턴스에 복제본이 포함되어 있으면 gcloud sql instances delete 명령어를 사용하여 복제본을 삭제합니다.

    gcloud sql instances delete REPLCICA_NAME
    

    다음을 바꿉니다.

    • REPLCICA_NAME: 복제본의 이름입니다.
  2. 사용할 백업을 찾습니다.

    인스턴스에서 표준 백업을 사용하는 경우 gcloud sql backups list 명령어를 사용하여 백업을 찾고 해당 백업의 ID 값을 기록합니다.

    gcloud sql backups list INSTANCE_NAME
    

    다음을 바꿉니다.

    • INSTANCE_NAME: 인스턴스 이름입니다.

    인스턴스에서 고급 백업을 사용하는 경우 Backup Vault의 모든 백업 나열을 참고하세요.

  3. 지정한 백업에서 인스턴스를 복원하려면 gcloud sql backups restore 명령어를 사용합니다.

    gcloud sql backups restore BACKUP_ID \
    --restore-instance=TARGET_INSTANCE_NAME \
    --backup-instance=SOURCE_INSTANCE_NAME
    

    다음을 바꿉니다.

    • BACKUP_ID: 복원할 백업의 ID입니다.
    • TARGET_INSTANCE_NAME: 대상 새 인스턴스 또는 기존 인스턴스의 이름입니다.
    • SOURCE_INSTANCE_NAME: 소스 인스턴스의 이름입니다.
  4. 기존 인스턴스로 복원하는 경우 복원 작업이 완료된 후 이 절차에서 삭제한 복제본을 다시 만듭니다.

REST v1

  1. 기존 인스턴스를 사용하는 경우 복원하기 전에 모든 복제본을 삭제해야 합니다. 인스턴스에 읽기 복제본이 있는지 확인하고 해당 ID를 가져오려면 인스턴스의 모든 복제본을 나열합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID
    • INSTANCE_ID: 인스턴스 ID

    HTTP 메서드 및 URL:

    GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID?fields=replicaNames

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

  2. 인스턴스의 모든 복제본을 삭제합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID
    • REPLICA_ID: 복제본 ID

    HTTP 메서드 및 URL:

    DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/REPLICA_ID

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

  3. 사용하려는 백업의 ID를 가져옵니다.

    • 인스턴스에서 표준 백업을 사용하는 경우 다음을 실행합니다.

      요청 데이터를 사용하기 전에 다음을 바꿉니다.

      • project-id: 프로젝트 ID
      • instance-id: 인스턴스 ID

      HTTP 메서드 및 URL:

      GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/backupRuns

      요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

      다음과 비슷한 JSON 응답이 표시됩니다.

  4. 백업에서 인스턴스를 복원합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • project-id: 프로젝트 ID
    • target-instance-id: 대상 인스턴스 ID
    • source-instance-id: 소스 인스턴스 ID
    • backup-id: 백업 ID

    HTTP 메서드 및 URL:

    POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/target-instance-id/restoreBackup

    JSON 요청 본문:

    {
      "restoreBackupContext":
      {
        "backupRunId": backup-id,
        "instanceId": "source-instance-id"
      }
    }
    

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

  5. 복원 작업이 완료되면 이 절차에서 삭제한 복제본을 다시 만듭니다.

REST v1beta4

  1. 인스턴스에 읽기 복제본이 있는지 확인하고 해당 ID를 가져오려면 인스턴스의 모든 복제본을 나열합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID
    • INSTANCE_ID: 인스턴스 ID

    HTTP 메서드 및 URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID?fields=replicaNames

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

  2. 인스턴스의 모든 복제본을 삭제합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID
    • REPLICA_ID: 복제본 ID

    HTTP 메서드 및 URL:

    DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/REPLICA_ID

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

  3. 사용하려는 백업의 ID를 가져옵니다.

    • 인스턴스에서 표준 백업을 사용하는 경우 다음을 실행합니다.

      요청 데이터를 사용하기 전에 다음을 바꿉니다.

      • project-id: 프로젝트 ID
      • instance-id: 인스턴스 ID

      HTTP 메서드 및 URL:

      GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns

      요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

      다음과 비슷한 JSON 응답이 표시됩니다.

  4. 백업에서 인스턴스를 복원합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • project-id: 프로젝트 ID
    • target-instance-id: 대상 인스턴스 ID
    • source-instance-id: 소스 인스턴스 ID
    • backup-id: 백업 ID

    HTTP 메서드 및 URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/target-instance-id/restoreBackup

    JSON 요청 본문:

    {
      "restoreBackupContext":
      {
        "backupRunId": backup-id,
        "instanceId": "source-instance-id"
      }
    }
    

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

  5. 복원 작업이 완료되면 이 절차에서 삭제한 복제본을 다시 만듭니다.

다른 프로젝트의 인스턴스로 복원

project 매개변수를 사용하여 다른 프로젝트의 인스턴스로 데이터를 복원할 수 있습니다. 백업에서 다른 프로젝트의 인스턴스로 복원할 경우, 대상 인스턴스의 데이터를 백업을 가져왔을 때 소스 인스턴스의 상태로 업데이트합니다.

다른 프로젝트로 복원하는 사용자는 인스턴스를 복원하기 위해 다음 권한이 있어야 합니다. * 대상 프로젝트에 대한 cloudsql.instances.restoreBackup 권한 * 소스 프로젝트에 대한 cloudsql.backupRuns.get 권한

이러한 권한은 Cloud SQL Admin 역할에 포함되어 있습니다.

백업을 사용하여 다른 프로젝트 또는 리전의 인스턴스로 인스턴스를 복원하려면 다음 단계를 따르세요.

gcloud

Backup Vault의 백업을 기존 인스턴스로 복원하려면 다음을 수행합니다.

  1. 기존 인스턴스로 복원하는 경우 gcloud sql instances describe 명령어를 사용하여 대상 인스턴스에 읽기 복제본이 있는지 확인합니다.

    gcloud sql instance describe TARGET_INSTANCE_NAME
    

    다음을 바꿉니다.

    • TARGET_INSTANCE_NAME: 백업을 복원할 대상 인스턴스의 이름

    gcloud sql instances delete 명령어를 사용하여 대상 인스턴스의 모든 복제본을 삭제합니다.

    gcloud sql instance delete REPLICA_NAME
    

    다음을 바꿉니다.

    • REPLICA_NAME: 대상 인스턴스 복제본의 이름

    기존 인스턴스로 복원하려면 먼저 모든 복제본을 삭제해야 합니다.

  2. 사용할 백업을 찾습니다.

    인스턴스에서 표준 백업을 사용하는 경우 gcloud sql backups list 명령어를 사용하여 백업을 찾고 해당 백업의 ID 값을 기록합니다.

    gcloud sql backups list INSTANCE_NAME
    

    다음을 바꿉니다.

    • INSTANCE_NAME: 인스턴스 이름입니다.

    인스턴스에서 고급 백업을 사용하는 경우 Backup Vault의 모든 백업 나열을 참고하세요.

  3. 새 프로젝트의 새 인스턴스나 기존 인스턴스로 복원하려면 gcloud sql backups restore 명령어를 사용합니다.

    gcloud sql backups restore BACKUP_ID
    --restore-instance=TARGET_INSTANCE_NAME
    --backup-instance=SOURCE_INSTANCE_NAME
    --backup-project=SOURCE_INSTANCE_PROJECT
    

    다음을 바꿉니다.

    • BACKUP_ID: Backup Vault의 백업 ID. 이 필드에 백업의 전체 경로를 포함해야 합니다.

    • TARGET_INSTANCE_NAME: 데이터를 복원할 대상 프로젝트의 인스턴스

    • SOURCE_INSTANCE_NAME: 데이터가 있는 소스 프로젝트의 인스턴스 이름

    • SOURCE_INSTANCE_PROJECT: 소스 인스턴스가 포함된 프로젝트

REST v1

  1. backupId를 가져오려면 다음을 실행합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • project-id: 프로젝트 ID
    • instance-id: 인스턴스 ID

    HTTP 메서드 및 URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/backupRuns

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

  2. 백업을 다른 프로젝트의 인스턴스로 복원합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • source-project-id: 소스 프로젝트 ID
    • target-project-id: 대상 프로젝트 ID
    • target-instance-id: 대상 인스턴스 ID
    • source-instance-id: 소스 인스턴스 ID
    • backup-id: 백업 ID

    HTTP 메서드 및 URL:

    POST https://sqladmin.googleapis.com/v1/projects/target-project-id/instances/target-instance-id/restoreBackup

    JSON 요청 본문:

    {
      "restoreBackupContext":
      {
        "backupRunId": backup-id,
        "project": "source-project-id",
        "instanceId": "source-instance-id"
      }
    }
    

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

REST v1beta4

  1. backupId를 가져오려면 다음을 실행합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • project-id: 프로젝트 ID
    • instance-id: 인스턴스 ID

    HTTP 메서드 및 URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

  2. 백업을 다른 프로젝트의 인스턴스로 복원합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • source-project-id: 소스 프로젝트 ID
    • target-project-id: 대상 프로젝트 ID
    • target-instance-id: 대상 인스턴스 ID
    • source-instance-id: 소스 인스턴스 ID
    • backup-id: 백업 ID

    HTTP 메서드 및 URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id/instances/target-instance-id/restoreBackup

    JSON 요청 본문:

    {
      "restoreBackupContext":
      {
        "backupRunId": backup-id,
        "project": "source-project-id",
        "instanceId": "source-instance-id"
      }
    }
    

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

삭제된 인스턴스 복원

다음 시나리오에서는 최종 백업 또는 보관 백업을 사용하여 삭제된 인스턴스를 복원할 수 있습니다.

기존 인스턴스로 복원

데이터를 최종 또는 보관 백업에서 기존 인스턴스로 복원하는 경우 대상 인스턴스를 백업을 수행했을 때의 소스 인스턴스 상태로 업데이트합니다. 인스턴스 복원에 대한 자세한 내용은 복원 수행에 관한 일반적인 팁을 참고하세요.

백업을 사용하여 삭제된 인스턴스를 기존 인스턴스로 복원하려면 다음 단계를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.

    Cloud SQL 인스턴스로 이동

  2. 대상 인스턴스에 읽기 복제본이 있으면 추가 작업 메뉴 추가 작업 아이콘를 사용하여 해당 복제본을 삭제합니다. 보관된 백업 또는 최종 백업을 기존 인스턴스에 복원하려면 먼저 모든 복제본을 삭제해야 합니다.

  3. Google Cloud 콘솔에서 Cloud SQL 백업 페이지로 이동합니다.

    Cloud SQL 백업으로 이동

  4. 백업 페이지에서 인스턴스의 백업 옵션에 따라 표준 등급 또는 고급 등급을 클릭합니다.

  5. 인스턴스에서 표준 백업을 사용하는 경우 복원하려는 백업이 포함된 삭제된 인스턴스의 이름을 클릭합니다.

    인스턴스에서 고급 백업을 사용하는 경우 고급 등급을 선택한 후 사용할 백업이 포함된 Backup Vault를 선택합니다. 선택한 인스턴스의 Backup Vault에서 사용할 수 있는 모든 백업이 표시됩니다.

  6. 복원하려는 백업의 이름을 찾은 후 복원을 클릭합니다.

  7. 백업에서 인스턴스 복원 페이지의 백업 세부정보 검토에서 올바른 백업을 선택했는지 확인합니다.

  8. 복원 대상 선택 섹션에서 기존 인스턴스 덮어쓰기를 선택합니다.

  9. 덮어쓸 인스턴스 메뉴에서 백업을 복원할 인스턴스를 선택합니다. 선택한 인스턴스와 모든 데이터를 덮어씁니다.

  10. 선택을 확인하려면 대상 인스턴스 ID 필드에 덮어쓸 인스턴스의 이름을 입력합니다.

  11. 복원을 클릭합니다.

    Cloud SQL에서 백업을 기존 인스턴스로 복원합니다. 복원 작업 상태를 확인하려면 인스턴스의 작업 페이지로 이동합니다.

    복원 작업이 완료되면 복제본을 만들 수 있습니다.

gcloud

1.  When restoring to an existing instance, all replicas must be deleted
from your target instance prior to restoring.

Determine if your instance has any read replicas using the
[`gcloud sql instances describe`](/sdk/gcloud/reference/sql/instances/describe)
command:

```gcloud
gcloud sql instances describe TARGET_INSTANCE_NAME
```

Replace the following:

*   `TARGET_INSTANCE_NAME`: the name of the instance.

If your instance contains replicas, then delete the replicas
using the
[`gcloud sql instances delete`](/sdk/gcloud/reference/sql/instances/delete)
command:

```gcloud
gcloud sql instances delete REPLCICA_NAME
```

Replace the following:

*   `REPLCICA_NAME`: the name of the replica.
  1. 사용할 백업을 찾습니다.

    인스턴스에서 표준 백업을 사용하는 경우 gcloud sql backups list 명령어를 사용하여 백업을 찾고 해당 백업의 ID 값을 기록합니다.

    gcloud sql backups list INSTANCE_NAME
    

    다음을 바꿉니다.

    • INSTANCE_NAME: 인스턴스 이름입니다.

    인스턴스에서 고급 백업을 사용하는 경우 Backup Vault의 모든 백업 나열을 참고하세요.

  2. 지정한 백업에서 인스턴스를 복원하려면 gcloud sql backups restore 명령어를 사용합니다.

    gcloud sql backups restore BACKUP_ID \
    --restore-instance=TARGET_INSTANCE_NAME
    

    다음을 바꿉니다.

    • BACKUP_ID: 복원할 백업의 ID입니다.
    • TARGET_INSTANCE_NAME: 신규 또는 기존 타겟 인스턴스의 이름입니다.
  3. 복원 작업이 완료되면 이 절차에서 삭제한 복제본을 다시 만듭니다.

REST v1

  1. 기존 인스턴스로 복원할 때는 복원하기 전에 대상 인스턴스에서 모든 복제본을 삭제해야 합니다. 인스턴스에 읽기 복제본이 있는지 확인하려면 다음을 실행합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID
    • INSTANCE_ID: 인스턴스 ID

    HTTP 메서드 및 URL:

    GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID?fields=replicaNames

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

  2. 인스턴스의 모든 읽기 복제본을 삭제합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID
    • REPLICA_ID: 복제본 ID

    HTTP 메서드 및 URL:

    DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/REPLICA_ID

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

  3. 사용하려는 최종 또는 보관 백업의 ID를 가져옵니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID

    HTTP 메서드 및 URL:

    GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

  4. 보관된 백업 또는 최종 백업에서 대상 인스턴스를 복원합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID
    • TARGET_INSTANCE_ID: 대상 인스턴스 ID
    • BACKUP_ID: 백업 ID

    HTTP 메서드 및 URL:

    POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/TARGET_INSTANCE_ID/restoreBackup

    JSON 요청 본문:

    {
      backup: projects/PROJECT_ID/backups/BACKUP_ID
    }
    

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

REST v1beta4

  1. 기존 인스턴스로 복원할 때는 복원하기 전에 대상 인스턴스에서 모든 복제본을 삭제해야 합니다. 인스턴스에 읽기 복제본이 있는지 확인하려면 다음을 실행합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID
    • INSTANCE_ID: 인스턴스 ID

    HTTP 메서드 및 URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID?fields=replicaNames

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

  2. 인스턴스의 모든 읽기 복제본을 삭제합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID
    • REPLICA_ID: 복제본 ID

    HTTP 메서드 및 URL:

    DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/REPLICA_ID

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

  3. 사용하려는 최종 또는 보관 백업의 ID를 가져옵니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID

    HTTP 메서드 및 URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

  4. 보관된 백업 또는 최종 백업에서 대상 인스턴스를 복원합니다.

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID
    • TARGET_INSTANCE_ID: 대상 인스턴스 ID
    • BACKUP_ID: 백업 ID

    HTTP 메서드 및 URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/TARGET_INSTANCE_ID/restoreBackup

    JSON 요청 본문:

    {
      backup: projects/PROJECT_ID/backups/BACKUP_ID
    }
    

    요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

    다음과 비슷한 JSON 응답이 표시됩니다.

새 인스턴스로 복원

최종 또는 보관 백업에서 인스턴스를 만들면 Cloud SQL에서 백업이 수행된 인스턴스의 구성 설정을 사용합니다. 인스턴스가 생성되면 Cloud SQL은 백업이 수행된 상태로 데이터를 복원합니다.

최종 또는 보관 백업에서 새 인스턴스로 데이터를 복원하려면 다음 권한이 있어야 합니다.

  • 대상 프로젝트에 대한 cloudsql.instances.create 권한
  • 대상 프로젝트에 대한 cloudsql.instances.restoreBackup 권한
  • 소스 백업의 cloudsql.backupRuns.get permission

이러한 권한은 Cloud SQL 관리자 역할에 포함되어 있습니다.

백업을 사용하여 삭제된 인스턴스를 새 인스턴스로 복원하려면 다음 단계를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 Cloud SQL 백업 페이지로 이동합니다.

    Cloud SQL 백업으로 이동

  2. 백업 페이지에서 인스턴스의 백업 옵션에 따라 표준 등급 또는 고급 등급을 클릭합니다.

  3. 인스턴스에서 표준 백업을 사용하는 경우 복원하려는 백업이 포함된 삭제된 인스턴스의 이름을 클릭합니다.

    인스턴스에서 고급 백업을 사용하는 경우 고급 등급을 선택한 후 사용할 백업이 포함된 Backup Vault를 선택합니다. 선택한 인스턴스의 Backup Vault에서 사용할 수 있는 모든 백업이 표시됩니다.

  4. 복원하려는 백업의 이름을 찾아 복원을 클릭합니다.

  5. 백업에서 인스턴스 복원 페이지의 백업 세부정보 검토에서 올바른 백업을 선택했는지 확인합니다.

  6. 복원 대상 선택 섹션에서 새 인스턴스로 복원을 선택합니다.

  7. 리전 메뉴에서 새 인스턴스 리전을 선택합니다.

  8. 인스턴스 ID 필드에 새 인스턴스 ID를 입력합니다. 이 ID는 생성된 후에는 변경할 수 없습니다.

  9. 복원을 클릭합니다.

    Cloud SQL에서 백업을 기존 인스턴스로 복원합니다. 복원 작업 상태를 확인하려면 인스턴스의 작업 페이지로 이동합니다.

gcloud

  1. 사용할 백업을 찾습니다.

    인스턴스에서 표준 백업을 사용하는 경우 gcloud sql backups list 명령어를 사용하여 백업을 찾고 해당 백업의 ID 값을 기록합니다.

    gcloud sql backups list INSTANCE_NAME
    

    다음을 바꿉니다.

    • INSTANCE_NAME: 인스턴스 이름입니다.

    인스턴스에서 고급 백업을 사용하는 경우 Backup Vault의 모든 백업 나열을 참고하세요.

  2. 지정한 백업에서 인스턴스를 복원하려면 gcloud sql backups restore 명령어를 사용합니다.

    gcloud sql backups restore BACKUP_ID \
    --restore-instance=TARGET_INSTANCE_NAME
    

    다음을 바꿉니다.

    • BACKUP_ID: 복원할 백업의 ID입니다.
  3. TARGET_INSTANCE_NAME: 신규 또는 기존 타겟 인스턴스의 이름입니다.

REST v1

지정한 보관된 백업 또는 최종 백업에서 새 인스턴스 복원

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID
  • TARGET_INSTANCE_ID: 대상 인스턴스 ID
  • BACKUP_ID: 백업 ID

HTTP 메서드 및 URL:

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/TARGET_INSTANCE_ID/restoreBackup

JSON 요청 본문:

{
  backup: projects/PROJECT_ID/backups/BACKUP_ID
  restore_instance_settings: {}
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

REST v1beta4

지정한 보관된 백업 또는 최종 백업에서 새 인스턴스 복원

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID
  • TARGET_INSTANCE_ID: 대상 인스턴스 ID
  • BACKUP_ID: 백업 ID

HTTP 메서드 및 URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/TARGET_INSTANCE_ID/restoreBackup

JSON 요청 본문:

{
  backup: projects/PROJECT_ID/backups/BACKUP_ID
  restore_instance_settings: {}
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

다른 프로젝트의 새 인스턴스나 기존 인스턴스로 복원

project 매개변수를 사용하여 다른 프로젝트의 인스턴스로 데이터를 복원할 수 있습니다. 백업에서 삭제된 인스턴스를 다른 프로젝트의 인스턴스로 복원하면 대상 인스턴스가 백업을 가져왔을 때 소스 인스턴스의 상태로 업데이트됩니다.

다른 프로젝트로 복원하는 사용자는 인스턴스를 복원하기 위해 다음 권한이 있어야 합니다. * 대상 프로젝트에 대한 cloudsql.instances.create 권한 * 대상 프로젝트에 대한 cloudsql.instances.restoreBackup 권한 * 소스 백업에 대한 cloudsql.backupRuns.get permission 권한

이러한 권한은 Cloud SQL Admin 역할에 포함되어 있습니다.

백업을 사용하여 다른 프로젝트 또는 리전의 인스턴스로 인스턴스를 복원하려면 다음 단계를 따르세요.

gcloud

  1. 기존 인스턴스로 복원하는 경우 gcloud sql instances describe 명령어를 사용하여 대상 인스턴스에 읽기 복제본이 있는지 확인합니다.

    gcloud sql instance describe TARGET_INSTANCE_NAME
    

    다음을 바꿉니다.

    • TARGET_INSTANCE_NAME: 백업을 복원할 대상 인스턴스의 이름

    gcloud sql instances delete 명령어를 사용하여 대상 인스턴스의 모든 복제본을 삭제합니다.

    gcloud sql instance delete REPLICA_NAME
    

    다음을 바꿉니다.

    • REPLICA_NAME: 대상 인스턴스 복제본의 이름

    기존 인스턴스로 복원하려면 먼저 모든 복제본을 삭제해야 합니다.

    1. 사용할 백업을 찾습니다.

    인스턴스에서 표준 백업을 사용하는 경우 gcloud sql backups list 명령어를 사용하여 백업을 찾고 해당 백업의 ID 값을 기록합니다.

    gcloud sql backups list INSTANCE_NAME
    

    다음을 바꿉니다.

    • INSTANCE_NAME: 인스턴스 이름입니다.

    인스턴스에서 고급 백업을 사용하는 경우 Backup Vault의 모든 백업 나열을 참고하세요.

  2. 새 프로젝트의 새 인스턴스나 기존 인스턴스로 복원하려면 gcloud sql backups restore 명령어를 사용합니다.

    gcloud sql backups restore BACKUP_ID
    --restore-instance=TARGET_INSTANCE_NAME
    --backup-instance=SOURCE_INSTANCE_NAME
    --backup-project=SOURCE_INSTANCE_PROJECT
    

    다음을 바꿉니다.

    • BACKUP_ID: Backup Vault의 백업 ID. 이 필드에 백업의 전체 경로를 포함해야 합니다.

    • TARGET_INSTANCE_NAME: 데이터를 복원할 대상 프로젝트의 인스턴스

    • SOURCE_INSTANCE_NAME: 데이터가 있는 소스 프로젝트의 인스턴스 이름

    • SOURCE_INSTANCE_PROJECT: 소스 인스턴스가 포함된 프로젝트

REST v1

보관된 백업 또는 최종 백업의 backupID를 가져오려면 다음을 실행합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID

HTTP 메서드 및 URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

다른 프로젝트로 복원

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID
  • TARGET_INSTANCE_ID: 대상 인스턴스 ID
  • BACKUP_ID: 백업 ID

HTTP 메서드 및 URL:

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/TARGET_INSTANCE_ID/restoreBackup

JSON 요청 본문:

{
  backup: projects/PROJECT_ID/backups/BACKUP_ID
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

REST v1beta4

보관된 백업 또는 최종 백업의 backupID를 가져오려면 다음을 실행합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID

HTTP 메서드 및 URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

다른 프로젝트로 복원

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID
  • TARGET_INSTANCE_ID: 대상 인스턴스 ID
  • BACKUP_ID: 백업 ID

HTTP 메서드 및 URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/TARGET_INSTANCE_ID/restoreBackup

JSON 요청 본문:

{
  backup: projects/PROJECT_ID/backups/BACKUP_ID
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

다음 단계

* 데이터 백업 자세히 알아보기 * 데이터 백업 방법 알아보기