IP 허용 목록을 사용하여 Cloud SQL Enterprise Plus 버전으로 인스턴스 업그레이드


이 페이지에서는 Database Migration Service의 공개 IP 허용 목록 네트워크 연결 방법을 사용하여 Cloud SQL Enterprise 버전 인스턴스를 Cloud SQL Enterprise Plus 버전으로 업그레이드하는 방법을 설명합니다. Database Migration Service가 새 Cloud SQL 인스턴스를 만들고 이 인스턴스로 데이터를 마이그레이션합니다.

개요

Cloud SQL Enterprise Plus 버전은 최대 쓰기 성능이 필요한 애플리케이션에 적합합니다. 이러한 개선사항에 관한 자세한 내용은 성능 개선사항을 참조하세요.

이러한 기존 Cloud SQL Enterprise 버전 인스턴스 개선사항을 사용 설정하려면 Database Migration Service를 사용하여 Cloud SQL Enterprise Plus 버전으로 업그레이드해야 합니다.

시작하기 전에

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

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

    Go to project selector

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

  6. Database Migration Service API를 사용 설정합니다.

    API 사용 설정

  7. 사용자 계정에 데이터베이스 마이그레이션 관리자 역할이 할당되었는지 확인합니다.

    IAM으로 이동

요구사항

Database Migration Service는 다양한 소스 데이터베이스 옵션과 네트워크 연결 방법을 제공합니다. 소스마다 더 효과적인 연결 방법이 있습니다. 이 페이지에서는 네트워크를 구성하여 인바운드 방화벽 규칙을 추가할 수 있는 환경에서 Cloud SQL Enterprise 버전 인스턴스를 사용하고 있다고 가정합니다. 여기에서는 각 사용자 환경의 세부사항을 알 수 없기 때문에 네트워킹 구성과 관련해서 세부 단계를 제공할 수 없습니다.

소스 인스턴스 구성

소스 Cloud SQL Enterprise 버전 인스턴스를 구성하려면 다음 단계를 완료합니다.

  1. 소스 인스턴스에 대한 postgres 데이터베이스가 없으면 새로 만듭니다. 자세한 내용은 Cloud SQL 인스턴스에서 데이터베이스 만들기를 참조하세요.
  2. 소스 인스턴스의 데이터베이스에 pglogical 패키지를 설치합니다. 패키지가 shared_preload_libraries 변수에 포함되어 있어야 합니다. 자세한 내용은 소스 데이터베이스 구성을 참조하세요.
  3. 소스 인스턴스의 데이터베이스에 논리 복제 및 디코딩을 사용 설정합니다. 자세한 내용은 소스 데이터베이스에 논리 복제 및 디코딩 사용 설정을 참조하세요.

소스 데이터베이스 구성

template0template1 데이터베이스 외에도 Database Migration Service는 소스 Cloud SQL Enterprise 버전 인스턴스의 다른 모든 데이터베이스를 마이그레이션합니다.

위에 언급되지 않은 소스 인스턴스의 각 데이터베이스에서 다음 단계를 완료합니다.

  1. pglogical 확장 프로그램을 데이터베이스에 설치하려면 CREATE EXTENSION IF NOT EXISTS pglogical 명령어를 실행합니다.

  2. 기본 키가 없는 테이블의 경우 UPDATEDELETE 문을 수동으로 마이그레이션합니다.

  3. 마이그레이션된 각 데이터베이스에 이러한 권한을 설정하려면 사용자를 만들거나 기존 사용자의 권한을 설정합니다. 이 사용자를 사용하여 소스 인스턴스에 연결하고 연결 프로필 페이지에서 이를 사용자로 구성합니다. 이 사용자에게는 마이그레이션된 각 데이터베이스와 기본 postgres 데이터베이스에 대한 특정 권한이 있어야 합니다.

    이러한 권한을 설정하려면 인스턴스에 연결하고 다음 명령어를 실행하세요.

    1. GRANT USAGE on SCHEMA SCHEMA to USER: 마이그레이션할 각 데이터베이스의 모든 스키마에서 실행(정보 스키마 및 pg_로 시작하는 스키마 제외)
    2. GRANT USAGE on SCHEMA pglogical to PUBLIC;: 마이그레이션할 각 데이터베이스에서 실행
    3. GRANT SELECT on ALL TABLES in SCHEMA pglogical to USER: 소스 데이터베이스에서 복제 정보를 가져오기 위해 모든 데이터베이스에서 실행
    4. GRANT SELECT on ALL TABLES in SCHEMA SCHEMA to USER: 마이그레이션할 각 데이터베이스의 모든 스키마에서 실행(정보 스키마 및 pg_로 시작하는 스키마 제외)
    5. GRANT SELECT on ALL SEQUENCES in SCHEMA SCHEMA to USER: 마이그레이션할 각 데이터베이스의 모든 스키마에서 실행(정보 스키마 및 pg_로 시작하는 스키마 제외)
    6. ALTER USER USER with REPLICATION role

