외부 서버에서 복제(v1)

이 페이지에서는 소스 데이터베이스 서버에서 MySQL 복제본으로 데이터를 복제하는 구성을 만드는 방법을 설명합니다.

소스 데이터베이스 서버는 Cloud SQL 인스턴스를 포함하여 모든 서버 요구사항을 충족하는 MySQL 서버가 될 수 있습니다. 다른 클라우드 제공업체가 호스팅하는 인스턴스도 GTID 지원을 비롯한 요구사항을 충족하는 경우 데이터 소스로 사용할 수 있습니다.

이 구성에 대한 자세한 내용은 외부 서버에서 복제하는 방법을 참조하세요.

시작하기 전에

외부 서버에서의 복제를 설정하기 전에 다음 단계를 완료해야 합니다.

  • Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  • In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  • Make sure that billing is enabled for your Google Cloud project.

  • In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  • Make sure that billing is enabled for your Google Cloud project.

  • Enable the Cloud SQL Admin API.

    Enable the API

  • gcloud CLI를 설치하고 인증합니다.
  • 서버가 소스 데이터베이스 서버 요건을 충족하는지 확인합니다.
  • 기본 인스턴스와 복제본 간 연결에 필요한 보안 수준을 결정하고 필요한 인증서 파일을 가져옵니다.
  • Cloud SQL 복제본을 포함할 Google Cloud 리전을 결정합니다.
  • 소스 데이터베이스 서버에 필요한 정보를 어셈블합니다.

    • 외부 IPv4 주소 및 포트 번호

      기본적으로 MySQL은 포트 3306을 사용합니다.

    • MySQL 복제 사용자 계정 및 비밀번호
    • MySQL 버전 번호
    • 선택한 보안 수준에 따른 모든 필수 SSL/TLS 인증서 및 키
  • Cloud SQL 복제본의 연결을 수락할 수 있도록 소스 데이터베이스 서버의 네트워크 방화벽 업데이트를 준비합니다.

    이 단계는 복제본이 생성되는 30분 이내에 완료되어야 합니다.

  • 프로젝트 소유자가 아닌 경우 Storage Admin 역할이 부여되어 있어야 합니다.

소스 데이터베이스 서버 요구사항

외부 서버에서 Cloud SQL 복제본으로 복제하려면 먼저 소스 데이터베이스 서버가 다음 구성 요구사항을 충족해야 합니다.

구성 프로세스

외부 데이터베이스 서버에서 복제를 설정하려면 다음 단계를 수행합니다.

  1. 데이터를 위한 Cloud Storage 버킷을 만듭니다.
  2. Cloud Storage로 데이터를 내보냅니다.
  3. 복제 구성을 설정합니다.
  4. 소스 데이터베이스 서버가 복제본의 연결을 수락하도록 구성합니다.

  5. MySQL 복제 사용자에 대한 액세스를 제한합니다.

  6. 복제본 구성을 완료합니다.

  7. 복제 상태를 확인합니다.

  8. 저장소를 정리합니다.

1. 데이터를 위한 Cloud Storage 버킷 만들기

내보내기 프로세스 중 데이터를 임시로 저장할 버킷을 만들거나 기존 버킷을 사용합니다.

버킷 만들기에 대한 자세한 내용은 저장소 버킷 만들기를 참조하세요. 스토리지 관리자 역할에 대한 자세한 내용은 Cloud Storage IAM 역할을 참조하세요.

2. Cloud Storage로 데이터 내보내기

복제본은 Cloud Storage에서 데이터를 찾으므로 서버의 데이터 사본을 여기에 두어야 합니다. 내보내기 후에는 계속해서 서버에 대한 쓰기 작업을 수락할 수 있습니다. 복제본이 덤프 파일 가져오기를 완료하면 내보내기 수행 이후의 모든 변경사항이 처리되기 시작하며 결국에는 기본 인스턴스를 따라잡게 됩니다.

gcloud CLI가 설치되고 MySQL 서버와 네트워크가 연결된 머신에서 다음 명령어를 실행합니다.

mysqldump \
    -h [PRIMARY_INSTANCE_IP] -P [PRIMARY_INSTANCE_PORT] -u [USERNAME] -p \
    --databases [DBS]  \
    --hex-blob  --skip-triggers  --master-data=1  \
    --order-by-primary --no-autocommit \
    --default-character-set=utf8mb4 \
    --single-transaction --set-gtid-purged=on | gzip | \
    gcloud storage cp - gs://[BUCKET]/[PATH_TO_DUMP]

