인스턴스 복원

이 페이지에서는 백업에서 인스턴스를 복원하는 방법을 설명합니다.

복원 작업에 대한 정보, 권장사항, 요구사항은 인스턴스 복원 개요를 참조하세요.

주문형 또는 자동 백업에서 복원

다음 시나리오에 주문형 또는 자동 백업을 사용할 수 있습니다.

  • 동일한 프로젝트의 다른 인스턴스로 복원
  • 백업이 수행된 동일한 인스턴스로 복원
  • 다른 프로젝트 또는 리전의 다른 인스턴스로 복원

PITR (point-in-time recovery)이 사용 설정된 경우 인스턴스의 로그 보관 설정에 따라 인스턴스를 특정 시점으로 복구할 수 있습니다.

백업에서 인스턴스를 복원하려면 백업과 대상 인스턴스가 같은 시간대에 있어야 합니다.

다른 인스턴스로 복원

백업에서 다른 인스턴스로 데이터를 복원할 경우 대상 인스턴스의 데이터를 백업을 가져왔을 때 소스 인스턴스의 상태로 업데이트합니다. 자세한 내용은 복원 실행에 관한 일반적인 팁다른 인스턴스로 복원할 때의 팁 및 요구사항을 참조하세요.

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

콘솔

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

    Cloud SQL 인스턴스로 이동

  2. 대상 인스턴스에 읽기 복제본이 있는 경우 추가 작업 메뉴(추가 작업 아이콘)를 사용하여 해당 복제본을 삭제합니다.
  3. 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
  4. SQL 탐색 메뉴에서 백업을 선택합니다.
  5. 복원하려는 백업을 찾은 다음 복원을 클릭합니다.
  6. 백업에서 인스턴스 복원 페이지의 백업 세부정보 검토에서 올바른 백업을 선택했는지 확인합니다.
  7. 복원 대상 선택에서 기존 인스턴스 덮어쓰기를 선택합니다.
  8. 재정의할 인스턴스 메뉴에서 복원에 사용할 인스턴스를 선택합니다. 선택한 인스턴스와 모든 데이터를 덮어씁니다.
  9. 선택을 확인하려면 대상 인스턴스 ID 필드에 덮어쓸 인스턴스의 이름을 입력합니다.
  10. 복원 프로세스를 시작하려면 복원을 클릭합니다.
  11. 복원 작업 상태를 확인하려면 인스턴스의 작업 페이지로 이동하세요.
  12. 복원 작업이 완료되면 이 절차에서 삭제한 복제본을 다시 만듭니다.

gcloud

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

    replicaNames 열에 나열된 인스턴스를 확인합니다.

  2. 모든 복제본을 삭제하려면 gcloud sql instances delete 명령어를 사용합니다.
    gcloud sql instances delete REPLICA_NAME

    이 과정을 각 복제본에 반복합니다.

  3. 소스 인스턴스의 백업을 나열하려면 gcloud sql backups list 명령어를 사용합니다.
    gcloud sql backups list \
    --instance SOURCE_INSTANCE_NAME
  4. 사용하려는 백업을 찾아서 해당 백업의 ID 값을 기록합니다.
  5. 백업에서 대상 인스턴스를 복원하려면 gcloud sql backups restore 명령어를 사용합니다.
    gcloud sql backups restore BACKUP_ID \
    --restore-instance=TARGET_INSTANCE_NAME \
    --backup-instance=SOURCE_INSTANCE_NAME
  6. 복원 작업이 완료되면 이 절차에서 삭제한 복제본을 다시 만듭니다.

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 응답이 표시됩니다.

    -또는-

    인스턴스가 서비스 중단이 발생한 리전에 있는 경우 프로젝트의 모든 백업을 나열합니다.

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

    • PROJECT_ID: 프로젝트 ID
    • INSTANCE_ID: 인스턴스 ID 또는 프로젝트의 모든 백업 목록에 대한 -

    HTTP 메서드 및 URL:

    GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/-/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. 복원 작업이 완료되면 이 절차에서 삭제한 복제본을 다시 만듭니다.