소스 데이터베이스에 논리 복제 및 디코딩 사용 설정

cloudsql.logical_decodingcloudsql.enable_pglogical 플래그를 On으로 설정하여 소스 Cloud SQL Enterprise 버전 인스턴스의 데이터베이스에 논리 복제 및 디코딩을 사용 설정합니다. 이 플래그에 대한 자세한 내용은 데이터베이스 플래그 구성을 참조하세요.

두 플래그를 모두 사용 설정하려면 다음 단계를 완료합니다.

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

    Cloud SQL 인스턴스로 이동

  2. 소스 인스턴스를 클릭합니다.
  3. 수정을 클릭합니다.
  4. 인스턴스 맞춤설정 섹션에서 구성 옵션 표시 메뉴가 나타나면 클릭합니다.
  5. 플래그 섹션을 펼칩니다.

  6. cloudsql.logical_decodingcloudsql.enable_pglogical 플래그를 설정하려면 다음 단계를 완료합니다.

    1. 데이터베이스 플래그 추가를 클릭합니다.
    2. 드롭다운 메뉴에서 cloudsql.logical_decoding 플래그를 선택합니다.
    3. 이 플래그 값을 On으로 설정합니다.
    4. 완료를 클릭합니다.
    5. cloudsql.enable_pglogical 플래그에 이 단계를 반복합니다.
  7. 저장을 클릭합니다.

  8. 변경사항을 적용하려면 다시 시작 대화상자에서 저장 및 다시 시작을 클릭합니다. Cloud SQL에서 플래그에 적용된 구성 변경사항이 적용될 수 있도록 소스 인스턴스를 다시 시작합니다.

  9. 구성 창의 데이터베이스 플래그 섹션에서 변경사항을 확인합니다.

연결 프로필 만들기

연결 프로필에는 소스 Cloud SQL Enterprise 버전 데이터베이스에 대한 정보가 포함됩니다. Database Migration Service는 연결 프로필의 정보를 사용해서 소스 데이터베이스의 데이터를 대상 Cloud SQL Enterprise Plus 버전 인스턴스로 마이그레이션합니다.

연결 프로필을 만들려면 다음 단계를 완료합니다.

  1. Google Cloud 콘솔에서 Database Migration Service의 연결 프로필 페이지로 이동합니다.

    연결 프로필로 이동

  2. 프로필 만들기를 클릭합니다.

  3. 데이터베이스 엔진 드롭다운 목록에서 PostgreSQL용 Cloud SQL을 선택합니다.

  4. 연결 프로필 이름 필드에 소스 데이터베이스의 연결 프로필 이름을 입력합니다(예: My Connection Profile).

  5. 연결 프로필을 저장하려는 리전을 선택합니다.

  6. Cloud SQL 인스턴스 드롭다운 목록에서 Cloud SQL Enterprise 버전 인스턴스 이름을 선택합니다.

  7. 소스 인스턴스에 인증하려면 사용자 이름과 비밀번호를 입력합니다. 그런 다음 계속을 클릭합니다.

  8. 데이터를 암호화하려면 소스 데이터베이스와 대상 데이터베이스 간의 연결에 SSL/TLS 암호화를 사용 설정합니다. 그렇지 않으면 기본값인 None을 유지합니다.

  9. 계속을 클릭합니다.

  10. 연결 테스트 드롭다운 메뉴에서 공개 IP를 선택합니다.

  11. 소스가 올바르게 구성되었고 Database Migration Service가 소스와 통신할 수 있는지 확인합니다.

    1. 테스트 실행을 클릭합니다.

    2. Your connection profile test was successful! 상태가 표시되는지 확인합니다.

    테스트에 실패하면 흐름의 적절한 부분에서 문제를 해결한 후 다시 테스트할 수 있습니다.

  12. 만들기를 클릭합니다.