If the source of the migration is a Relational Database Service (RDS) for MySQL,
the master-data flag is not supported and should not be specified.
This command might look like the following example:

mysqldump \
    -h [PRIMARY_INSTANCE_IP] -P [PRIMARY_INSTANCE_PORT] -u [USERNAME] -p \
    --databases [DBS]  \
    --hex-blob  --skip-triggers \
    --order-by-primary --no-autocommit \
    --default-character-set=utf8mb4 \
    --single-transaction --set-gtid-purged=on | gzip | \
    gcloud storage cp - gs://[BUCKET]/[PATH_TO_DUMP]

Additionally, you should configure RDS instances to retain binlogs for a
a longer period of time.
This command might look like the following example:

// Sets the retention period to one day.
call mysql.rds_set_configuration('binlog retention hours', 24);

[PROPERTIES_IN_BRACKETS]를 다음 값으로 바꿉니다.

속성
[PRIMARY_INSTANCE_IP] 소스 데이터베이스 서버의 IPv4 주소입니다.
[PRIMARY_INSTANCE_PORT] 소스 데이터베이스 서버의 포트입니다.
[USERNAME] MySQL 복제 사용자 계정입니다.
[PASSWORD] MySQL 복제 사용자 계정의 비밀번호입니다.
[DBS] 시스템 데이터베이스(sys, mysql, performance_schema, information_schema)를 제외하고 소스 데이터베이스 서버의 모든 데이터베이스가 쉼표로 구분되어 나열된 목록입니다. 데이터베이스를 나열하려면 SHOW DATABASES MySQL 명령어를 사용합니다.
[BUCKET] 내보내기 파일을 보관하기 위해 만든 버킷의 이름입니다.
[PATH_TO_DUMP] 내보내기 파일의 경로입니다.

부분 덤프 및 GTID에 대한 경고가 나타날 경우 이는 예상된 현상입니다.

이 명령어는 다음 예시처럼 표시될 수 있습니다.

mysqldump \
    -h 192.0.2.1 -P 3306 -u replicationUser \
    --databases guestbook  \
    --hex-blob  --skip-triggers  --master-data=1  \
    --order-by-primary --no-autocommit \
    --default-character-set=utf8mb4 \
    --single-transaction --set-gtid-purged=on | gzip | \
    gcloud storage cp - gs://export-bucket/hq-primary1.sql.gz

3. 복제 구성 만들기

복제본이 비공개 IP를 사용하는 경우 복제본의 VPC에서 액세스하려면 소스 데이터베이스 서버를 구성해야 합니다. 비공개 VPC에서 복제본 만들기는 gcloud CLI 및 Cloud SQL Admin API를 통해서만 지원됩니다.

콘솔

이 단계는 Cloud SQL 복제본 및 소스 표현 인스턴스를 만듭니다.

  1. Google Cloud 콘솔에서 Cloud SQL 인스턴스 목록을 엽니다.

    인스턴스 목록 열기

  2. 버튼 모음에서 데이터 이전을 클릭하여 Cloud SQL 이전 어시스턴트를 엽니다.

  3. 이전 시작을 클릭합니다.

  4. 소스 데이터베이스 이름 필드에 Cloud SQL의 복제 구성 이름을 입력합니다.

    이 이름은 구성을 참조하기 위한 것입니다. 유효한 Cloud SQL 인스턴스 이름을 사용하세요.

  5. 소스 데이터베이스 서버의 IP 주소 및 포트 번호를 입력합니다.

  6. 복제 연결에 사용될 MySQL 사용자의 사용자 이름 및 비밀번호를 제공합니다.

  7. 소스 데이터베이스 서버의 MySQL 버전을 선택합니다.

  8. 복제본과 소스 데이터베이스 서버 간 연결에 SSL/TLS를 사용하는 경우(권장사항) SSL/TLS 보안 사용을 선택하고 소스 서버의 SSL/TLS 인증서 정보를 제공합니다.

    SSL/TLS 옵션에 대한 자세한 내용은 SSL/TLS 옵션을 참조하세요.

  9. Next(다음)를 클릭하고 복제본에 대한 세부정보를 작성합니다.

    가져오기가 가능한 한 효율적으로 실행될 수 있도록 하려면 복제본에 데이터베이스를 포함할 충분한 저장소를 구성합니다. 코어와 메모리의 크기를 소스 서버와 유사한 크기로 조정합니다.

  10. 이전에 Cloud Storage에 업로드한 덤프 파일의 경로를 제공합니다.

  11. 만들기를 클릭하여 복제본을 만듭니다.

  12. 다음을 클릭합니다.