동일한 인스턴스로 복원

백업에서 동일한 인스턴스로 데이터를 복원할 경우 해당 인스턴스의 데이터를 백업을 가져올 때의 상태로 되돌립니다. 인스턴스 복원에 대한 자세한 내용은 복원 수행에 관한 일반적인 팁을 참조하세요.

콘솔

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

    Cloud SQL 인스턴스로 이동

  2. 대상 인스턴스에 읽기 복제본이 있는 경우 추가 작업 메뉴(추가 작업 아이콘)를 사용하여 해당 복제본을 삭제합니다.
  3. 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
  4. SQL 탐색 메뉴에서 백업을 선택합니다.
  5. 사용할 백업을 찾은 다음 복원을 클릭합니다.
  6. 백업에서 인스턴스 복원 페이지의 백업 세부정보 검토에서 올바른 백업을 선택했는지 확인합니다.
  7. 복원 대상 선택에서 소스 인스턴스 덮어쓰기를 선택합니다.

    괄호 안에 소스 인스턴스 이름이 지정되었는지 확인합니다.

  8. 선택을 확인하려면 대상 인스턴스 ID 필드에 인스턴스 이름을 입력합니다.
  9. 복원 프로세스를 시작하려면 복원을 클릭합니다.
  10. 복원 작업 상태를 확인하려면 인스턴스의 작업 페이지로 이동하세요.
  11. 복원 작업이 완료되면 이 절차에서 삭제한 복제본을 다시 만듭니다.

gcloud

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

    replicaNames 열에 나열된 인스턴스를 확인합니다.

  2. 모든 복제본을 삭제하려면 gcloud sql instances delete 명령어를 사용합니다.
    gcloud sql instances delete REPLICA_NAME

    이 과정을 각 복제본에 반복합니다.

  3. 인스턴스의 백업을 나열하려면 gcloud sql backups list 명령어를 사용합니다.
    gcloud sql backups list --instance INSTANCE_NAME
  4. 사용하려는 백업을 찾아서 해당 백업의 ID 값을 기록합니다.
  5. 지정한 백업에서 인스턴스를 복원하려면 gcloud sql backups restore 명령어를 사용합니다.
    gcloud sql backups restore BACKUP_ID \
    --restore-instance=INSTANCE_NAME
  6. 복원 작업이 완료되면 이 절차에서 삭제한 복제본을 다시 만듭니다.

REST v1

  1. 사용하려는 백업의 ID를 확인하려면 인스턴스의 백업을 나열합니다.

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

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

    HTTP 메서드 및 URL:

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

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

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

  2. 지정한 백업에서 인스턴스를 복원합니다.

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

    • 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 응답이 표시됩니다.

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

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/backupRuns

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

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

  2. 지정한 백업에서 인스턴스를 복원합니다.

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

    • 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 응답이 표시됩니다.

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

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

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

권한

다른 프로젝트로 복원하는 사용자는 대상 프로젝트에 대한 cloudsql.instances.restoreBackup 권한과 소스 인스턴스에 대한 cloudsql.backupRuns.get 권한이 있어야 합니다. 이러한 권한은 Cloud SQL Admin 역할에 포함되어 있습니다.

다른 프로젝트의 인스턴스로 데이터를 복원하려면 다음 안내를 따르세요.

gcloud

  1. 인스턴스의 백업을 나열합니다.

    gcloud sql backups list --instance INSTANCE_NAME

    INSTANCE_NAME을 인스턴스 이름으로 바꿉니다.

  2. 사용하려는 백업을 찾아서 해당 백업의 ID 값을 기록합니다.
  3. 다른 프로젝트의 인스턴스로 데이터를 복원합니다.

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

    다음을 바꿉니다.

    • BACKUP_ID: 백업의 ID입니다. 이 ID는 이 절차의 앞부분에서 가져온 것입니다.
    • TARGET_INSTANCE_NAME: 데이터를 복원할 대상 프로젝트의 인스턴스입니다.
    • SOURCE_INSTANCE_NAME: 대상 프로젝트의 인스턴스로 복원하려는 데이터가 포함된 소스 프로젝트의 인스턴스입니다.
    • SOURCE_INSTANCE_PROJECT: 소스 인스턴스가 포함된 프로젝트입니다.