마이그레이션 작업 만들기

Database Migration Service는 마이그레이션 작업을 사용하여 소스 Cloud SQL Enterprise 버전 데이터베이스 인스턴스에서 대상 Cloud SQL Enterprise Plus 버전 인스턴스로 데이터를 마이그레이션합니다.

마이그레이션 작업 만들기에는 다음 단계가 포함됩니다.

  • 작업에 대한 설정을 정의합니다.
  • 소스 Cloud SQL Enterprise 버전 데이터베이스용으로 만든 연결 프로필을 선택합니다. 이 프로필이 소스 연결 프로필로 사용됩니다.
  • 대상 Cloud SQL Enterprise Plus 버전 인스턴스의 설정을 정의합니다.
  • 소스 및 대상 데이터베이스 인스턴스 간의 연결을 설정합니다.
  • 마이그레이션 작업을 테스트하여 작업에 대해 제공한 연결 정보가 유효한지 확인합니다.

마이그레이션 작업의 설정 정의

  1. Google Cloud 콘솔에서 Database Migration Service의 마이그레이션 작업 페이지로 이동합니다.

    마이그레이션 작업으로 이동

  2. 마이그레이션 작업 만들기를 클릭합니다.

  3. 마이그레이션 작업 이름 필드에 마이그레이션 작업의 이름(예: My Migration Job)을 입력합니다.

  4. 소스 데이터베이스 엔진 드롭다운 목록에서 PostgreSQL용 Cloud SQL을 선택합니다.

  5. 대상 데이터베이스 엔진 드롭다운 목록에서 PostgreSQL용 Cloud SQL을 선택합니다.

  6. Cloud SQL Enterprise Plus 버전 인스턴스가 생성되는 대상 리전을 선택합니다.

  7. 소스 Cloud SQL Enterprise 버전 데이터베이스에서 진행 중인 변경사항을 대상 Cloud SQL Enterprise Plus 버전 인스턴스로 마이그레이션하려는 경우 마이그레이션 작업 유형 드롭다운 목록에서 지속적을 선택합니다.

  8. 마이그레이션 작업에 맞게 환경을 준비해야 하는 방법이 자동으로 반영되도록 생성된 필수 기본 요건을 검토합니다. 이러한 기본 요건에는 소스 Cloud SQL Enterprise 버전 데이터베이스를 구성하는 방법과 대상 Cloud SQL Enterprise Plus 버전 인스턴스에 연결하는 방법이 포함될 수 있습니다.

    이 단계에서 이러한 기본 요건을 완료하는 것이 좋지만, 마이그레이션 작업을 테스트하거나 시작하기 전 언제라도 이를 완료할 수 있습니다.

  9. 저장하고 계속하기를 클릭합니다.

소스 연결 프로필 정보 지정

  1. 소스 연결 프로필 선택 드롭다운 목록에서 자신이 만든 연결 프로필을 선택합니다.

  2. 저장하고 계속하기를 클릭합니다.