gcloud

  1. 소스 표현 인스턴스를 만듭니다.

    gcloud beta sql instances create [REPLICA_NAME] \
        --region=[REGION] --database-version=[MYSQL_VERSION] \
        --source-ip-address=[SOURCE_IP] --source-port=[SOURCE_PORT]
    

    복제본이 비공개 IP 주소를 사용하는 경우 --network=[VPC_NETWORK_NAME]도 추가합니다.

    [PROPERTIES_IN_BRACKETS]를 다음 값으로 바꿉니다.

    속성
    [SOURCE_REPRESENTATION_NAME] 소스 표현 인스턴스의 이름입니다. 유효한 Cloud SQL 인스턴스 이름을 사용합니다.
    [REGION] Cloud SQL 복제본을 상주시킬 리전입니다.
    [MYSQL_VERSION] 소스 데이터베이스 서버에서 실행 중인 MySQL 버전으로, MYSQL_5_6 또는 MYSQL_5_7입니다.
    [SOURCE_IP] 외부에서 액세스 가능한 소스 데이터베이스 서버의 IPv4 주소입니다.
    [SOURCE_PORT] 외부에서 액세스 가능한 소스 데이터베이스 서버의 포트입니다.
  2. Cloud SQL 복제본을 만듭니다.

    gcloud beta sql instances create [REPLICA_NAME] \
        --master-instance-name=[SOURCE_REPRESENTATION_NAME] \
        --master-username=[USERNAME] --prompt-for-master-password \
        --master-dump-file-path=gs://[BUCKET]/[PATH_TO_DUMP] \
        --master-ca-certificate-path=[SOURCE_SERVER_CA_PATH] \
        --client-certificate-path=[CLIENT_CERT_PATH] \
        --client-key-path=[PRIVATE_KEY_PATH] \
        --tier=[MACHINE_TYPE] --storage-size=[DISK_SIZE]
    

    복제본이 비공개 IP 주소를 사용하는 경우 --network=[VPC_NETWORK_NAME]도 추가합니다.

    [PROPERTIES_IN_BRACKETS]를 다음 값으로 바꿉니다.

    속성
    [REPLICA_NAME] Cloud SQL 읽기 복제본의 이름입니다. 유효한 Cloud SQL 인스턴스 이름을 사용합니다.
    [SOURCE_REPRESENTATION_NAME] 이전 단계에서 만든 소스 표현 인스턴스의 이름입니다.
    [USERNAME] 소스 데이터베이스 서버의 MySQL 복제 사용자 계정입니다.
    [BUCKET] 내보내기 파일을 보관하기 위해 만든 버킷의 이름입니다.
    [PATH_TO_DUMP] 내보내기 파일의 경로입니다.
    [SOURCE_SERVER_CA_PATH] 소스 데이터베이스 서버의 CA 인증서가 저장된 로컬 경로입니다. SSL/TLS에만 필요합니다.
    [CLIENT_CERT_PATH] 클라이언트 인증서가 저장된 로컬 경로입니다. 서버-클라이언트 인증에만 필요합니다.
    [PRIVATE_KEY_PATH] 클라이언트 인증서의 개인 키 파일이 저장된 로컬 경로입니다. 서버-클라이언트 인증에만 필요합니다.
    [MACHINE_TYPE] 복제본 크기입니다. 일반적으로 복제본 크기는 소스 데이터베이스 서버 크기와 비슷합니다. 어떤 머신 유형을 사용할지 모르겠으면 db-custom-2-7680로 시작하세요. 필요한 경우 나중에 크기를 변경할 수 있습니다.
    [DISK_SIZE] 복제본의 스토리지 크기(GB)입니다. 최상의 성능을 위해 전체 가져오기 파일을 보관할 스토리지가 충분한 복제본을 만드세요.
    [VPC_NETWORK_NAME] projects/[PROJECT_ID]/global/networks/[NETWORK_NAME] 형식의 VPC

cURL

1. Cloud SQL 소스 표현 인스턴스 만들기

