- Database Migration Service란 무엇인가요?
- 지원되는 소스는 무엇인가요?
- 지원되는 대상은 무엇인가요?
- 교차 버전 지원이 있나요?
- 어떤 데이터, 스키마, 메타데이터 구성요소가 마이그레이션되나요?
- 연속 마이그레이션 중에 복제되는 변경사항은 무엇인가요?
- 마이그레이션되지 않는 항목은 무엇인가요?
- 어떤 네트워킹 방법이 사용되나요?
- 알려진 제한사항은 무엇인가요?
- Database Migration Service란 무엇인가요?
- Database Migration Service는 데이터를 로 더 쉽게 마이그레이션할 수 있도록 지원하는 서비스입니다 Google Cloud. Database Migration Service를 사용하면 PostgreSQL 워크로드를 Cloud SQL로 리프트 앤 시프트할 수 있습니다.
- 지원되는 소스는 무엇인가요?
-
- Amazon RDS 9.6.10 이상, 10.5 이상, 11.1 이상, 12, 13, 14, 15, 16, 17, 18
- Amazon Aurora 10.11 이상, 11.6 이상, 12.4 이상, 13.3 이상, 14.6 이상, 15.2 이상, 16, 17, 18
- 자체 관리형 PostgreSQL (온프레미스 또는 완전히 제어하는 모든 Cloud VM) 9.4, 9.5, 9.6, 10, 11, 12, 13, 14, 15, 16, 17, 18
- PostgreSQL용 Cloud SQL 9.6, 10, 11, 12, 13, 14, 15, 16, 17, 18
- PostgreSQL용 Microsoft Azure Database Flexible Server: 11 이상
- 지원되는 대상은 무엇인가요?
-
- PostgreSQL용 Cloud SQL 9.6, 10, 11, 12, 13, 14, 15, 16, 17, 18
- 교차 버전 지원이 있나요?
- Database Migration Service는 대상이 소스 데이터베이스와 동일하거나 더 높은 버전인 경우 모든 주요 버전에서 PostgreSQL-Cloud SQL 마이그레이션을 지원합니다.
- 어떤 데이터, 스키마, 메타데이터 구성요소가 마이그레이션되나요?
- Database Migration Service는 소스에서 대상으로 스키마, 데이터, 메타데이터를 마이그레이션합니다. 다음 데이터, 스키마, 메타데이터 구성요소는 모두 데이터베이스 마이그레이션의 일부로 마이그레이션됩니다.
데이터 마이그레이션
- 선택한 데이터베이스의 모든 스키마와 모든 테이블
- 이름 지정
- 기본 키
- 데이터 유형
- 서수 위치
- 기본값
- null 허용 여부
- 자동 증분 속성
- 보조 색인
- 저장 프로시저
- 함수
- 트리거
- 조회수
- 외래 키 제약 조건
- 연속 마이그레이션 중에 복제되는 변경사항은 무엇인가요?
-
마이그레이션 중에 DML 변경사항만 자동으로 업데이트됩니다. 소스 및 대상 데이터베이스가 계속 호환되도록 DDL을 관리하는 것은 사용자의 책임이며 다음 두 가지 방법으로 수행할 수 있습니다.
- 소스 쓰기를 중지하고 소스 및 대상 모두에서 DDL 명령어를 실행합니다. 대상에서 DDL 명령어를 실행하기 전에 DDL 변경사항을 적용하는 Cloud SQL 사용자에게
cloudsqlexternalsync역할을 부여합니다. 데이터 쿼리 또는 변경을 사용 설정하려면 관련 Cloud SQL 사용자에게cloudsqlexternalsync역할을 부여합니다. pglogical.replicate_ddl_command를 사용하여 소스 및 대상의 일관된 지점에서 DDL을 실행합니다. 이 명령어를 실행하는 사용자는 소스와 대상 모두에서 동일한 사용자 이름을 가져야 하며 마이그레이션되는 아티팩트 (예: 테이블, 시퀀스, 뷰 또는 데이터베이스)의 슈퍼유저 또는 소유자여야 합니다.pglogical.replicate_ddl_command사용의 몇 가지 예는 다음과 같습니다.데이터베이스 테이블에 열을 추가하려면 다음 명령어를 실행합니다.
select pglogical.replicate_ddl_command('ALTER TABLE [schema].[table] add column surname varchar(20)', '{default}');데이터베이스 테이블의 이름을 변경하려면 다음 명령어를 실행합니다.
select pglogical.replicate_ddl_command('ALTER TABLE [schema].[table] RENAME TO [table_name]','{default}');데이터베이스 테이블을 만들려면 다음 명령어를 실행합니다.
select pglogical.replicate_ddl_command(command := 'CREATE TABLE [schema].[table] (id INTEGER PRIMARY KEY, name VARCHAR);', replication_sets := ARRAY['default'']);select pglogical.replication_set_add_table('default', '[schema].[table]');
- 소스 쓰기를 중지하고 소스 및 대상 모두에서 DDL 명령어를 실행합니다. 대상에서 DDL 명령어를 실행하기 전에 DDL 변경사항을 적용하는 Cloud SQL 사용자에게
- 마이그레이션되지 않는 항목은 무엇인가요?
-
Cloud SQL 대상 인스턴스에 사용자를 추가하려면 인스턴스로 이동하여 사용자 탭에서 사용자를 추가하거나 PostgreSQL 클라이언트에서 사용자를 추가합니다. PostgreSQL 사용자 만들기 및 관리에 대해 자세히 알아보세요.
대규모 객체는 PostgreSQL의 논리적 디코딩 기능이 대규모 객체의 변경사항 디코딩을 지원하지 않으므로 복제할 수 없습니다. 대규모 객체를 참조하는 열 유형 oid가 있는 테이블의 경우 행이 계속 동기화되고 새 행이 복제됩니다. 하지만 대상 데이터베이스에서 대규모 객체에 액세스하려고 하면(lo_get을 사용하여 읽거나 lo_export를 사용하여 내보내거나 지정된 oid의 카탈로그
pg_largeobject를 확인) 대규모 객체가 없다는 메시지와 함께 실패합니다.기본 키가 없는 테이블의 경우 Database Migration Service가 변경 데이터 캡처 (CDC) 단계 중에 초기 스냅샷과
INSERT문의 마이그레이션을 지원합니다.UPDATE및DELETE문은 수동으로 마이그레이션해야 합니다.Database Migration Service는 구체화된 뷰의 데이터는 마이그레이션하지 않고 뷰 스키마만 마이그레이션합니다. 뷰를 채우려면
REFRESH MATERIALIZED VIEW view_name명령어를 실행합니다.새 Cloud SQL 대상의
SEQUENCE상태 (예:last_value)는 소스SEQUENCE상태와 다를 수 있습니다. - 어떤 네트워킹 방법이 사용되나요?
- Database Migration Service에서 마이그레이션을 만들려면 소스와 Cloud SQL 대상 인스턴스 간에 연결을 설정해야 합니다. 다양한 방법이 지원됩니다.
특정 워크로드에 가장 적합한 방법을 선택하세요.
네트워킹 방법 설명 장점 단점 IP 허용 목록 Cloud SQL 인스턴스의 공개 IP에서 들어오는 연결을 허용하도록 소스 데이터베이스 서버를 구성하여 작동합니다. 이 방법을 선택하면 Database Migration Service에서 마이그레이션 생성 중에 설정 프로세스를 안내합니다. - 손쉬운 구성
- 단기 마이그레이션 시나리오 (POC 또는 소규모 데이터베이스 마이그레이션)에 권장됩니다.
- 방화벽 구성에는 IT 지원이 필요할 수 있습니다.
- 소스 데이터베이스를 공개 IP에 노출합니다.
- 기본적으로 연결은 암호화되지 않습니다. 연결을 암호화하려면 소스 데이터베이스에서 SSL을 사용 설정해야 합니다.
클라우드 호스팅 VM을 통한 역방향 SSH 터널 보안 역방향 SSH 터널을 통해 대상에서 소스로 연결을 설정합니다. 프로젝트의 배스천 호스트 VM과 소스에 연결할 수 있는 머신(예: 네트워크의 노트북)이 필요합니다. Google Cloud Database Migration Service는 마이그레이션 생성 시 필요한 정보를 수집하고 설정 스크립트를 자동으로 생성합니다. - 손쉬운 구성
- 커스텀 방화벽 구성이 필요하지 않습니다.
- 단기 마이그레이션 시나리오 (POC 또는 소규모 데이터베이스 마이그레이션)에 권장됩니다.
- 배스천 VM을 소유하고 관리합니다.
- 추가 비용이 발생할 수 있습니다.
VPC 피어링 이 메서드는 VPC를 구성하여 서로 통신하는 방식으로 작동합니다. 소스와 대상이 모두에서 호스팅되는 경우에만 적용됩니다. Google Cloud장기 실행 또는 대용량 마이그레이션에 권장됩니다. - Google Cloud 솔루션
- 손쉬운 구성
- 높은 대역폭
소스가 Google Cloud에서 호스팅되는 경우에만 사용할 수 있습니다. VPN 공용 인터넷을 통한 보안 연결을 통해 내부 네트워크와 Google Cloud VPC를 연결하는 IPSec VPN 터널을 설정합니다. 내부 네트워크에 설정된 VPN 또는 VPN 솔루션을 사용합니다. Google Cloud - 안정적이고 확장 가능한 연결 솔루션
- 중간에서 높은 대역폭
- 보안이 기본 제공됩니다.
- 솔루션 또는 다른 서드 파티에서 제공합니다. Google Cloud
- 추가 비용
- 이미 설치되어 있지 않은 경우 간단하지 않은 구성
Cloud Interconnect 온프레미스 네트워크와 Google Cloud간에 가용성이 높고 지연 시간이 짧은 연결을 사용합니다. 최고 대역폭으로 장기 실행 대용량 마이그레이션에 적합합니다. - 추가 비용
- 기본적으로 연결이 안전하지 않습니다.
- 이미 설치되어 있지 않은 경우 간단하지 않은 구성
- 알려진 제한사항은 무엇인가요?
- 알려진 제한사항을 참조하세요.