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