gcloud auth login
ACCESS_TOKEN="$(gcloud auth print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{
         "name": "[SOURCE_REPRESENTATION_NAME]",
         "region": "[REGION]",
         "databaseVersion": "[MYSQL_VERSION]",
         "onPremisesConfiguration": {
             "hostPort": "[SOURCE_SERVER_IP]:[SOURCE_SERVER_PORT]"
         }
     }' \
     -X POST \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances

[PROPERTIES_IN_BRACKETS]를 다음 값으로 바꿉니다.

속성
[SOURCE_REPRESENTATION_NAME] 소스 표현 인스턴스의 이름입니다. 유효한 Cloud SQL 인스턴스 이름을 사용합니다.
[REGION] Cloud SQL 복제본을 상주시킬 리전입니다.
[MYSQL_VERSION] 소스 데이터베이스 서버에서 실행 중인 MySQL 버전으로, MYSQL_5_6 또는 MYSQL_5_7입니다.
[SOURCE_SERVER_IP] 외부에서 액세스 가능한 소스 데이터베이스 서버의 IPv4 주소입니다.
[SOURCE_SERVER_PORT] 외부에서 액세스 가능한 소스 데이터베이스 서버의 포트입니다.
[PROJECT_ID] Google Cloud 프로젝트의 프로젝트 ID입니다.

예를 들어 포트 3306에서 열려 있는 IP 주소가 192.0.2.0이고 MyProject 프로젝트 및 us-central1 리전에서 Cloud SQL 복제본에 MySQL 5.7을 실행 중인 소스 데이터베이스 서버에 이름이 hq-primary1인 소스 표현 인스턴스를 만들려면 다음 명령어를 사용합니다.

gcloud auth login
ACCESS_TOKEN="$(gcloud auth print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{
         "name": "hq-primary1",
         "region": "us-central1",
         "databaseVersion": "MYSQL_5_7",
         "onPremisesConfiguration": {
             "hostPort": "192.0.2.0:3306"
         }
     }' \
     -X POST \
     https://www.googleapis.com/sql/v1beta4/projects/MyProject/instances

2. Cloud SQL 복제본 만들기

이 단계에서는 소스 표현 서버로 소스 데이터베이스 서버를 표현하여 Cloud SQL 읽기 복제본을 만들고, 이전 단계에서 Cloud Storage에 로드한 데이터를 복제본에 제공합니다.

이 API 호출을 사용하려면 민감한 정보를 입력해야 하므로 명령줄에 데이터를 제공하지 말고 JSON 파일을 사용하여 데이터를 cURL에 제공해야 합니다.

데이터 파일을 만듭니다.

{
    "replicaConfiguration": {
        "mysqlReplicaConfiguration": {
            "username": "[USERNAME]",
            "password": "[PASSWORD]",
            "dumpFilePath": "gs://[BUCKET]/[PATH_TO_DUMP]",
            "caCertificate": "[SOURCE_SERVER_CA]",
            "clientCertificate": "[CLIENT_CERT]",
            "clientKey": "[PRIVATE_KEY]"
        }
     },
     "settings": {
         "tier": "[MACHINE_TYPE]",
         "dataDiskSizeGb": "[DISK_SIZE]"
     },
     "masterInstanceName": "[SOURCE_REPRESENTATION_NAME]",
     "region": "[REGION]",
     "databaseVersion": "[MYSQL_VERSION]",
     "name": "[REPLICA_NAME]"
}

복제본이 비공개 IP 주소를 사용하는 경우 'ipConfiguration.privateNetwork' 설정을 'projects/[PROJECT_ID]/global/networks/[NETWORK_NAME]' 형식의 값으로 추가합니다.

[PROPERTIES_IN_BRACKETS]를 다음 값으로 바꿉니다.

