本頁說明如何設定網路連線至自架式 Oracle 來源,以便透過資料庫移轉服務,將異質 Oracle 遷移至 AlloyDB for PostgreSQL。
您可以使用三種不同的方法,設定從自行託管的 Oracle 來源遷移所需的網路連線:
設定 IP 許可清單連線
如要使用公開 IP 許可清單連線方式,請按照下列步驟操作:
- 請確認來源資料庫具有可從公開網際網路存取的 IP 位址。您不需要使用 IP 位址進行連線。如果您有與 IP 相關聯的 DNS 記錄,可以改用該記錄。
- 在來源資料庫伺服器上建立入站防火牆規則,以便接受資料庫遷移服務的連線。請使用下列設定:
- 請使用
port
做為規則類型。 - 針對允許的 IP 位址範圍,請為建立遷移工作的區域新增所有 資料庫移轉服務公開 IP 位址。
- 將通訊協定設為
TCP
。 - 將與規則相關聯的通訊埠編號設為來源資料庫用來聆聽傳入連線的通訊埠。這個通訊埠號碼與您需要在來源連線設定檔中輸入的相同。
Oracle 伺服器預設使用
1521
通訊埠。
設定防火牆規則的步驟會因您使用的伺服器軟體而異。詳情請參閱防火牆產品的說明文件。
- 請使用
- 稍後 建立來源連線設定檔時,請在「Define connectivity method」部分選取「IP allowlist」。
透過轉送安全殼層通道設定連線
如要透過安全殼層 (SSH) 通道連線至來源資料庫,請按照下列步驟操作:
- 建立可在資料庫移轉服務與來源資料庫之間開啟通道的虛擬機器 (VM)。隧道伺服器可以是任何符合下列條件的 Unix/Linux 主機:
- 可透過 SSH 從公開網際網路存取。
- 可存取來源資料庫的私人 IP 位址。
在 SSH 伺服器上建立使用者帳戶,讓資料庫遷移服務可以用來連線至 SSH 通道。
舉例來說,在 Ubuntu 系統上,您可以使用下列指令:
- 建立使用者帳戶:
adduser TUNNEL_ACCOUNT_USERNAME
- 限制使用者帳戶的殼層存取權,以提升安全性:
usermod -s /usr/sbin/nologin TUNNEL_ACCOUNT_USERNAME
- 建立使用者帳戶:
決定資料庫移轉服務在連線至通道時要採用的驗證方法。
您可以使用密碼,也可以使用
PEM
格式產生安全殼層金鑰,以便日後在建立來源連線設定檔時上傳至資料庫遷移服務。- 如果您想使用密碼,則無需額外設定任何內容。請記住您為 TUNNEL_ACCOUNT_USERNAME 帳戶建立的密碼。
- 如果您想使用以金鑰為基礎的驗證機制,就必須產生私密/公開金鑰組。例如,您可以使用
ssh-keygen
公用程式:- 產生金鑰組:
ssh-keygen -m PEM -f YOUR_KEY_NAME
- 將公開金鑰 (
YOUR_KEY_NAME.pub
) 複製到通道伺服器的~/.ssh/
目錄。 - 儲存私密金鑰。您稍後建立來源連線設定檔時,需要將其上傳至資料庫移轉服務。
- 產生金鑰組:
- 編輯
/etc/ssh/sshd_config
檔案,設定轉接 SSH 通道,以符合貴機構的需求。建議您使用下列設定:# Only allow the Database Migration Service user to connect. AllowUsers TUNNEL_ACCOUNT_USERNAME # Send keep-alive packets every 60 seconds to ensure that # the tunnel doesn't close during the migration ServerAliveInterval=60 # Optional: Force key-based authentication PasswordAuthentication no # Enables Database Migration Service to connect from a different host PermitTunnel yes GatewayPorts yes
- 執行
ssh
指令來啟動隧道。使用下列任何指令資料之前,請先替換以下項目:
- TUNNEL_SERVER_SSH_PORT 與伺服器用來聆聽 SSH 連線的通訊埠號碼。
- SOURCE_DATABASE_PRIVATE_IP 與來源資料庫的私人 IP 位址。SSH 伺服器必須能夠存取該 IP。
- SOURCE_DATABASE_PORT 與來源資料庫正在等待連線的通訊埠編號。Oracle 上 TCP 連線的預設通訊埠號碼為
1433
。 - USERNAME 與將執行隧道的使用者帳戶名稱。這是與 TUNNEL_ACCOUNT_USERNAME 不同的帳戶。
- TUNNEL_SERVER_PUBLIC_IP 與 SSH 安全殼層伺服器的公開 IP 位址。
ssh -N -L \ TUNNEL_SERVER_SSH_PORT:SOURCE_DATABASE_PRIVATE_IP:SOURCE_DATABASE_PORT \ USERNAME@TUNNEL_SERVER_PUBLIC_IP
- 在 SSH 通道上建立入站防火牆規則,接受您建立遷移作業所在區域的 資料庫移轉服務公開 IP 位址連線。
- 在後續階段,當您
建立來源連線設定檔時,請執行下列操作:
- 在「Define connection details」(定義連線詳細資料) 部分,輸入來源 Oracle 執行個體的私人 IP。
- 在「Define connectivity method」(定義連線方式) 部分,選取「Forward-SSH tunnel」(轉送安全殼層通道)。
- 請提供 SSH 伺服器的公開 IP 位址或主機名稱。
- 請提供您在通道伺服器上指定的 SSH 連線通訊埠。
- 輸入您為資料庫移轉服務建立的使用者名稱,以便連線 (即 TUNNEL_ACCOUNT_USERNAME 的值)。
- 從「驗證方法」下拉式選單中,選取要與 TUNNEL_ACCOUNT_USERNAME 使用者搭配使用的驗證方法:
使用虛擬私有雲對等互連設定私人連線
使用這種連線方式時,來源資料庫的 IP 位址或主機名稱必須可從 Google Cloud VPC 存取。如果來源位於 Google Cloud以外的網路,您可能需要使用其他網路元件,例如 Cloud VPN 或 Cloud Interconnect。
針對 Google Cloud中的自行託管來源
如要使用私人連線,並與虛擬私有雲對等互連,以便連線至在 Compute Engine VM 上代管的 Oracle 來源資料庫,請按照下列步驟操作:
- 請確認已為 VM 指派 IP 位址的虛擬私有雲網路設定私人服務存取權。詳情請參閱「 設定私人服務存取權」。
- 在資料庫移轉服務中, 建立私人連線設定,與您在 Compute Engine VM 上代管 Oracle 資料庫的 VPC 網路建立對等互連。
- 在後續階段,當您
建立來源連線設定檔時,請執行下列操作:
- 在「Define connection details」(定義連線詳細資料) 部分,輸入您代管 Oracle 資料庫的 Compute Engine VM 的 IP 位址。
您可以在 Google Cloud 控制台中 查看 VM 的 IP 位址。
- 在「Define connectivity method」(定義連線方式) 部分,選取「Private connectivity (VPC peering)」(私人連線 (虛擬私有雲對等互連))。
- 從下拉式選單中,選取您在上一個步驟中建立的私人連線設定。
- 在「Define connection details」(定義連線詳細資料) 部分,輸入您代管 Oracle 資料庫的 Compute Engine VM 的 IP 位址。
適用於 Google Cloud以外的自行託管來源
如要使用私人連線與虛擬私有雲對等連線,針對位於Google Cloud以外網路的自行代管 Oracle 來源資料庫,請按照下列步驟操作:
-
設定 Cloud VPN 與 Oracle 來源的直接連線。
視網路架構而定,您可能需要在系統中設定其他 VPN 閘道。詳情請參閱 Cloud VPN 說明文件中的「 建立連結至對等互連 VPN 閘道的高可用性 VPN 閘道」。
- 選用:如果您無法在設有 Cloud VPN 的相同虛擬私有雲網路中建立私人連線設定,請在 Compute Engine 上建立 反向 Proxy 虛擬機器 (VM),以便轉送虛擬私有雲之間的連線。
- 在資料庫移轉服務中, 建立私人連線設定,以便與您有 Cloud VPN 的 VPC 網路對等互連。
- 在後續階段,當您
建立來源連線設定檔時,請執行下列操作:
- 在「Define connection details」部分中,輸入 Oracle 來源的私人 IP。
- 在「Define connectivity method」(定義連線方式) 部分,選取「Private connectivity (VPC peering)」(私人連線 (虛擬私有雲對等互連))。
- 從下拉式選單中,選取您在上一個步驟中建立的私人連線設定。
後續步驟
如要進一步瞭解來源資料庫網路連線,請參閱「 來源網路連線方法總覽」。
如需完整的逐步遷移操作說明,請參閱 Oracle 到 PostgreSQL 適用的 AlloyDB 遷移指南。