REST v1

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

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

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

HTTP 메서드 및 URL:

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

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

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

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

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

  • 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 응답이 표시됩니다.

project 속성에 대한 자세한 내용은 restoreBackup을 참조하세요.

REST v1beta4

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

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

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

HTTP 메서드 및 URL:

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

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

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

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

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

  • 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 응답이 표시됩니다.

project 속성에 대한 자세한 내용은 restoreBackup을 참조하세요.

최종 백업에서 복원

최종 백업은 다음과 같은 시나리오에 사용할 수 있습니다.

  • 새 인스턴스에 최종 백업 복원
  • 다른 프로젝트 또는 리전의 새 인스턴스로 복원

삭제된 인스턴스의 최종 백업을 사용하여 인스턴스를 복원할 때 백업을 사용하여 삭제된 인스턴스의 구성으로 인스턴스를 만들고 데이터를 복구할 수도 있습니다.

새 인스턴스로 복원

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

콘솔

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

    Cloud SQL 백업으로 이동

    이 페이지에는 Google Cloud 프로젝트와 연결된 최종 백업을 비롯한 모든 백업이 나열됩니다.

  2. 새 인스턴스에 복원할 데이터가 포함된 최종 백업을 클릭합니다.
  3. 최종 백업 대화상자에서 복원을 클릭합니다.
  4. 백업에서 인스턴스 복원 페이지의 백업 세부정보 검토에서 올바른 백업을 선택했는지 확인합니다.
  5. 복원 대상 선택에서 새 인스턴스로 복원을 선택합니다.
  6. 리전 메뉴에서 새 인스턴스의 리전을 선택합니다.
  7. 인스턴스 ID 필드에 새 인스턴스의 ID를 입력합니다.
  8. 복원 프로세스를 시작하려면 복원을 클릭합니다.
  9. 복원 작업 상태를 확인하려면 인스턴스의 작업 페이지로 이동하세요.

gcloud

  1. 소스 인스턴스의 최종 백업을 나열하려면 gcloud sql backups list 명령어를 사용합니다.
    gcloud sql backups list \
    --filter='type:FINAL instance: SOURCE_INSTANCE_NAME'
  2. 사용하려는 백업을 찾아서 해당 백업의 NAME 값을 기록합니다.
  3. 지정된 최종 백업에서 새 인스턴스를 복원하려면 gcloud sql backups restore 명령어를 사용합니다.
    gcloud sql backups restore BACKUP_NAME \
    --restore-instance=TARGET_INSTANCE_NAME 

REST v1

  1. 사용하려는 백업의 ID를 확인하려면 소스 인스턴스의 최종 백업을 나열합니다.

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

    • PROJECT_ID: 프로젝트 ID
    • INSTANCE_ID: 인스턴스 ID입니다.

    HTTP 메서드 및 URL:

    GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups?filter='type:FINAL AND instance:INSTANCE_ID'

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

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

  2. 지정된 최종 백업에서 새 인스턴스를 복원합니다.

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

    • 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

  1. 사용하려는 백업의 ID를 확인하려면 소스 인스턴스의 최종 백업을 나열합니다.

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

    • PROJECT_ID: 프로젝트 ID
    • INSTANCE_ID: 인스턴스 ID입니다.

    HTTP 메서드 및 URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups?filter='type:FINAL AND instance:INSTANCE_ID'

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

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

  2. 지정된 최종 백업에서 새 인스턴스를 복원합니다.

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

    • 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 응답이 표시됩니다.