속성
[USERNAME] 소스 데이터베이스 서버의 MySQL 복제 사용자 계정입니다.
[PASSWORD] MySQL 복제 사용자 계정의 비밀번호입니다.
[BUCKET] 내보내기 파일을 보관하기 위해 만든 버킷의 이름입니다.
[PATH_TO_DUMP] 내보내기 파일의 경로입니다.
[SOURCE_SERVER_CA] 소스 데이터베이스 서버의 CA 인증서입니다. SSL/TLS에만 필요합니다. 인증서를 요청 본문에 붙여넣습니다.
[CLIENT_CERT] 클라이언트 인증서입니다. 서버-클라이언트 인증에만 필요합니다. 인증서를 요청 본문에 붙여넣습니다.
[PRIVATE_KEY] 클라이언트 인증서의 개인 키 파일입니다. 서버-클라이언트 인증에만 필요합니다. 키를 요청 본문에 붙여넣습니다.
[MACHINE_TYPE] 복제본 크기입니다. 일반적으로 복제본 크기는 소스 데이터베이스 서버 크기와 비슷합니다. 어떤 머신 유형을 사용할지 모르겠으면 db-custom-2-7680로 시작하세요. 필요한 경우 나중에 크기를 변경할 수 있습니다.
[DISK_SIZE] 복제본 저장용 스토리지 크기(GB)입니다. 최상의 성능을 발휘하려면 전체 가져오기를 보관할 수 있는 충분한 스토리지로 복제본을 만드세요.
[SOURCE_REPRESENTATION_NAME] 이전에 만든 소스 표현 인스턴스의 이름입니다.
[REGION] 소스 표현 인스턴스를 만든 리전입니다. 읽기 복제본은 소스 표현 인스턴스와 같은 리전에 있어야 합니다.
[MYSQL_VERSION] 소스 데이터베이스 서버에서 실행 중인 MySQL 버전으로, MYSQL_5_6 또는 MYSQL_5_7입니다.
[REPLICA_NAME] Cloud SQL 읽기 복제본의 이름입니다. 유효한 Cloud SQL 인스턴스 이름을 사용합니다.

명령줄에서 API를 호출합니다.

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

앞에서 만든 소스 표현 인스턴스 및 버킷에서 데이터 파일 data.json은 다음 예시와 같이 표시될 수 있습니다.

{
    "replicaConfiguration": {
        "mysqlReplicaConfiguration": {
            "username": "replicationUser",
            "password": "486#@%*@",
            "dumpFilePath": "gs://export-bucket/hq-primary1.sql.gz",
            "caCertificate": "[SOURCE_SERVER_CA]",
            "clientCertificate": "[CLIENT_CERT]",
            "clientKey": "[PRIVATE_KEY]"
        }
    },
    "settings": {
        "tier": "db-custom-4-15360",
        "dataDiskSizeGb": "100"
    },
    "masterInstanceName": "hq-primary1",
    "region": "us-central1",
    "databaseVersion": "MYSQL_5_7",
    "name": "hq-primary1-replica1"
}

cURL 명령어는 다음과 같이 표시될 수 있습니다.

curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data @./data.json
     -X POST \
     https://www.googleapis.com/sql/v1beta4/projects/MyProject/instances

읽기 복제본이 덤프 파일에 액세스할 수 있을 때 가져오기 프로세스를 시작합니다. 가져오기 프로세스의 시간은 덤프 파일 크기, 복제본 머신 유형, 데이터베이스 스키마에 따라 다릅니다. 일반적으로 복제본이 시간당 약 25~50GB를 가져온다는 예측을 기준으로 삼아 추정합니다.

복제본은 가져오기 프로세스가 완료될 때까지 PENDING_CREATE 상태로 유지되며, 이때 복제본은 RUNNABLE 상태로 변경됩니다.

4. 소스 데이터베이스 서버가 복제본의 연결을 수락하도록 구성

복제가 성공하려면 복제본이 소스 데이터베이스 서버에 연결되어야 합니다. 소스 데이터베이스 서버가 방화벽 뒤에 있거나 일부 다른 네트워크 제한이 적용되는 경우 복제본의 OUTGOING IP 주소를 사용하여 복제본에 대한 네트워크 액세스를 사용 설정해야 합니다. 이는 Google Cloud 콘솔에서 복제본의 주요 목록에 표시되는 IP 주소가 아닙니다. 마우스로 IP 주소의 추가 정보 도구 팁을 가리키거나 아래 gcloud 명령어를 사용하여 OUTGOING IP 주소를 검색할 수 있습니다.

  1. 읽기 복제본의 IP 주소를 검색합니다.

    gcloud sql instances describe [REPLICA_NAME] --format="default(ipAddresses)"
  2. 필요한 경우 OUTGOING IP 주소의 연결을 허용하도록 소스 데이터베이스 서버의 네트워크 방화벽을 구성합니다.
  3. 복제본이 소스 데이터베이스 서버에 성공적으로 연결되었는지 확인합니다.

    1. 인스턴스 등록 페이지에서 복제본 아이콘은 더 이상 회전 중이 아니며 초록색이어야 합니다.
    2. Google Cloud 콘솔에서 로그 뷰어로 이동합니다.

      로그 뷰어로 이동

    3. 인스턴스 드롭다운에서 복제본을 선택합니다.
    4. replication-setup.log 로그 파일을 선택합니다.

      복제본이 소스 데이터베이스 서버에 연결되지 않을 경우 다음 항목을 확인합니다.

      • 소스 데이터베이스 서버의 모든 방화벽이 복제본의 OUTGOING IP 주소의 연결을 허용하도록 구성되어 있습니다.
      • SSL/TLS 구성이 올바릅니다.
      • 복제 사용자, 호스트, 비밀번호가 올바릅니다.

