이 페이지에서는 백업에서 인스턴스를 복원하는 방법을 설명합니다.
복원 작업에 대한 정보, 권장사항, 요구사항은 인스턴스 복원 개요 를 참조하세요.
주문형 또는 자동 백업에서 복원
다음 시나리오에 주문형 또는 자동 백업을 사용할 수 있습니다.
동일한 프로젝트의 다른 인스턴스로 복원
백업이 수행된 동일한 인스턴스로 복원
다른 프로젝트 또는 리전의 다른 인스턴스로 복원
PITR (point-in-time recovery) 이 사용 설정된 경우 인스턴스의 로그 보관 설정에 따라 인스턴스를 특정 시점으로 복구할 수 있습니다.
참고: PITR(포인트 인 타임 리커버리)은 동일한 프로젝트 및 리전 내의 새 인스턴스에 대해서만 지원됩니다.
백업에서 인스턴스를 복원하려면 백업과 대상 인스턴스가 같은
시간대 에 있어야 합니다.
다른 인스턴스로 복원
백업에서 다른 인스턴스로 데이터를 복원할 경우 대상 인스턴스의 데이터를 백업을 가져왔을 때 소스 인스턴스의 상태로 업데이트합니다. 자세한 내용은 복원 실행에 관한 일반적인 팁 과 다른 인스턴스로 복원할 때의 팁 및 요구사항 을 참조하세요.
프로젝트의 백업 목록이 필요하며 서비스 중단으로 인해 인스턴스 개요 페이지에서 백업을 볼 수 없는 경우 와일드 카드 (-
)와 함께 backupRuns.list
API를 사용합니다. 와일드 카드 옵션은 프로젝트의 모든 인스턴스에서 모든 백업 목록을 검색합니다. 자세한 내용은 서비스 중단 시 백업 보기 를 참고하세요.
경고 : 복원 프로세스에서는 이전 point-in-time recovery (PITR) 로그를 포함하여 인스턴스의 현재 데이터를 모두 덮어씁니다.
프로세스에서 덮어쓰는 데이터는 복구할 수 없습니다.
콘솔
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
Cloud SQL 인스턴스로 이동
대상 인스턴스에 읽기 복제본이 있는 경우 추가 작업 메뉴( )를 사용하여 해당 복제본을 삭제합니다.
인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
SQL 탐색 메뉴에서 백업 을 선택합니다.
복원하려는 백업을 찾은 다음 복원 을 클릭합니다.
백업에서 인스턴스 복원 페이지의 백업 세부정보 검토 에서 올바른 백업을 선택했는지 확인합니다.
복원 대상 선택 에서 기존 인스턴스 덮어쓰기 를 선택합니다.
재정의할 인스턴스 메뉴에서 복원에 사용할 인스턴스를 선택합니다. 선택한 인스턴스와 모든 데이터를 덮어씁니다.
선택을 확인하려면 대상 인스턴스 ID 필드에 덮어쓸 인스턴스의 이름을 입력합니다.
복원 프로세스를 시작하려면 복원 을 클릭합니다.
복원 작업 상태를 확인하려면 인스턴스의 작업 페이지로 이동하세요.
복원 작업이 완료되면 이 절차에서 삭제한 복제본을 다시 만듭니다.
gcloud
대상 인스턴스에 읽기 복제본이 있는지 확인하려면 gcloud sql instances describe
명령어를 사용합니다.
gcloud sql instances describe TARGET_INSTANCE_NAME
replicaNames
열에 나열된 인스턴스를 확인합니다.
모든 복제본을 삭제하려면 gcloud sql instances delete
명령어를 사용합니다.
gcloud sql instances delete REPLICA_NAME
이 과정을 각 복제본에 반복합니다.
소스 인스턴스의 백업을 나열하려면 gcloud sql backups list
명령어를 사용합니다.
gcloud sql backups list \
--instance SOURCE_INSTANCE_NAME
사용하려는 백업을 찾아서 해당 백업의 ID
값을 기록합니다.
참고: SUCCESSFUL
상태의 백업을 선택합니다.
백업에서 대상 인스턴스를 복원하려면 gcloud sql backups restore
명령어를 사용합니다.
gcloud sql backups restore BACKUP_ID \
--restore-instance= TARGET_INSTANCE_NAME \
--backup-instance= SOURCE_INSTANCE_NAME
복원 작업이 완료되면 이 절차에서 삭제한 복제본을 다시 만듭니다.
REST v1
인스턴스에 읽기 복제본이 있는지 확인하고 이러한 복제본의 ID를 가져오려면 대상 인스턴스의 모든 복제본을 나열합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_ID : 프로젝트 ID
INSTANCE_ID : 인스턴스 ID입니다.
HTTP 메서드 및 URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
다음 명령어를 실행합니다.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames"
PowerShell(Windows)
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"replicaNames": [
"REPLICA_NAME "
]
}
모든 복제본을 삭제합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_ID : 프로젝트 ID
REPLICA_ID : 복제본 ID
HTTP 메서드 및 URL:
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
다음 명령어를 실행합니다.
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell(Windows)
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "REPLICA_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
이 과정을 각 복제본에 반복합니다.
사용하려는 백업의 ID를 확인하려면 소스 인스턴스의 백업을 나열합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
project-id : 프로젝트 ID
instance-id : 인스턴스 ID
HTTP 메서드 및 URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
다음 명령어를 실행합니다.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns"
PowerShell(Windows)
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"kind": "sql#backupRun",
"status": "SUCCESSFUL",
"enqueuedTime": "2020-01-21T11:25:33.818Z",
"id": "backup-id ",
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
"type": "AUTOMATED",
"windowStartTime": "2020-01-21T10:00:00.479Z",
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns/backup-id ",
"location": "us"
}
-또는-
인스턴스가 서비스 중단이 발생한 리전에 있는 경우 프로젝트의 모든 백업을 나열합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_ID : 프로젝트 ID
INSTANCE_ID : 인스턴스 ID 또는 프로젝트의 모든 백업 목록에 대한 -
HTTP 메서드 및 URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/-/backupRuns
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
다음 명령어를 실행합니다.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/-/backupRuns"
PowerShell(Windows)
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/-/backupRuns" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"kind": "sql#backupRun",
"status": "SUCCESSFUL",
"enqueuedTime": "2020-01-21T11:25:33.818Z",
"id": "BACKUP_ID ",
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
"type": "AUTOMATED",
"windowStartTime": "2020-01-21T10:00:00.479Z",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_ID ",
"location": "us"
"backupKind": "SNAPSHOT"
}
복원해야 하는 인스턴스의 백업을 찾습니다.
백업에서 대상 인스턴스를 복원합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
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 "
}
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/target-instance-id /restoreBackup"
PowerShell(Windows)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/target-instance-id /restoreBackup" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
복원 작업이 완료되면 이 절차에서 삭제한 복제본을 다시 만듭니다.
REST v1beta4
인스턴스에 읽기 복제본이 있는지 확인하고 이러한 복제본의 ID를 가져오려면 대상 인스턴스의 모든 복제본을 나열합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_ID : 프로젝트 ID
INSTANCE_ID : 인스턴스 ID입니다.
HTTP 메서드 및 URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
다음 명령어를 실행합니다.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames"
PowerShell(Windows)
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"replicaNames": [
"REPLICA_NAME "
]
}
모든 복제본을 삭제합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_ID : 프로젝트 ID
REPLICA_ID : 복제본 ID
HTTP 메서드 및 URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
다음 명령어를 실행합니다.
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell(Windows)
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "REPLICA_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
이 과정을 각 복제본에 반복합니다.
사용하려는 백업의 ID를 확인하려면 소스 인스턴스의 백업을 나열합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
project-id : 프로젝트 ID
instance-id : 인스턴스 ID
HTTP 메서드 및 URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
다음 명령어를 실행합니다.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns"
PowerShell(Windows)
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"kind": "sql#backupRun",
"status": "SUCCESSFUL",
"enqueuedTime": "2020-01-21T11:25:33.818Z",
"id": "backup-id ",
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
"type": "AUTOMATED",
"windowStartTime": "2020-01-21T10:00:00.479Z",
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns/backup-id ",
"location": "us"
}
백업에서 대상 인스턴스를 복원합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
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 "
}
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/target-instance-id /restoreBackup"
PowerShell(Windows)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/target-instance-id /restoreBackup" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
복원 작업이 완료되면 이 절차에서 삭제한 복제본을 다시 만듭니다.
동일한 인스턴스로 복원
백업에서 동일한 인스턴스로 데이터를 복원할 경우 해당 인스턴스의 데이터를 백업을 가져올 때의 상태로 되돌립니다. 인스턴스 복원에 대한 자세한 내용은 복원 수행에 관한 일반적인 팁 을 참조하세요.
경고 : 복원 프로세스에서는 이전 point-in-time recovery (PITR) 로그를 포함하여 인스턴스의 현재 데이터를 모두 덮어씁니다.
프로세스에서 덮어쓰는 데이터는 복구할 수 없습니다.
콘솔
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
Cloud SQL 인스턴스로 이동
대상 인스턴스에 읽기 복제본이 있는 경우 추가 작업 메뉴( )를 사용하여 해당 복제본을 삭제합니다.
인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
SQL 탐색 메뉴에서 백업 을 선택합니다.
사용할 백업을 찾은 다음 복원 을 클릭합니다.
백업에서 인스턴스 복원 페이지의 백업 세부정보 검토 에서 올바른 백업을 선택했는지 확인합니다.
복원 대상 선택 에서 소스 인스턴스 덮어쓰기 를 선택합니다.
괄호 안에 소스 인스턴스 이름이 지정되었는지 확인합니다.
선택을 확인하려면 대상 인스턴스 ID 필드에 인스턴스 이름을 입력합니다.
복원 프로세스를 시작하려면 복원 을 클릭합니다.
복원 작업 상태를 확인하려면 인스턴스의 작업 페이지로 이동하세요.
복원 작업이 완료되면 이 절차에서 삭제한 복제본을 다시 만듭니다.
gcloud
인스턴스에 읽기 복제본이 있는지 확인하려면 gcloud sql instances describe
명령어를 사용합니다.
gcloud sql instances describe INSTANCE_NAME
replicaNames
열에 나열된 인스턴스를 확인합니다.
모든 복제본을 삭제하려면 gcloud sql instances delete
명령어를 사용합니다.
gcloud sql instances delete REPLICA_NAME
이 과정을 각 복제본에 반복합니다.
인스턴스의 백업을 나열하려면 gcloud sql backups list
명령어를 사용합니다.
gcloud sql backups list --instance INSTANCE_NAME
사용하려는 백업을 찾아서 해당 백업의 ID
값을 기록합니다.
참고: SUCCESSFUL
상태의 백업을 선택합니다.
지정한 백업에서 인스턴스를 복원하려면 gcloud sql backups restore
명령어를 사용합니다.
gcloud sql backups restore BACKUP_ID \
--restore-instance= INSTANCE_NAME
복원 작업이 완료되면 이 절차에서 삭제한 복제본을 다시 만듭니다.
REST v1
사용하려는 백업의 ID를 확인하려면 인스턴스의 백업을 나열합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
project-id : 프로젝트 ID
instance-id : 인스턴스 ID
HTTP 메서드 및 URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
다음 명령어를 실행합니다.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns"
PowerShell(Windows)
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"kind": "sql#backupRun",
"status": "SUCCESSFUL",
"enqueuedTime": "2020-01-21T11:25:33.818Z",
"id": "backup-id ",
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
"type": "AUTOMATED",
"windowStartTime": "2020-01-21T10:00:00.479Z",
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns/backup-id ",
"location": "us"
}
지정한 백업에서 인스턴스를 복원합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
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 ",
}
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup"
PowerShell(Windows)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
복원 작업이 완료되면 이 절차에서 삭제한 복제본을 다시 만듭니다.
REST v1beta4
사용하려는 백업의 ID를 확인하려면 인스턴스의 백업을 나열합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
project-id : 프로젝트 ID
instance-id : 인스턴스 ID
HTTP 메서드 및 URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
다음 명령어를 실행합니다.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns"
PowerShell(Windows)
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"kind": "sql#backupRun",
"status": "SUCCESSFUL",
"enqueuedTime": "2020-01-21T11:25:33.818Z",
"id": "backup-id ",
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
"type": "AUTOMATED",
"windowStartTime": "2020-01-21T10:00:00.479Z",
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns/backup-id ",
"location": "us"
}
지정한 백업에서 인스턴스를 복원합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
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 ",
}
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup"
PowerShell(Windows)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
복원 작업이 완료되면 이 절차에서 삭제한 복제본을 다시 만듭니다.
다른 프로젝트의 인스턴스로 복원
project
매개변수를 사용하여 백업을 수행한 프로젝트와 다른 프로젝트의 인스턴스로 데이터를 복원할 수 있습니다. project
매개변수를 사용할 경우 데이터를 복원하려는 프로젝트 및 인스턴스에서 restoreBackup
을 호출합니다. 백업에서 다른 인스턴스로 복원할 경우, 대상 인스턴스의 데이터를 백업을 가져왔을 때 소스 인스턴스의 상태로 업데이트합니다.
권한
다른 프로젝트로 복원하는 사용자는 대상 프로젝트에 대한 cloudsql.instances.restoreBackup
권한과 소스 인스턴스에 대한 cloudsql.backupRuns.get
권한이 있어야 합니다.
이러한 권한은 Cloud SQL Admin
역할에 포함되어 있습니다.
경고 : 복원 프로세스에서는 이전 point-in-time recovery (PITR) 로그를 포함하여 인스턴스의 현재 데이터를 모두 덮어씁니다.
프로세스에서 덮어쓰는 데이터는 복구할 수 없습니다.
다른 프로젝트의 인스턴스로 데이터를 복원하려면 다음 안내를 따르세요.
gcloud
인스턴스의 백업을 나열합니다.
gcloud sql backups list --instance INSTANCE_NAME
INSTANCE_NAME 을 인스턴스 이름으로 바꿉니다.
사용하려는 백업을 찾아서 해당 백업의 ID
값을 기록합니다.
참고: SUCCESSFUL
이라고 표시된 백업을 선택합니다.
다른 프로젝트의 인스턴스로 데이터를 복원합니다.
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
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
다음 명령어를 실행합니다.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns"
PowerShell(Windows)
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"kind": "sql#backupRun",
"status": "SUCCESSFUL",
"enqueuedTime": "2020-01-21T11:25:33.818Z",
"id": "backup-id ",
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
"type": "AUTOMATED",
"windowStartTime": "2020-01-21T10:00:00.479Z",
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns/backup-id ",
"location": "us"
}
백업을 다른 프로젝트의 인스턴스로 복원합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
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 "
}
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/target-project-id /instances/target-instance-id /restoreBackup"
PowerShell(Windows)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/target-project-id /instances/target-instance-id /restoreBackup" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/target-project-id /instances/target-instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_VOLUME",
"name": "operation-id ",
"targetId": "target-instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/target-project-id /operations/operation-id ",
"targetProject": "target-project-id "
}
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
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
다음 명령어를 실행합니다.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns"
PowerShell(Windows)
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"kind": "sql#backupRun",
"status": "SUCCESSFUL",
"enqueuedTime": "2020-01-21T11:25:33.818Z",
"id": "backup-id ",
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
"type": "AUTOMATED",
"windowStartTime": "2020-01-21T10:00:00.479Z",
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns/backup-id ",
"location": "us"
}
백업을 다른 프로젝트의 인스턴스로 복원합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
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 "
}
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /instances/target-instance-id /restoreBackup"
PowerShell(Windows)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /instances/target-instance-id /restoreBackup" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /instances/target-instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_VOLUME",
"name": "operation-id ",
"targetId": "target-instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /operations/operation-id ",
"targetProject": "target-project-id "
}
project
속성에 대한 자세한 내용은 restoreBackup 을 참조하세요.
최종 백업에서 복원
최종 백업은 다음과 같은 시나리오에 사용할 수 있습니다.
새 인스턴스에 최종 백업 복원
다른 프로젝트 또는 리전의 새 인스턴스로 복원
삭제된 인스턴스의 최종 백업을 사용하여 인스턴스를 복원할 때 백업을 사용하여 삭제된 인스턴스의 구성으로 인스턴스를 만들고 데이터를 복구할 수도 있습니다.
새 인스턴스로 복원
최종 백업에서 인스턴스를 만들면 Cloud SQL은 최종 백업이 생성된 인스턴스의 구성 설정을 사용합니다. 인스턴스가 생성되면 Cloud SQL은 최종 백업이 생성된 상태로 데이터를 복원합니다.
콘솔
Google Cloud 콘솔에서 Cloud SQL 백업 페이지로 이동합니다.
Cloud SQL 백업으로 이동
이 페이지에는 Google Cloud 프로젝트와 연결된 최종 백업을 비롯한 모든 백업이 나열됩니다.
새 인스턴스에 복원할 데이터가 포함된 최종 백업을 클릭합니다.
최종 백업 대화상자에서 복원 을 클릭합니다.
백업에서 인스턴스 복원 페이지의 백업 세부정보 검토 에서 올바른 백업을 선택했는지 확인합니다.
복원 대상 선택 에서 새 인스턴스로 복원 을 선택합니다.
리전 메뉴에서 새 인스턴스의 리전을 선택합니다.
인스턴스 ID 필드에 새 인스턴스의 ID를 입력합니다.
복원 프로세스를 시작하려면 복원 을 클릭합니다.
복원 작업 상태를 확인하려면 인스턴스의 작업 페이지로 이동하세요.
gcloud
소스 인스턴스의 최종 백업을 나열하려면 gcloud sql backups list
명령어를 사용합니다.
gcloud sql backups list \
--filter= 'type:FINAL instance: SOURCE_INSTANCE_NAME '
사용하려는 백업을 찾아서 해당 백업의 NAME
값을 기록합니다.
지정된 최종 백업에서 새 인스턴스를 복원하려면 gcloud sql backups restore
명령어를 사용합니다.
gcloud sql backups restore BACKUP_NAME \
--restore-instance= TARGET_INSTANCE_NAME
REST v1
사용하려는 백업의 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 '
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
다음 명령어를 실행합니다.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '"
PowerShell(Windows)
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"name": "projects/PROJECT_ID /backups/BACKUP_ID ",
"kind": "sql#backup",
"state": "SUCCESSFUL",
"backupInterval": {
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
}
"type": "FINAL",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ",
"location": "us"
"description": "This is a final backup.",
"backupKind": "SNAPSHOT",
"dataDiskSizeGB": "10",
"expiryTime": "2020-01-30T11:26:18.663Z",
"backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
"satisfies_pzs": false,
"satisfies_pzi": false
}
지정된 최종 백업에서 새 인스턴스를 복원합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_ID : 프로젝트 ID
TARGET_INSTANCE_ID : 대상 인스턴스 ID
BACKUP_ID : 백업 ID
참고: restore_instance_settings: {}
코드 줄을 사용하면 Cloud SQL에서 최종 백업에서 새 인스턴스로 데이터를 복원할 수 있습니다.
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: {}
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup"
PowerShell(Windows)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
REST v1beta4
사용하려는 백업의 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 '
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
다음 명령어를 실행합니다.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '"
PowerShell(Windows)
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"name": "projects/PROJECT_ID /backups/BACKUP_ID ",
"kind": "sql#backup",
"state": "SUCCESSFUL",
"backupInterval": {
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
}
"type": "FINAL",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ",
"location": "us"
"description": "This is a final backup.",
"backupKind": "SNAPSHOT",
"dataDiskSizeGB": "10",
"expiryTime": "2020-01-30T11:26:18.663Z",
"backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
"satisfies_pzs": false,
"satisfies_pzi": false
}
지정된 최종 백업에서 새 인스턴스를 복원합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_ID : 프로젝트 ID
TARGET_INSTANCE_ID : 대상 인스턴스 ID
BACKUP_ID : 백업 ID
참고: restore_instance_settings: {}
코드 줄을 사용하면 Cloud SQL에서 최종 백업에서 새 인스턴스로 데이터를 복원할 수 있습니다.
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: {}
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup"
PowerShell(Windows)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
기존 인스턴스로 복원
최종 백업에서 기존 인스턴스로 데이터를 복원할 경우 대상 인스턴스의 데이터를 백업을 가져왔을 때 소스 인스턴스의 상태로 업데이트합니다. 자세한 내용은 복원 실행에 관한 일반적인 팁 과 다른 인스턴스로 복원할 때의 팁 및 요구사항 을 참조하세요.
프로젝트의 백업 목록이 필요하며 서비스 중단으로 인해 인스턴스 개요 페이지에서 백업을 볼 수 없는 경우 backupRuns.list
API를 사용합니다.
경고 : 복원 프로세스에서는 이전 point-in-time recovery (PITR) 로그를 포함하여 인스턴스의 현재 데이터를 모두 덮어씁니다.
프로세스에서 덮어쓰는 데이터는 복구할 수 없습니다.
콘솔
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
Cloud SQL 인스턴스로 이동
대상 인스턴스에 읽기 복제본이 있는 경우 추가 작업 메뉴( )를 사용하여 해당 복제본을 삭제합니다.
Google Cloud 콘솔에서 Cloud SQL 백업 페이지로 이동합니다.
Cloud SQL 백업으로 이동
이 페이지에는 Google Cloud 프로젝트와 연결된 최종 백업을 비롯한 모든 백업이 나열됩니다.
다른 인스턴스로 복원할 데이터가 포함된 최종 백업을 클릭합니다.
최종 백업 대화상자에서 복원 을 클릭합니다.
백업에서 인스턴스 복원 페이지의 백업 세부정보 검토 에서 올바른 백업을 선택했는지 확인합니다.
복원 대상 선택 에서 기존 인스턴스 덮어쓰기 를 선택합니다.
재정의할 인스턴스 메뉴에서 복원에 사용할 인스턴스를 선택합니다. 선택한 인스턴스와 모든 데이터를 덮어씁니다.
참고: 최종 백업을 만드는 데 사용한 인스턴스 (소스 인스턴스)와 데이터베이스 유형이 동일한 인스턴스만 선택할 수 있습니다. 또한 선택한 인스턴스의 버전이 소스 인스턴스의 버전과 동일하거나 더 높아야 합니다.
선택을 확인하려면 대상 인스턴스 ID 필드에 덮어쓸 인스턴스의 이름을 입력합니다.
복원 프로세스를 시작하려면 복원 을 클릭합니다.
복원 작업 상태를 확인하려면 인스턴스의 작업 페이지로 이동하세요.
복원 작업이 완료되면 이 절차에서 삭제한 복제본을 다시 만듭니다.
gcloud
대상 인스턴스에 읽기 복제본이 있는지 확인하려면 gcloud sql instances describe
명령어를 사용합니다.
gcloud sql instances describe TARGET_INSTANCE_NAME
replicaNames
열에 나열된 인스턴스를 확인합니다.
모든 복제본을 삭제하려면 gcloud sql instances delete
명령어를 사용합니다.
gcloud sql instances delete REPLICA_NAME
이 과정을 각 복제본에 반복합니다.
소스 인스턴스의 최종 백업을 나열하려면 gcloud sql backups list
명령어를 사용합니다.
gcloud sql backups list \
--filter= 'type:FINAL instance: SOURCE_INSTANCE_NAME '
사용하려는 백업을 찾아서 해당 백업의 NAME
값을 기록합니다.
참고: SUCCESSFUL
상태의 백업을 선택합니다.
백업에서 대상 인스턴스를 복원하려면 gcloud sql backups restore
명령어를 사용합니다.
gcloud sql backups restore BACKUP_NAME \
--restore-instance= TARGET_INSTANCE_NAME
복원 작업이 완료되면 이 절차에서 삭제한 복제본을 다시 만듭니다.
REST v1
인스턴스에 읽기 복제본이 있는지 확인하고 이러한 복제본의 ID를 가져오려면 대상 인스턴스의 모든 복제본을 나열합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_ID : 프로젝트 ID
INSTANCE_ID : 인스턴스 ID입니다.
HTTP 메서드 및 URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
다음 명령어를 실행합니다.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames"
PowerShell(Windows)
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"replicaNames": [
"REPLICA_NAME "
]
}
모든 복제본을 삭제합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_ID : 프로젝트 ID
REPLICA_ID : 복제본 ID
HTTP 메서드 및 URL:
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
다음 명령어를 실행합니다.
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell(Windows)
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "REPLICA_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
이 과정을 각 복제본에 반복합니다.
사용하려는 최종 백업의 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 '
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
다음 명령어를 실행합니다.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '"
PowerShell(Windows)
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"name": "projects/PROJECT_ID /backups/BACKUP_ID ",
"kind": "sql#backup",
"state": "SUCCESSFUL",
"backupInterval": {
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
}
"type": "FINAL",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ",
"location": "us"
"description": "This is a final backup.",
"backupKind": "SNAPSHOT",
"dataDiskSizeGB": "10",
"expiryTime": "2020-01-30T11:26:18.663Z",
"backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
"satisfies_pzs": false,
"satisfies_pzi": false
}
복원해야 하는 인스턴스의 백업을 찾습니다.
백업에서 대상 인스턴스를 복원합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
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
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup"
PowerShell(Windows)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
복원 작업이 완료되면 이 절차에서 삭제한 복제본을 다시 만듭니다.
REST v1beta4
인스턴스에 읽기 복제본이 있는지 확인하고 이러한 복제본의 ID를 가져오려면 대상 인스턴스의 모든 복제본을 나열합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_ID : 프로젝트 ID
INSTANCE_ID : 인스턴스 ID입니다.
HTTP 메서드 및 URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
다음 명령어를 실행합니다.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames"
PowerShell(Windows)
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"replicaNames": [
"REPLICA_NAME "
]
}
모든 복제본을 삭제합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_ID : 프로젝트 ID
REPLICA_ID : 복제본 ID
HTTP 메서드 및 URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
다음 명령어를 실행합니다.
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell(Windows)
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "REPLICA_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
이 과정을 각 복제본에 반복합니다.
사용하려는 최종 백업의 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 '
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
다음 명령어를 실행합니다.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '"
PowerShell(Windows)
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"name": "projects/PROJECT_ID /backups/BACKUP_ID ",
"kind": "sql#backup",
"state": "SUCCESSFUL",
"backupInterval": {
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
}
"type": "FINAL",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ",
"location": "us"
"description": "This is a final backup.",
"backupKind": "SNAPSHOT",
"dataDiskSizeGB": "10",
"expiryTime": "2020-01-30T11:26:18.663Z",
"backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
"satisfies_pzs": false,
"satisfies_pzi": false
}
복원해야 하는 인스턴스의 백업을 찾습니다.
백업에서 대상 인스턴스를 복원합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
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
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup"
PowerShell(Windows)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
복원 작업이 완료되면 이 절차에서 삭제한 복제본을 다시 만듭니다.
다른 프로젝트의 인스턴스로 복원
다른 프로젝트의 인스턴스로 데이터를 복원하는 사용자는 대상 프로젝트에 대한 cloudsql.instances.restoreBackup
권한과 소스 인스턴스에 대한 cloudsql.backupRuns.get
권한이 있어야 합니다.
이러한 권한은 Cloud SQL Admin
역할에 포함되어 있습니다.
경고 : 복원 프로세스에서는 이전 point-in-time recovery (PITR) 로그를 포함하여 인스턴스의 현재 데이터를 모두 덮어씁니다.
프로세스에서 덮어쓰는 데이터는 복구할 수 없습니다.
다른 프로젝트의 인스턴스로 데이터를 복원하려면 다음 안내를 따르세요.
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 '
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
다음 명령어를 실행합니다.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '"
PowerShell(Windows)
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"name": "projects/PROJECT_ID /backups/BACKUP_ID ",
"kind": "sql#backup",
"state": "SUCCESSFUL",
"backupInterval": {
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
}
"type": "FINAL",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ",
"location": "us"
"description": "This is a final backup.",
"backupKind": "SNAPSHOT",
"dataDiskSizeGB": "10",
"expiryTime": "2020-01-30T11:26:18.663Z",
"backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
"satisfies_pzs": false,
"satisfies_pzi": false
}
백업을 다른 프로젝트의 인스턴스로 복원합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
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
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup"
PowerShell(Windows)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
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 '
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
다음 명령어를 실행합니다.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '"
PowerShell(Windows)
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"name": "projects/PROJECT_ID /backups/BACKUP_ID ",
"kind": "sql#backup",
"state": "SUCCESSFUL",
"backupInterval": {
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
}
"type": "FINAL",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ",
"location": "us"
"description": "This is a final backup.",
"backupKind": "SNAPSHOT",
"dataDiskSizeGB": "10",
"expiryTime": "2020-01-30T11:26:18.663Z",
"backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
"satisfies_pzs": false,
"satisfies_pzi": false
}
백업을 다른 프로젝트의 인스턴스로 복원합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
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
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup"
PowerShell(Windows)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
project
속성에 대한 자세한 내용은 restoreBackup 을 참조하세요.
다른 리전의 새 인스턴스로 복원
다른 지역에 있는 새 인스턴스로 데이터를 복원하는 사용자는 대상 프로젝트에 대한 cloudsql.instances.restoreBackup
권한과 소스 인스턴스에 대한 cloudsql.backupRuns.get
권한이 있어야 합니다.
이러한 권한은 Cloud SQL Admin
역할에 포함되어 있습니다.
또한 다른 리전에서 인스턴스를 만들려면 해당 리전의 조직 정책 기준을 충족해야 합니다.
다른 리전의 새 인스턴스로 데이터를 복원하려면 다음 안내를 따르세요.
gcloud
소스 인스턴스의 최종 백업을 나열하려면 gcloud sql backups list
명령어를 사용합니다.
gcloud sql backups list \
--filter= 'type:FINAL instance: SOURCE_INSTANCE_NAME '
사용하려는 백업을 찾아서 해당 백업의 NAME
값을 기록합니다.
최종 백업을 사용하여 다른 리전의 새 인스턴스에 데이터를 복원하려면 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 '
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
다음 명령어를 실행합니다.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '"
PowerShell(Windows)
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"name": "projects/PROJECT_ID /backups/BACKUP_ID ",
"kind": "sql#backup",
"state": "SUCCESSFUL",
"backupInterval": {
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
}
"type": "FINAL",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ",
"location": "us"
"description": "This is a final backup.",
"backupKind": "SNAPSHOT",
"dataDiskSizeGB": "10",
"expiryTime": "2020-01-30T11:26:18.663Z",
"backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
"satisfies_pzs": false,
"satisfies_pzi": false
}
다른 리전의 새 인스턴스에 백업을 복원합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
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
}
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup"
PowerShell(Windows)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
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 '
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
다음 명령어를 실행합니다.
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '"
PowerShell(Windows)
다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups?filter='type:FINAL AND instance:INSTANCE_ID '" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"name": "projects/PROJECT_ID /backups/BACKUP_ID ",
"kind": "sql#backup",
"state": "SUCCESSFUL",
"backupInterval": {
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
}
"type": "FINAL",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ",
"location": "us"
"description": "This is a final backup.",
"backupKind": "SNAPSHOT",
"dataDiskSizeGB": "10",
"expiryTime": "2020-01-30T11:26:18.663Z",
"backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
"satisfies_pzs": false,
"satisfies_pzi": false
}
다른 리전의 새 인스턴스에 백업을 복원합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
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
}
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
cURL(Linux, macOS, Cloud Shell)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup"
PowerShell(Windows)
요청 본문을 request.json
파일에 저장하고 다음 명령어를 실행합니다.
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
다음과 비슷한 JSON 응답이 표시됩니다.
응답
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
project
속성에 대한 자세한 내용은 restoreBackup 을 참조하세요.
PITR(point-in-time recovery) 수행하기
point-in-time recovery를 수행하려면 point-in-time recovery 를 참조하세요.
다음 단계