기존 인스턴스로 복원

최종 백업에서 기존 인스턴스로 데이터를 복원할 경우 대상 인스턴스의 데이터를 백업을 가져왔을 때 소스 인스턴스의 상태로 업데이트합니다. 자세한 내용은 복원 실행에 관한 일반적인 팁다른 인스턴스로 복원할 때의 팁 및 요구사항을 참조하세요.

프로젝트의 백업 목록이 필요하며 서비스 중단으로 인해 인스턴스 개요 페이지에서 백업을 볼 수 없는 경우 backupRuns.list API를 사용합니다.

콘솔

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

    Cloud SQL 인스턴스로 이동

  2. 대상 인스턴스에 읽기 복제본이 있는 경우 추가 작업 메뉴(추가 작업 아이콘)를 사용하여 해당 복제본을 삭제합니다.
  3. Google Cloud 콘솔에서 Cloud SQL 백업 페이지로 이동합니다.

    Cloud SQL 백업으로 이동

    이 페이지에는 Google Cloud 프로젝트와 연결된 최종 백업을 비롯한 모든 백업이 나열됩니다.

  4. 다른 인스턴스로 복원할 데이터가 포함된 최종 백업을 클릭합니다.
  5. 최종 백업 대화상자에서 복원을 클릭합니다.
  6. 백업에서 인스턴스 복원 페이지의 백업 세부정보 검토에서 올바른 백업을 선택했는지 확인합니다.
  7. 복원 대상 선택에서 기존 인스턴스 덮어쓰기를 선택합니다.
  8. 재정의할 인스턴스 메뉴에서 복원에 사용할 인스턴스를 선택합니다. 선택한 인스턴스와 모든 데이터를 덮어씁니다.

  9. 선택을 확인하려면 대상 인스턴스 ID 필드에 덮어쓸 인스턴스의 이름을 입력합니다.
  10. 복원 프로세스를 시작하려면 복원을 클릭합니다.
  11. 복원 작업 상태를 확인하려면 인스턴스의 작업 페이지로 이동하세요.
  12. 복원 작업이 완료되면 이 절차에서 삭제한 복제본을 다시 만듭니다.

gcloud

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

    replicaNames 열에 나열된 인스턴스를 확인합니다.

  2. 모든 복제본을 삭제하려면 gcloud sql instances delete 명령어를 사용합니다.
    gcloud sql instances delete REPLICA_NAME

    이 과정을 각 복제본에 반복합니다.

  3. 소스 인스턴스의 최종 백업을 나열하려면 gcloud sql backups list 명령어를 사용합니다.
    gcloud sql backups list \
    --filter='type:FINAL instance: SOURCE_INSTANCE_NAME'
  4. 사용하려는 백업을 찾아서 해당 백업의 NAME 값을 기록합니다.
  5. 백업에서 대상 인스턴스를 복원하려면 gcloud sql backups restore 명령어를 사용합니다.
    gcloud sql backups restore BACKUP_NAME \
    --restore-instance=TARGET_INSTANCE_NAME
  6. 복원 작업이 완료되면 이 절차에서 삭제한 복제본을 다시 만듭니다.

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/backups?filter='type:FINAL AND instance:INSTANCE_ID'

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

    다음과 비슷한 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 응답이 표시됩니다.

  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/backups?filter='type:FINAL AND instance:INSTANCE_ID'

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

    다음과 비슷한 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 응답이 표시됩니다.

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

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

다른 프로젝트의 인스턴스로 데이터를 복원하는 사용자는 대상 프로젝트에 대한 cloudsql.instances.restoreBackup 권한과 소스 인스턴스에 대한 cloudsql.backupRuns.get 권한이 있어야 합니다. 이러한 권한은 Cloud SQL Admin 역할에 포함되어 있습니다.

다른 프로젝트의 인스턴스로 데이터를 복원하려면 다음 안내를 따르세요.

REST v1