5. MySQL 복제 사용자에 대한 액세스 제한

이 단계는 선택사항이지만 보안을 위해 권장됩니다.

소스 데이터베이스 서버의 MySQL 복제 사용자는 모든 호스트(%)의 연결을 수락하도록 구성되어 있습니다. 해당 사용자 계정이 복제본의 OUTGOING IP 주소 연결만 수락하도록 업데이트합니다.

    UPDATE mysql.user SET Host='[OUTGOING_IP]' WHERE Host='%' AND User='[USERNAME]';
    FLUSH PRIVILEGES;

6. 복제본 구성 완료

  1. 복제본의 사용자 계정을 구성합니다.

    Google Cloud 콘솔, gcloud CLI 도구 또는 Cloud SQL API를 사용하여 이 작업을 수행할 수 있습니다. 하지만 mysql 클라이언트는 사용할 수 없습니다. MySQL 사용자에 관한 자세한 내용은 MySQL 사용자를 참조하세요.

    Google Cloud 콘솔을 사용하여 사용자를 만들려면 다음 안내를 따르세요.

    1. Google Cloud Console의 Cloud SQL 인스턴스 페이지로 이동합니다.
      Cloud SQL 인스턴스 페이지로 이동
    2. 인스턴스 이름을 클릭하여 인스턴스 세부정보 페이지를 엽니다.
    3. 사용자 탭을 선택합니다.
    4. 사용자 계정 만들기를 클릭합니다.
    5. 사용자 계정 만들기 대화상자에서 사용자의 세부정보를 지정합니다.
    6. 만들기를 클릭합니다.
  2. 공개 IP 주소를 사용하여 복제본에 연결하는 데 사용할 모든 클라이언트의 복제본에 대한 액세스를 승인합니다.

    자세한 내용은 승인된 주소 또는 주소 범위 추가하기를 참조하세요. 복제본에 연결하려면 복제본의 PRIMARY IP 주소를 사용합니다. 이 IP 주소는 Google Cloud 콘솔에 표시됩니다.

    복제본에 연결하는 데 다른 연결 방법도 사용할 수 있습니다.

7. 복제 상태 확인

복제본이 덤프 파일 가져오기를 완료하면 온프레미스 서버에 연결되고 내보내기 후에 실행된 모든 업데이트를 적용합니다.

복제본을 독립 실행형 인스턴스로 승격하기 전에 복제 상태를 확인하는 것이 중요합니다. 복제 프로세스가 완료되지 않고 성공하는 경우, 승격된 복제본에 외부 인스턴스의 일부 변경사항이 없는 것입니다.

8. (선택사항) 복제본을 독립 실행형 인스턴스로 승격

복제 상태를 확인한 후 소스 데이터베이스 서버를 Cloud SQL로 완전히 바꾸려면('마이그레이션') 독립 실행형 기본 인스턴스로 복제본을 승격합니다. 복제본이 기본 인스턴스가 되면 더 이상 원본 소스 데이터베이스 서버에 연결되지 않습니다.

새 기본 인스턴스의 새 복제본을 만들고 연결하는 애플리케이션을 다시 시작하여 새 기본 인스턴스(쓰기 작업의 경우)나 새 복제본(읽기 작업의 경우)을 가리키도록 합니다.

9. 스토리지 정리

  1. 내보내기 파일을 삭제합니다.

    gcloud storage rm gs://[BUCKET]/[PATH_TO_DUMP]
    
  2. 버킷이 더 이상 필요하지 않으면 버킷을 삭제합니다.

    gcloud storage rm gs://[BUCKET] --recursive
    

자세한 내용은 객체 삭제버킷 삭제에 대한 Cloud Storage 문서를 참조하세요.

구성 업데이트

구성 설정을 나중에 업데이트하려면 소스 표현 인스턴스를 수정하면 됩니다. 온프레미스 구성 설정을 업데이트해야 하는 경우 hostPorttype은 업데이트할 수 없습니다.

다음 단계