인스턴스 클론

이 페이지에서는 Cloud SQL 인스턴스를 클론하는 방법을 설명합니다.

Cloud SQL 인스턴스를 복제할 때는 소스 인스턴스의 복사본이지만 완전히 독립된 새 인스턴스를 생성합니다. 복제 작업이 완료된 후에는 소스 인스턴스의 변경사항이 복제에 반영되지 않으며, 복제의 변경사항도 소스 인스턴스에 반영되지 않습니다.

소스 인스턴스 구성(활성화 정책, 데이터베이스 플래그, 연결 등)이 복제에 복사됩니다. 인스턴스 IP 주소 및 복제본은 복사되지 않으므로 이러한 항목은 복제에서 명시적으로 구성해야 합니다. 인스턴스를 복제해도 기존 백업을 복제하지 않습니다.

복제본은 복제할 수 없습니다. 다른 인스턴스에서 클론된 인스턴스는 클론할 수 있습니다.

특정 시점 이전의 인스턴스를 클론할 수 있어 손상이 발생한 경우 데이터베이스를 복구할 수 있습니다. 자세한 내용은 특정 시점 복구 수행을 참조하세요.

2세대 인스턴스 클론

Console

  1. Google Cloud Console의 Cloud SQL 인스턴스 페이지로 이동합니다.

    Cloud SQL 인스턴스 페이지로 이동

  2. 클론할 인스턴스를 찾은 후 목록의 맨 오른쪽에 있는 해당 추가 작업 메뉴를 엽니다.

    점 3개로 된 메뉴 이미지

  3. 클론 만들기를 클릭합니다.
  4. 복제 만들기 페이지에서 필요하면 인스턴스 ID를 업데이트하고 최신 상태 인스턴스 복제를 선택한 상태에서 복제 만들기를 클릭합니다.

    인스턴스 등록 페이지로 돌아가며, 클론은 초기화됩니다.

gcloud

인스턴스를 클론합니다.

gcloud sql instances clone [SOURCE_INSTANCE_NAME] [TARGET_INSTANCE_NAME]

cURL

인스턴스를 클론합니다.

gcloud auth login
ACCESS_TOKEN="$(gcloud auth print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{"cloneContext": {"destinationInstanceName": "[TARGET_INSTANCE_NAME]" }}' \
     -X POST \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[SOURCE_INSTANCE_NAME]/clone

1세대 인스턴스 클론

Console

  1. Google Cloud Console의 Cloud SQL 인스턴스 페이지로 이동합니다.

    Cloud SQL 인스턴스 페이지로 이동

  2. 클론할 1세대 인스턴스를 찾은 다음 목록 맨 오른쪽에 있는 해당 추가 작업 메뉴를 엽니다.

    점 3개로 된 메뉴 이미지

  3. 클론 만들기를 선택합니다.
  4. 인스턴스에 사용 설정된 백업 및 바이너리 로깅이 없으면 지금 사용 설정하고 계속을 클릭한 후에 백업 대기를 클릭합니다. 백업 기간 후에 이 작업을 처음부터 다시 시작하여 복제를 만듭니다.

    클론 스테퍼에서 사용 설정된 백업 이미지

  5. 인스턴스 ID를 업데이트할 수 있는 클론 만들기 페이지가 표시되면 필요한 경우 인스턴스 ID를 업데이트하고 클론 만들기를 클릭합니다.

    최종 클론 만들기 페이지 이미지

    인스턴스 등록 페이지로 돌아가며, 클론은 초기화됩니다.

gcloud

  1. 인스턴스 세부정보를 가져옵니다.
    gcloud sql instances describe [INSTANCE_NAME]
    
  2. backupConfiguration 아래에서 binaryLogEnabledenabled의 값을 찾습니다.
  3. 두 값 중에 사용 설정됨 상태가 아닌 값이 있으면 지금 사용 설정합니다.
    1. 백업을 사용 설정합니다.
      gcloud sql instances patch [INSTANCE_NAME] --backup-start-time [HH:MM]
      
    2. 바이너리 로깅을 사용 설정합니다.
      gcloud sql instances patch [INSTANCE_NAME] --enable-bin-log
      
  4. 백업 또는 바이너리 로깅이 사용 설정되지 않은 경우에는 백업이 실행될 때까지 기다립니다.

    백업 기간에 따라 하루가 걸릴 수도 있습니다.

  5. 인스턴스를 클론합니다.
    gcloud sql instances clone [SOURCE_INSTANCE_NAME] [TARGET_INSTANCE_NAME]
    

cURL

  1. 현재 백업 구성의 값을 가져옵니다.
    gcloud auth login
    ACCESS_TOKEN="$(gcloud auth print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         -X GET \
         https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[SOURCE_INSTANCE_NAME]?fields=settings
    

    출력에 backupConfiguration이 포함됩니다.

    "backupConfiguration": [
     {
        "kind": "sql#backupConfiguration",
        "startTime": "12:00",
        "enabled": false,
        "binaryLogEnabled": false
     }
    
  2. enabled 또는 binaryLogEnabledfalse이면 인스턴스 리소스의 patch 메서드를 사용하여 둘 다 사용 설정합니다. 유지하려는 백업 구성과 변경하려는 백업 구성의 속성을 지정합니다.

    백업을 사용 설정하려면 enabledtrue로, startTime을 백업 기간의 시작 값으로 설정합니다. 바이너리 로깅을 사용 설정하려면 binaryLogEnabledtrue로 설정합니다.

    gcloud auth login
    ACCESS_TOKEN="$(gcloud auth print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         --header 'Content-Type: application/json' \
         --data '{"settings" : {"backupConfiguration" : {"startTime": "[HH:MM]", "enabled": true, "binaryLogEnabled": true}}}' \
         -X PATCH \
         https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[SOURCE_INSTANCE_NAME]
    
  3. 백업 또는 바이너리 로깅이 사용 설정되지 않은 경우에는 백업이 실행될 때까지 기다립니다.

    백업 기간에 따라 하루가 걸릴 수도 있습니다.

  4. 인스턴스를 클론합니다.
    gcloud auth login
    ACCESS_TOKEN="$(gcloud auth print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         --header 'Content-Type: application/json' \
         --data '{"cloneContext": {"kind": "sql#cloneContext",
                  "destinationInstanceName": "[TARGET_INSTANCE_NAME]" }}' \
         -X POST \
         https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[SOURCE_INSTANCE_NAME]/clone
    
이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

MySQL용 Cloud SQL