대상 Cloud SQL Enterprise Plus 버전 인스턴스 설정 정의

  1. 비밀번호 필드에 대상 Cloud SQL Enterprise Plus 버전 인스턴스의 영숫자 비밀번호를 입력합니다. 이는 인스턴스의 postgres 관리자 계정 비밀번호입니다.

  2. 데이터베이스 버전 드롭다운 목록에서 지정된 데이터베이스 엔진에 지원되는 Cloud SQL 버전 목록의 대상 인스턴스를 선택합니다.

  3. Enterprise Plus를 선택합니다.

  4. 리전 및 영역 선택 섹션에서 새 Cloud SQL Enterprise Plus 버전 인스턴스에 원하는 Google Cloud 영역을 선택하거나 자동 선택으로 둡니다.

  5. 공개 IP 체크박스를 선택합니다.

  6. Cloud SQL Enterprise Plus 버전 인스턴스의 머신 형태를 선택합니다. 디스크 크기는 소스 데이터베이스 크기 이상이어야 합니다.

  7. Cloud SQL 인스턴스의 스토리지 유형과 스토리지 용량을 정의합니다.

  8. 새 인스턴스를 만들려면 만들기 및 계속을 클릭합니다.

  9. 대화상자가 나타나면 대상 만들기 및 계속을 클릭합니다. 인스턴스 생성을 완료하는 데 몇 분 정도 걸릴 수 있습니다.

연결 설정

  1. 연결 방법 드롭다운 목록에서 IP 허용 목록을 선택합니다.
  2. 대상 Cloud SQL Enterprise Plus 버전 인스턴스의 발신 IP 주소를 사용하여 소스 Cloud SQL Enterprise 버전 인스턴스에 연결하려면 다음 단계를 완료합니다.

    1. 대상 발신 IP 주소 리전에서 모두 복사를 클릭합니다.
    2. 브라우저에서 별도의 탭을 엽니다.
    3. Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.

      Cloud SQL 인스턴스로 이동

    4. 소스 인스턴스를 클릭합니다.
    5. 수정을 클릭합니다.
    6. 인스턴스 맞춤설정 섹션에서 구성 옵션 표시 메뉴가 나타나면 클릭합니다.
    7. 연결 섹션을 클릭합니다.
    8. 네트워크 추가를 클릭합니다.
    9. 이름 필드에 복사한 첫 번째 IP 주소를 나타내는 네트워크의 이름(예: My First Network)을 입력합니다. 이 네트워크는 소스 Cloud SQL Enterprise 버전과 대상 Cloud SQL Enterprise Plus 버전 데이터베이스 인스턴스 간의 연결을 설정하는 데 사용됩니다.
    10. 네트워크 필드에 복사한 첫 번째 IP 주소와 /32를 차례로 입력합니다. 이렇게 하면 네트워크가 이 IP 주소로부터 들어오는 연결만 허용하도록 제한됩니다.
    11. 완료를 클릭합니다.
    12. 복사한 각 IP 주소마다 이 단계를 반복합니다.
    13. 저장을 클릭합니다. Cloud SQL에서 구성 변경사항이 적용될 수 있도록 소스 Cloud SQL Enterprise 버전 인스턴스를 다시 시작합니다.

  3. 마이그레이션 작업이 포함된 탭에서 저장 및 계속을 클릭합니다.

마이그레이션 작업 테스트, 만들기, 시작

  1. 마이그레이션 작업에 선택한 설정을 검토합니다.

  2. 소스가 올바르게 구성되었고 소스 Cloud SQL Enterprise 버전 및 대상 Cloud SQL Enterprise Plus 버전 인스턴스가 서로 통신할 수 있으며 마이그레이션 작업이 유효한지 확인합니다.

    1. 작업 테스트를 클릭합니다.

    2. Your migration job test was successful! 상태가 표시되는지 확인합니다.

    테스트에 실패하면 흐름의 적절한 부분에서 문제를 해결한 후 다시 테스트할 수 있습니다.

  3. 마이그레이션 작업을 만들고 즉시 시작하려면 작업 만들기 및 시작을 클릭합니다.

  4. 대화상자가 나타나면 만들기 및 시작을 클릭합니다.

  5. 마이그레이션 작업 페이지에서 마이그레이션 작업의 상태가 Starting인지 확인합니다.

  6. 몇 분 후에 상태가 Running으로 변경되는지 확인합니다.

마이그레이션 작업 확인

