개요
Database Migration Service에서 마이그레이션을 만들려면 소스 인스턴스와 AlloyDB 대상 인스턴스 간에 연결이 설정되어 있어야 합니다. 다양한 방법이 지원됩니다. 특정 워크로드에 가장 적합한 것을 선택하세요.네트워킹 방법 | 설명 | 장점 | 단점 |
---|---|---|---|
IP 허용 목록 |
이 방법은 Cloud SQL 인스턴스의 발신 IP에서 들어오는 연결을 수락하도록 소스 데이터베이스 서버를 구성하여 작동합니다. 이 방법을 선택하면 Database Migration Service에서 마이그레이션 생성 중에 설정 프로세스를 안내합니다. |
|
|
클라우드 호스팅 VM을 통한 프록시 - 역방향 SSH 터널 |
보안 역방향 SSH 터널을 통해 대상에서 소스로의 연결을 설정합니다. Google Cloud 플랫폼 프로젝트의 배스천 호스트 VM과 소스에 연결할 수 있는 머신(예: 네트워크에 연결된 노트북)이 필요합니다. Database Migration Service는 마이그레이션 생성 시 필요한 정보를 수집하고 모든 정보를 설정하는 스크립트를 자동 생성합니다. |
|
|
클라우드 호스팅 VM을 통한 프록시 - TCP |
클라우드 호스팅 VM을 통해 TCP 프록시를 사용하여 대상에서 소스로 연결을 설정합니다. Database Migration Service는 마이그레이션 생성 시 필요한 정보를 수집하고 모든 정보를 설정하는 스크립트를 자동 생성합니다. 소스가 이전 네트워크 아키텍처에 있는 AlloyDB 마이그레이션과 관련이 있습니다. |
|
|
VPC 피어링 |
이 방법은 VPC가 서로 통신하도록 구성하여 작동합니다. |
|
|
Private Service Connect 인터페이스 |
Private Service Connect 인터페이스를 사용하면 대상 PostgreSQL용 AlloyDB 인스턴스가 피어링 할당량을 사용하지 않고 소스 데이터베이스의 비공개 IP에 대한 연결을 시작할 수 있습니다. 대신 이 연결 방법은 VPC에서 만든 네트워크 연결을 활용합니다. |
|
PostgreSQL용 AlloyDB의 비공개 서비스 액세스 및 Private Service Connect에 대한 자세한 내용은 PostgreSQL용 AlloyDB 문서의 비공개 IP 개요를 참고하세요. |
연결 제한사항
PostgreSQL에서 AlloyDB로의 연결에는 다음과 같은 제한사항이 있습니다.
- AlloyDB��� 비공개 서비스 액세스를 사용한 비공개 연결을 지원합니다. 클러스터에 공개 IP 주소를 할당하는 것은 지원되지 않습니다.
- 클러스터가 생성된 후에는 AlloyDB 클러스터가 피어링된 VPC를 변경할 수 없습니다.
- AlloyDB는 내부적으로 VPC 피어링을 사용하는 비공개 서비스 액세스를 사용하므로 전환 피어링이 지원되지 않습니다. AlloyDB 클러스터는 피어링된 동일한 VPC의 내부 IP 주소에만 연결할 수 있습니다. 다른 VPC에 연결하려면 중간 프록시를 사용해야 합니다. 자세한 내용은 다음 섹션을 참고하세요.
일반적인 연결 시나리오 및 해결 방법
이전 프로듀서 네트워크 아키텍처의 Cloud SQL 인스턴스에서 마이그레이션
기존 프로듀서 네트워크 아키텍처의 PostgreSQL용 Cloud SQL 인스턴스에서 마이그레이션하려면 중개 프록시를 사용하여 연결을 설정해야 합니다. 이는 소스 Cloud SQL 인스턴스와 AlloyDB 대상 간에 직접 연결이 불가능하기 때문입니다. 자체 프록시 솔루션을 설정할 수 있지만 Database Migration Service에서 제공하는 자동 생성 스크립트로 TCP 프록시 VM을 설정하는 것이 좋습니다. TCP 프록시 연결 방법을 참고하세요.
동일한 Google Cloud 프로젝트에 있지만 다른 VPC의 소스에서 이전
AlloyDB 클러스터가 있는 VPC는 클러스터를 만든 후 변경할 수 없으므로 다음 옵션이 있습니다.
소스 인스턴스의 VPC를 대상 인스턴스의 VPC와 일치하도록 변경하는 것이 좋습니다. 예를 들어 Cloud SQL 인스턴스를 AlloyDB로 이전하려면 AlloyDB VPC와 일치하도록 Cloud SQL VPC를 업데이트합니다.
소스 인스턴스의 VPC를 대상 인스턴스의 VPC와 일치하도록 변경할 수 없는 경우 중간 가상 머신 (VM)을 프록시로 사용합니다. TCP 프록시 연결 방법을 사용하는 것이 좋지만 자체 프록시 솔루션을 설정할 수도 있습니다. 데이터베이스 이전 서비스가 Google Cloud 콘솔에서 스크립트를 생성한 후 TCP 프록시 인스턴스를 생성하는 명령어에 다른 네트워크 인터페이스를 추가하고 소스 인스턴스의 VPC와 일치하도록 구성합니다. 이렇게 하면 프록시가 소스 및 대상 VPC에 모두 연결됩니다.
다른 네트워크 인터페이스를 추가하려면 스크립트에 표시된
gcloud compute instances create-with-container
명령어에--network-interface network=SOURCE_NETWORK_NAME
를 추가합니다.프록시를 만드는 명령어의 예:
gcloud compute instances create-with-container … \ --network-interface subnet=DESTINATION-SUBNET-NAME \ --network-interface network=SOURCE-NETWORK-NAME
다음을 바꿉니다.
- DESTINATION-SUBNET-NAME: 대상 서브넷의 이름입니다.
- SOURCE-NETWORK-NAME: 소스 네트워크의 이름입니다.
자세한 내용은 다수의 네트워크 인터페이스가 있는 VM 인스턴스 만들기를 참고하세요.
공개 인터넷을 통해 이전
이 방법은 Google Cloud에 대한 기존 VPN 또는 상호 연결이 없는 온프레미스 인스턴스 또는 다른 클라우드 제공업체에서 이전하는 경우에 권장됩니다. 이 방법을 사용하려면 아웃바운드 공개 IP 주소를 사용하도록 대상 AlloyDB 클러스터를 구성해야 합니다.
다른 Google Cloud 프로젝트의 소스에서 마이그레이션
다른 Google Cloud 프로젝트의 소스에서 마이그레이션하려면 인터넷을 통해 마이그레이션하거나 내부 Google Cloud 연결의 경우 공유 VPC를 사용해야 합니다. 다음 옵션 중 하나를 선택합니다.
프록시 없이 공유 VPC를 사용합니다. AlloyDB 클러스터를 공유 VPC에 배치하려면 클러스터를 만들 때 소스가 있는 VPC를 선택하면 됩니다. 이렇게 하면 소스와 대상이 직접 연결됩니다.
프록시와 함께 공유 VPC를 사용합니다. AlloyDB 클러스터가 공유 VPC에 상주하지 않도록 하려면 중간 프록시를 사용해야 합니다. 자체 프록시 솔루션을 설정할 수 있지만 TCP 프록시 연결 방법을 사용하는 것이 좋습니다. 이 가이드라인에 따라 공유 VPC에 추가 네트워크 인터페이스가 있는 TCP 프록시를 만드세요.
대상에서 소스의 네트워크에 연결할 수 없도록 마이그레이션
이 방법은 인바운드 Google Cloud 트래픽에 네트워크의 방화벽을 여는 것이 우려되는 온프레미스 네트워크에서 이전할 때 권장됩니다. 이 시나리오에서는 Compute Engine 인스턴스를 중간 프록시로 사용하여 리버스 프록시를 설정할 수 있습니다. 역방향 SSH 연결 방법을 사용하는 것이 좋습니다.