개요
Database Migration Service는 마이그레이션 작업을 사용하여 소스 데이터베이스 인스턴스에서 대상 Cloud SQL 데이터베이스 인스턴스로 데이터를 마이그레이션합니다.마이그레이션 작업을 만들면 다음이 포함됩니다.
- 마이그레이션 작업의 설정 정의
- 소스 데이터베이스에 대해 만든 연결 프로필 (소스 연결 프로필)에 관한 정보 지정
- 대상 Cloud SQL 데이터베이스 인스턴스의 설정 정의 및 인스턴스 만들기
- 소스 및 대상 데이터베이스 인스턴스 간의 연결 설정
- 마이그레이션 작업을 테스트하여 작업에 대해 제공한 연결 정보가 유효한지 확인합니다.
Database Migration Service 마법사를 사용하면 마이그레이션 작업을 만들 수 있습니다. 마법사는 시작하기, 소스 정의, 대상 정의, 연결 방법 정의, 마이그레이션 데이터베이스 구성, 마이그레이션 작업 테스트 및 만들기의 6개 창으로 구성됩니다. 각 창을 채우는 방법에 관한 정보는 이 페이지의 여러 섹션을 참고하세요.
마이그레이션 작업의 설정 정의
- Google Cloud Console에서 이전 작업 페이지로 이동합니다.
- 페이지 상단에서 마이그레이션 작업 만들기를 클릭합니다.
마이그레이션 작업의 이름을 입력합니다.
이전 작업을 식별하는 데 도움이 되는 별칭을 선택합니다. 작업 이름에 민감한 정보나 개인 식별 정보를 포함하지 마세요.
자동 생성된 이전 작업 ID를 그대로 둡니다.
소스 데이터베이스 엔진을 선택합니다.
대상 데이터베이스 엔진을 선택합니다.
이전할 대상 리전을 선택합니다. Database Migration Service 인스턴스가 생성되는 위치이며, Compute Engine 인스턴스, App Engine 앱, 기타 서비스와 같이 데이터가 필요한 서비스의 위치에 따라 선택해야 합니다. 대상 리전을 선택한 후에는 이 선택사항을 변경할 수 없습니다.
마이그레이션 작업 유형(일회성(스냅샷만 해당) 또는 연속(스냅샷 + 진행 중인 변경사항))을 지정합니다.
마이그레이션 작업에 맞게 환경을 준비해야 하는 방법이 자동으로 반영되도록 생성된 필수 기본 요건을 검토합니다. 이러한 기본 요건에는 소스 데이터베이스를 구성하는 방법과 대상 Cloud SQL 데이터베이스 인스턴스에 연결하는 방법이 포함될 수 있습니다. 이 단계에서 이러한 기본 요건을 완료하는 것이 가장 좋지만, 마이그레이션 작업을 테스트하거나 시작하기 전 언제라도 이를 완료할 수 있습니다. 이러한 기본 요건에 대한 자세한 내용은 소스 구성을 참고하세요.
저장 후 계속을 클릭합니다.
소스 연결 프로필 정보 지정
-
연결 프로필을 만들었다면 기존 연결 프로필 목록에서 선택합니다.
연결 프로필을 만들지 않았다면 드롭다운 목록 하단에서 연결 프로필 만들기를 클릭하여 프로필을 하나 만들고 소스 연결 프로필 만들기와 동일한 단계를 수행합니다.
- 데이터 덤프 구성 맞춤설정 섹션에서 데이터 덤프 구성 표시를 클릭합니다.
데이터 덤프 병렬 처리 속도는 소스 데이터베이스의 부하량과 관련이 있습니다. 다음 설정을 사용할 수 있습니다.
- 최적 (권장): 소스 데이터베이스의 최적 부하로 균형 잡힌 성능을 제공합니다.
- 최대: 가장 빠른 덤프 속도를 제공하지만 소스 데이터베이스의 부하가 증가할 수 있습니다.
- 최소: 소스 데이터베이스에서 가장 적은 양의 컴퓨팅 리소스를 사용하지만 덤프 처리량이 느릴 수 있습니다.
조정된 데이터 덤프 동시 로드 설정을 사용하려면 소스 데이터베이스에서
max_replication_slots
,max_wal_senders
,max_worker_processes
매개변수를 늘려야 합니다. 마이그레이션 작업 생성 완료 시 마이그레이션 작업 테스트를 실행하여 구성을 확인할 수 있습니다. - 저장 후 계속을 클릭합니다.
대상 Cloud SQL 인스턴스 정의 및 만들기
- 대상 인스턴스 유형 드롭다운 메뉴에서 새 인스턴스를 선택합니다.
기존 인스턴스로 이전할 수도 있습니다. 기존 인스턴스의 이전 작업을 참고하세요.
- Cloud SQL 인스턴스의 ID를 제공하거나 자동 생성된 ID를 사용합니다. ID는 외부에 공개되므로 민감한 정보나 개인 식별 정보를 포함하지 마세요. 인스턴스 이름에 프로젝트 ID를 포함하지 않아도 됩니다. 필요한 경우 자동으로 포함됩니다(예: 로그 파일에서).
대상 Cloud SQL 인스턴스의 영숫자 비밀번호를 입력합니다. 이는 인스턴스의
postgres
관리자 계정 비밀번호입니다.비밀번호를 직접 입력하거나 생성을 클릭하여 데이터베이스 이전 서비스에서 자동으로 비밀번호를 만들도록 할 수 있습니다.
- 지정된 데이터베이스 엔진에 지원되는 Database Migration Service 버전 목록에서 대상 인스턴스의 데이터베이스 버전을 선택합니다. 교차 버전 이전 지원에 대해 자세히 알아보세요.
- 대상 인스턴스의 PostgreSQL용 Cloud SQL 버전을 선택합니다. PostgreSQL용 Cloud SQL Enterprise 버전과 PostgreSQL용 Cloud SQL Enterprise Plus 버전이라는 두 가지 옵션이 있습니다.
PostgreSQL용 Cloud SQL 버전에는 다양한 기능, 사용 가능한 머신 유형, 가격이 있습니다. Cloud SQL 문서를 참고하여 요구사항에 적합한 버전을 선택하세요. 자세한 내용은 PostgreSQL용 Cloud SQL 버전 소개를 참고하세요.
인스턴스는 마이그레이션 작업의 설정을 정의할 때 선택한 리전에 생성됩니다. 해당 리전 내에서 영역을 선택하거나 영역을 자동 선택으로 설정하면 Google에서 자동으로 영역을 선택합니다.
인스턴스를 고가용성으로 구성하는 경우 여러 영역 (고가용성)을 선택합니다. 기본 영역과 보조 영역을 모두 선택할 수 있습니다. 인스턴스를 만드는 동안 보조 영역이 사용되면 다음 조건이 적용됩니다.
- 기본 영역은 Any로 보조 영역은 Any (different from primary)로 기본 설정됩니다.
- 기본 영역과 보조 영역을 모두 지정할 경우 서로 다른 영역이어야 합니다.
- 비공개 IP 주소 또는 공개 IP 주소로 이 인스턴스에 연결할지 선택합니다.
- VPC 피어링 또는 역방향 SSH 터널로 연결할 계획이라면 비공개 IP 체크박스를 선택합니다.
- 비공개 IP를 사용 설정하려면 다음 조건을 충족해야 합니다.
- Service Networking API가 사용 설정되어 있습니다. Google Cloud 콘솔을 사용하여 Service Networking API를 사용 설정할 수 있습니다.
servicenetworking.services.addPeering
IAM 권한이 있습니다.- 프로젝트에 비공개 서비스 액세스를 구성했으며, 이 경우
compute.networkAdmin
IAM 역할이 필요합니다. - 프로젝트에 이전 네트워크가 아닌 VPC 네트워크 또는 공유 VPC 네트워크가 하나 이상 있습니다.
- 공유 VPC 네트워크를 사용하는 경우 다음 작업도 수행해야 합니다.
- 호스트 프로젝트에 Service Networking API를 사용 설정합니다.
- 호스트 프로젝트에 사용자를 추가합니다.
- 사용자에게 호스트 프로젝트의 compute.networkAdmin IAM 역할을 부여합니다.
- 피어링할 연결된 VPC 네트워크를 선택합니다. VPC 피어링으로 마이그레이션 소스에 연결하려는 경우 인스턴스가 있는 VPC를 선택합니다.
- 선택한 VPC에 관리 서비스 네트워크가 구성된 적이 없는 경우 IP 범위를 선택하고 연결을 클릭하거나 자동으로 선택된 IP 범위를 사용하고 할당 및 연결을 클릭할 수 있습니다.
IP 허용 목록으로 연결하려면 공개 IP를 선택합니다.
원하는 경우 승인된 네트워크를 클릭하고 Cloud SQL 인스턴스에 연결할 네트워크 또는 프록시를 승인합니다. Cloud SQL 인스턴스는 승인된 주소의 연결만 허용합니다. 인스턴스에 대한 공개 액세스 구성에 관한 자세한 내용은 공개 IP 구성을 참고하세요.
- Cloud SQL 인스턴스의 머신 유형을 선택합니다. 디스크 크기는 소스 데이터베이스 크기 이상이어야 합니다.
PostgreSQL 머신 유형에 대해 자세히 알아보세요.
- PostgreSQL용 Cloud SQL Enterprise Plus 버전: 대상 데이터베이스에서 데이터 캐시 기능을 사용하려면 데이터 캐시 사용 설정 체크박스를 선택합니다.
데이터 캐시는 PostgreSQL용 Cloud SQL Enterprise Plus 버전 인스턴스에서 사용할 수 있는 선택적 기능으로, 대상 데이터베이스에 고속 로컬 솔리드 스테이트 드라이브를 추가합니다. 이 기능을 사용하면 Cloud SQL에 추가 비용이 발생할 수 있습니다. 데이터 캐시에 관한 자세한 내용은 Cloud SQL 문서의 데이터 캐시 개요를 참고하세요.
- Cloud SQL 인스턴스의 스토리지 유형을 지정합니다. 솔리드 스테이트 드라이브 (SSD) 또는 하드 디스크 드라이브 (HDD) 중 하나를 선택할 수 있습니다.
- Cloud SQL 인스턴스의 스토리지 용량 (GB)을 지정합니다.
- 원하는 경우 선택적 구성 표시를 클릭한 다음 다음을 수행합니다.
소스에서 대상으로 이전되는 데이터의 암호화를 관리할지 지정합니다. 기본적으로 데이터는 Google Cloud에서 관리하는 키로 암호화됩니다. 암호화를 직접 관리하려면 고객 관리 암호화 키(CMEK)를 사용하면 됩니다. 방법은 다음과 같습니다.
- 고객 관리 암호화 키 (CMEK) 사용 체크박스를 선택합니다.
- 고객 관리 키 선택 메뉴에서 CMEK를 선택합니다.
키가 표시되지 않으면 키 리소스 이름 입력을 클릭하여 사용하려는 키의 리소스 이름을 입력합니다. 예를 들어 키 리소스 이름 필드에
projects/my-project-name/locations/my-location/keyRings/my-keyring/cryptoKeys/my-key
을 입력한 다음 저장을 클릭할 수 있습니다.- 데이터베이스 서버에 적용할 필수 플래그를 추가합니다. 가능하면 생성된 대상 Cloud SQL 인스턴스의 데이터베이스 플래그가 소스 데이터베이스의 데이터베이스 플래그와 동일한지 확인합니다. PostgreSQL에서 지원되는 데이터베이스 플래그에 대해 자세히 알아보세요.
- Cloud SQL 인스턴스와 관련된 태그를 추가합니다.
라벨은 인스턴스를 정리하는 데 도움이 됩니다. 예를 들어 비용 센터 또는 환경을 기준으로 라벨을 정리할 수 있습니다. 청구서에도 라벨이 포함되므로 라벨별 비용 분포를 확인할 수 있습니다.
만들고 계속하기를 클릭합니다.
- 대상 데이터베이스 만들기 창에서 대상 만들기 및 계속을 클릭하여 새 인스턴스를 만듭니다. 이 작업은 최대 몇 분 정도 걸릴 수 있습니다.
- 대상 인스턴스 생성이 완료될 때까지 기다립니다.
소스 및 대상 데이터베이스 인스턴스 간의 연결 설정
연결 방법 드롭다운 메뉴에서 네트워크 연결 방법을 선택합니다. 이 메서드는 새로 생성된 Cloud SQL 인스턴스가 소스 데이터베이스에 연결되는 방식을 정의합니다. 현재 네트워크 연결 방법에는 IP 허용 목록, 역방향 SSH 터널, VPC 피어링이 있습니다.
- IP 허용 목록 네트워크 연결 방법을 선택하는 경우 대상 인스턴스의 발신 IP 주소를 지정해야 합니다. 만든 Cloud SQL 인스턴스가 고가용성 인스턴스인 경우 기본 인스턴스와 보조 인스턴스의 발신 IP 주소를 모두 포함합니다.
역방향 SSH 터널 네트워크 연결 방법을 선택한 경우 터널을 호스팅할 Compute Engine VM 인스턴스를 선택합니다.
인스턴스를 지정하면 소스 데이터베이스와 대상 데이터베이스 간의 터널을 설정하는 단계를 실행하는 스크립트가 제공됩니다. Google Cloud CLI에서 스크립트를 실행해야 합니다.
소스 데이터베이스와 Google Cloud에 모두 연결된 머신에서 명령어를 실행합니다.
- VPC 피어링 네트워크 연결 방법을 선택하는 경우 소스 데이터베이스가 있는 VPC 네트워크를 선택합니다. Cloud SQL 인스턴스가 이 네트워크에 연결되도록 업데이트됩니다.
- 연결을 구성하는 방법을 자세히 알아보세요.
네트워크 연결 방법을 선택하고 방법에 관한 추가 정보를 제공한 후 구성하고 계속하기를 클릭합니다.
마이그레이션 데이터베이스 구성
마이그레이션할 데이터베이스를 선택할 수 있습니다.
- 이전할 데이터베이스 목록에서 다음 옵션 중 하나를 선택합니다.
- 모든 데이터베이스: 소스에 있는 모든 데이터베이스를 선택합니다.
- 특정 데이터베이스: 소스에 있는 모든 데이터베이스 중에서 특정 데이터베이스를 선택할 수 있습니다.
특정 데이터베이스를 마이그레이션하려면 표시되는 목록을 필터링하고 Database Migration Service가 대상으로 마이그레이션할 데이터베이스를 선택하면 됩니다.
목록이 표시되지 않고 데이터베이스 검색 오류가 표시되면 새로고침을 클릭합니다. 데이터베이스 검색에 실패하면 작업에서 모든 데이터베이스를 마이그레이션합니다. 마이그레이션 작업을 계속 만들고 나중에 연결 오류를 수정할 수 있습니다.
- 저장 후 계속을 클릭합니다.
마이그레이션 작업 테스트 및 만들기
마지막 단계에서 마이그레이션 작업 설정, 소스, 대상, 연결 방법의 요약을 검토한 후 마이그레이션 작업 설정의 유효성을 테스트합니다. 문제가 발생하면 이전 작업의 설정을 수정할 수 있습니다. 일부 설정은 수정할 수 없습니다.TEST JOB을 클릭하여 다음을 확인합니다.
- 기본 요건에 따라 소스 데이터베이스가 올바르게 구성되었습니다.
- 소스 인스턴스와 대상 인스턴스는 서로 통신할 수 있습니다.
- 대상에서 필요한 비공개 또는 공개 IP 주소 업데이트가 완료됩니다.
마이그레이션 작업이 유효하고 소스 및 대상 버전이 호환됩니다.
테스트에 실패하면 흐름의 적절한 부분에서 문제를 해결한 후 다시 테스트할 수 있습니다.
작업 만들기 및 시작을 클릭하여 마이그레이션 작업을 만들고 즉시 시작하거나 작업 만들기를 클릭하여 마이그레이션 작업을 만들고 즉시 시작하지 않습니다.
작업이 생성 시점에 시작되지 않은 경우 시작을 클릭하여 마이그레이션 작업 페이지에서 시작할 수 있습니다.
마이그레이션 작업이 시작된 시점에 관계없이 조직은 대상 인스턴스의 존재에 대해 요금이 청구됩니다.
마이그레이션 작업이 마이그레이션 작업 목록에 추가되며 직접 볼 수 있습니다.