Database Migration Service가 마이그레이션 작업을 사용하여 소스 Cloud SQL Enterprise 버전 데이터베이스 인스턴스에서 대상 Cloud SQL Enterprise Plus 버전 데이터베이스 인스턴스로 데이터를 마이그레이션했는지 확인하려면 다음 단계를 완료합니다.

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

    Cloud SQL 인스턴스로 이동

  2. 마이그레이션 작업의 읽기 복제 항목을 클릭합니다.

  3. 검색 필드 옆에 표시되는 Cloud Shell 활성화 아이콘을 클릭합니다.
  4. 프롬프트에서 대상 Cloud SQL Enterprise Plus 버전 데이터베이스 인스턴스에 연결하도록 gcloud sql connect 명령어를 사용합니다.

    gcloud sql connect DESTINATION_INSTANCE_NAME --user=postgres

    DESTINATION_INSTANCE_NAME을 대상 Cloud SQL Enterprise Plus 버전 인스턴스 이름으로 바꿉니다.

  5. 선택사항: Cloud Shell 승인 대화상자가 표시되면 승인을 클릭합니다.
  6. 비밀번호 입력 프롬프트에서 대상 Cloud SQL Enterprise Plus 버전 인스턴스 설정 정의에서 제공한 비밀번호를 입력합니다.
  1. postgres 프롬프트에서 데이터베이스를 나열하고 소스 Cloud SQL Enterprise 버전 데이터베이스 인스턴스가 표시되는지 확인하려면 \list를 입력합니다.
  2. postgres 프롬프트에서 이 데이터베이스 인스턴스와 연결된 테이블을 보려면 \connect SOURCE_DB_NAME를 입력합니다. 프롬프트 이름이 postgres에서 SOURCE_DB_NAME으로 변경됩니다.
  3. SOURCE_DB_NAME 프롬프트에서 이 인스턴스의 테이블을 보려면 \dt를 입력합니다.
  4. SOURCE_DB_NAME 프롬프트에서 이 사용자에게 인스턴스의 테이블에 있는 데이터에 액세스할 수 있는 권한을 부여하려면 GRANT cloudsqlexternalsync to USER;를 입력합니다.

    USER를 대상 Cloud SQL Enterprise Plus 버전 데이터베이스 인스턴스에 연결하는 데 사용한 사용자 이름으로 바꿉니다.

  5. SOURCE_DB_NAME 프롬프트에서 소스 Cloud SQL Enterprise 버전 데이터베이스 인스턴스의 테이블에서 복제된 정보를 보려면 SELECT * from TABLE_NAME;을 입력합니다.
  6. 테이블에 올바른 정보가 표시되는지 확인합니다.

마이그레이션 작업 승격

마이그레이션 작업을 승격하면 기본 데이터베이스가 소스 Cloud SQL Enterprise 버전 데이터베이스 인스턴스에서 대상 Cloud SQL Enterprise Plus 버전 데이터베이스 인스턴스로 바뀝니다.

마이그레이션 작업을 승격하려면 다음 단계를 완료합니다.

  1. 마이그레이션 작업 페이지로 돌아갑니다.

  2. 승격할 마이그레이션 작업을 클릭합니다. 마이그레이션 작업 세부정보 페이지가 표시됩니다.

  3. 소스 Cloud SQL Enterprise 버전 데이터베이스에 대한 모든 쓰기를 중지합니다.

  4. 복제 지연이 최소화되었는지 확인합니다.

  5. 승격할 마이그레이션 작업을 클릭합니다. 이 작업의 상태는 Running입니다.

  6. 마이그레이션 작업을 승격하려면 승격을 클릭합니다.

  7. 대화상자가 표시되면 승격을 클릭합니다.

  8. 마이그레이션 작업의 상태가 Promote in progress인지 확인합니다. 몇 분 후에 상태가 Completed로 변경되는지 확인합니다.

새 Cloud SQL Enterprise Plus 버전 데이터베이스 인스턴스를 사용할 준비가 되었습니다.

삭제

이 페이지에서 사용한 리소스의 비용이 Google Cloud 계정에 청구되지 않도록 하려면 마이그레이션 작업, 연결 프로필, 소스 Cloud SQL Enterprise 버전 인스턴스, 프로젝트가 필요하지 않은 경우 Google Cloud 콘솔을 사용하여 이를 삭제합니다.

다음 단계