최종 백업의 backupId를 가져오려면 다음을 실행합니다.

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

  • PROJECT_ID: 프로젝트 ID
  • INSTANCE_ID: 인스턴스 ID입니다.

HTTP 메서드 및 URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups?filter='type:FINAL AND instance:INSTANCE_ID'

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

다음과 비슷한 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 응답이 표시됩니다.

project 속성에 대한 자세한 내용은 restoreBackup을 참조하세요.

REST v1beta4

최종 백업의 backupId를 가져오려면 다음을 실행합니다.

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

  • PROJECT_ID: 프로젝트 ID
  • INSTANCE_ID: 인스턴스 ID입니다.

HTTP 메서드 및 URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups?filter='type:FINAL AND instance:INSTANCE_ID'

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

다음과 비슷한 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 응답이 표시됩니다.

project 속성에 대한 자세한 내용은 restoreBackup을 참조하세요.

다른 리전의 새 인스턴스로 복원

다른 지역에 있는 새 인스턴스로 데이터를 복원하는 사용자는 대상 프로젝트에 대한 cloudsql.instances.restoreBackup 권한과 소스 인스턴스에 대한 cloudsql.backupRuns.get 권한이 있어야 합니다. 이러한 권한은 Cloud SQL Admin 역할에 포함되어 있습니다.

또한 다른 리전에서 인스턴스를 만들려면 해당 리전의 조직 정책 기준을 충족해야 합니다.

다른 리전의 새 인스턴스로 데이터를 복원하려면 다음 안내를 따르세요.

gcloud

  1. 소스 인스턴스의 최종 백업을 나열하려면 gcloud sql backups list 명령어를 사용합니다.
    gcloud sql backups list \
    --filter='type:FINAL instance: SOURCE_INSTANCE_NAME'
  2. 사용하려는 백업을 찾아서 해당 백업의 NAME 값을 기록합니다.
  3. 최종 백업을 사용하여 다른 리전의 새 인스턴스에 데이터를 복원하려면 gcloud sql backups restore 명령어를 사용합니다.
    gcloud sql backups restore BACKUP_NAME \
    --restore-instance=TARGET_INSTANCE_NAME \
    --region=TARGET_REGION 

REST v1

최종 백업의 backupId를 가져오려면 다음을 실행합니다.

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

  • PROJECT_ID: 프로젝트 ID
  • INSTANCE_ID: 인스턴스 ID입니다.

HTTP 메서드 및 URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups?filter='type:FINAL AND instance:INSTANCE_ID'

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

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

다른 리전의 새 인스턴스에 백업을 복원합니다.

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

  • PROJECT_ID: 프로젝트 ID
  • TARGET_INSTANCE_ID: 대상 인스턴스 ID
  • BACKUP_ID: 백업 ID
  • REGION: 대상 인스턴스의 리전입니다 (예: us-central1).

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: {
    region: REGION
  }
}

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

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

project 속성에 대한 자세한 내용은 restoreBackup을 참조하세요.

REST v1beta4

최종 백업의 backupId를 가져오려면 다음을 실행합니다.

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

  • PROJECT_ID: 프로젝트 ID
  • INSTANCE_ID: 인스턴스 ID입니다.

HTTP 메서드 및 URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups?filter='type:FINAL AND instance:INSTANCE_ID'

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

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

다른 리전의 새 인스턴스에 백업을 복원합니다.

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

  • PROJECT_ID: 프로젝트 ID
  • TARGET_INSTANCE_ID: 대상 인스턴스 ID
  • BACKUP_ID: 백업 ID
  • REGION: 대상 인스턴스의 리전입니다 (예: us-central1).

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: {
    region: REGION
  }
}

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

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

project 속성에 대한 자세한 내용은 restoreBackup을 참조하세요.

PITR(point-in-time recovery) 수행하기

point-in-time recovery를 수행하려면 point-in-time recovery를 참조하세요.

다음 단계