總覽
如要在資料庫移轉服務中建立遷移作業,必須在來源執行個體和 AlloyDB 目的地執行個體之間建立連線。系統支援多種方法。請選擇最適合特定工作負載的選項。網路方法 | 說明 | 優點 | 缺點 |
---|---|---|---|
IP 許可清單 |
這個方法會將來源資料庫伺服器設為接受 Cloud SQL 執行個體傳出 IP 的連線。 如果您選擇這種方式,資料庫移轉服務會在遷移建立期間引導您完成設定程序。 |
|
|
經過雲端託管 VM 的 Proxy - 反向 SSH 通道 |
透過安全的反向 SSH 通道,建立從目的地到來源的連線。 必須在 Google Cloud 平台專案中建立堡壘主機 VM,以及可連線至來源的機器 (例如網路上的筆記型電腦)。 資料庫移轉服務會在遷移作業建立時收集必要資訊,並自動產生指令碼來設定所有資訊。 |
|
|
經過雲端託管 VM 的 Proxy - TCP |
透過雲端託管的 VM,使用 TCP Proxy 建立從目的地到來源的連線。 資料庫移轉服務會在遷移作業建立時收集必要資訊,並自動產生指令碼來設定所有資訊。 在來源位於舊版網路架構的 AlloyDB 遷移作業中適用。 |
|
|
虛擬私有雲對等互連 |
這個方法會設定虛擬私有雲彼此通訊。 |
|
|
連線限制
PostgreSQL 到 AlloyDB 的連線功能有下列限制:
- AlloyDB 支援使用私人服務連線的私人連線。系統不支援將公開 IP 位址指派給叢集。
- 叢集建立後,您無法變更 AlloyDB 叢集的對等互連虛擬私有雲。
- 由於 AlloyDB 會使用私人服務存取權,而該存取權會在內部使用虛擬私有雲對等互連,因此系統不支援轉介對等互連。AlloyDB 叢集只能存取與其對等互連的相同虛擬私有雲內的內部 IP 位址。如要連線至其他 VPC,您必須使用中介 Proxy。詳情請參閱下文。
常見的連線情境和解決方案
從舊版生產端網路架構中的 Cloud SQL 執行個體遷移
如要從舊版供應端網路架構中的 PostgreSQL 適用的 Cloud SQL 執行個體遷移,您必須使用中介 Proxy 建立連線。這是因為來源 Cloud SQL 執行個體和 AlloyDB 目的地之間無法直接連線。您可以自行設定 Proxy 解決方案,但我們建議您使用資料庫遷移服務提供的自動產生指令碼,設定 TCP Proxy VM。請參閱「TCP Proxy 連線方法」。
從相同 Google Cloud 專案中,但位於不同虛擬私有雲的來源遷移
由於 AlloyDB 叢集所在的 VPC 在叢集建立後即無法變更,因此您有以下選項:
建議您變更來源執行個體的虛擬私有雲,以便與目的地執行個體的虛擬私有雲相符。舉例來說,如果您想將 Cloud SQL 執行個體遷移至 AlloyDB,請更新 Cloud SQL 虛擬私有雲,以便與 AlloyDB 虛擬私有雲相符。
如果無法變更來源執行個體的 VPC 以符合目的地執行個體的 VPC,請使用中介虛擬機器 (VM) 做為 Proxy。您可以自行設定 Proxy 解決方案,但我們建議您使用 TCP Proxy 連線方法。資料庫遷移服務在 Google Cloud 主控台中產生指令碼後,請在建立 TCP Proxy 執行個體的指令中新增其他網路介面,並將其設定為與來源執行個體的 VPC 相符。這樣一來,Proxy 就能連上來源和目的地虛擬私有雲。
如要新增其他網路介面,請在指令碼中顯示的
gcloud compute instances create-with-container
指令後方加上--network-interface network=SOURCE_NETWORK_NAME
。建立 Proxy 的指令範例:
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 執行個體」。
透過公開網際網路遷移
如果您是從內部部署執行個體或其他雲端服務供應商遷移,且沒有現有的 VPN 或 Interconnect 連線可連至 Google Cloud,建議您採用這種方法。如要使用這個方法,您必須將目的地 AlloyDB 叢集設為使用外連公開 IP 位址。
從其他 Google Cloud 專案中的來源遷移
如要從其他 Google Cloud 專案中的來源遷移,您必須透過網路遷移,或使用共用虛擬私有雲來進行內部 Google Cloud 連線。選取下列選項之一:
使用不含 Proxy 的共用虛擬私有雲。如果您希望 AlloyDB 叢集位於共用虛擬私有雲,請在建立叢集時選取來源所在的虛擬私有雲。這樣一來,來源和目的地就能直接連線。
使用共用虛擬私有雲搭配 Proxy。如果您不希望 AlloyDB 叢集位於共用虛擬私有雲,則必須使用中介 Proxy。您可以自行設定 Proxy 解決方案,但建議使用 TCP Proxy 連線方法。請按照這些規範,在共用虛擬私有雲上建立具備額外網路介面的 TCP Proxy。
遷移時不允許目的地存取來源的網路
建議您在從內部網路遷移時採用這種方法,因為在這種情況下,您可能會擔心網路防火牆會開放傳入的 Google Cloud 流量。在這種情況下,您可以使用 Compute Engine 執行個體做為中介 Proxy,設定反向 Proxy。建議您使用反向 SSH 連線方法。