設定連線至自架式 Oracle 來源的網路

本頁面說明如何設定網路連線,以便透過資料庫移轉服務,將自行代管的 Oracle 來源異質遷移至 PostgreSQL 適用的 Cloud SQL。

您可以透過三種不同方法,為從自行託管的 Oracle 來源進行遷移作業,設定必要的網路連線:

設定 IP 許可清單連線

如要使用公開 IP 許可清單連線方式,請按照下列步驟操作:

  1. 請確認來源資料庫的 IP 位址可從公開網際網路連線。您不需要使用 IP 位址連線。 如果 IP 位址有相關聯的 DNS 記錄,也可以使用該記錄。
  2. 在來源資料庫伺服器上建立連入防火牆規則,接受資料庫移轉服務的連線。請使用下列設定:
    1. 規則類型請使用 port
    2. 在允許的 IP 位址範圍中,新增您建立遷移作業的區域中,所有 資料庫遷移服務的公開 IP 位址
    3. 將通訊協定設為 TCP
    4. 將規則相關聯的通訊埠編號,設為來源資料庫接聽連入連線的通訊埠。這個通訊埠號碼與您在來源連線設定檔中輸入的號碼相同。

      Oracle 伺服器預設使用 1521 通訊埠。

    設定防火牆規則的步驟會因使用的伺服器軟體而異。詳情請參閱防火牆產品的說明文件。

  3. 稍後 建立來源連線設定檔時,請在「定義連線方式」部分選取「IP 許可清單」

透過轉送 SSH 通道設定連線

如要透過安全殼層 (SSH) 通道連線至來源資料庫,請按照下列步驟操作:

  1. 建立虛擬機器 (VM),開啟資料庫移轉服務與來源資料庫之間的通道。通道伺服器可以是任何 Unix/Linux 主機,只要符合下列條件:
    • 可透過 SSH 從公開網際網路存取。
    • 可存取來源資料庫的私人 IP 位址。
  2. 在 SSH 伺服器上,建立資料庫遷移服務可用來連線至 SSH 通道的使用者帳戶。

    舉例來說,在 Ubuntu 系統上,您可以使用下列指令:

    1. 建立使用者帳戶:
      adduser TUNNEL_ACCOUNT_USERNAME
    2. 限制使用者帳戶的 Shell 存取權,以提升安全性:
      usermod -s /usr/sbin/nologin TUNNEL_ACCOUNT_USERNAME
  3. 決定資料庫移轉服務連線至通道時要使用的驗證方法。

    您可以使用密碼,或產生 PEM 格式的 SSH 金鑰,之後建立來源連線設定檔時,即可將金鑰上傳至資料庫遷移服務。

    • 如要使用密碼,則無須進行任何額外設定。請記下您為 TUNNEL_ACCOUNT_USERNAME 帳戶建立的密碼。
    • 如要使用金鑰驗證,請產生私密/公開金鑰組。舉例來說,您可以使用 ssh-keygen 公用程式:
      1. 產生金鑰組:
        ssh-keygen -m PEM -f YOUR_KEY_NAME
      2. 將公開金鑰 (YOUR_KEY_NAME.pub) 複製到通道伺服器上的 ~/.ssh/ 目錄。
      3. 儲存私密金鑰。建立來源連線設定檔時,您稍後需要將這個檔案上傳至資料庫遷移服務。
  4. 編輯 /etc/ssh/sshd_config 檔案,設定轉接的安全殼層通道,以符合貴機構的需求。建議使用下列設定:
    # 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
  5. 執行 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,並使用安全殼層通道伺服器的公開 IP。
    ssh -N -L \
    TUNNEL_SERVER_SSH_PORT:SOURCE_DATABASE_PRIVATE_IP:SOURCE_DATABASE_PORT \
    USERNAME@TUNNEL_SERVER_PUBLIC_IP
  6. 在 SSH 通道上建立連入防火牆規則,接受來自 資料庫移轉服務公開 IP 位址的連線,這些 IP 位址位於您建立移轉作業的區域。
  7. 稍後 建立來源連線設定檔時,請按照下列步驟操作:
    1. 在「定義連線詳細資料」部分,輸入來源 Oracle 執行個體的私人 IP。
    2. 在「定義連線方式」部分,選取「轉送 SSH 通道」
    3. 提供 SSH 伺服器的公開 IP 位址或主機名稱。
    4. 請提供您在通道伺服器上為 SSH 連線指定的通訊埠。
    5. 輸入您為資料庫移轉服務建立的使用者名稱,以便連線 (即 TUNNEL_ACCOUNT_USERNAME 的值)。
    6. 從「驗證方式」下拉式選單中,選取要用於 TUNNEL_ACCOUNT_USERNAME 使用者的驗證方式:
      • 如要使用使用者密碼,請選取「密碼」,然後在表單中輸入 TUNNEL_ACCOUNT_USERNAME 密碼。
      • 如果將 SSH 伺服器設定為使用金鑰驗證,請選取「私密/公開金鑰組」,然後上傳您使用 ssh-keygen 指令產生的私密金鑰

設定私人連線 Private Service Connect 介面

這種連線方法可讓您連線至來源資料庫的私人 IP,而不必耗用 虛擬私有雲對等互連配額。建議使用 Private Service Connect 介面進行私人 IP 連線。

適用於 Google Cloud中的自行託管來源

如要透過 Private Service Connect 介面使用私人連線,連線至 Compute Engine VM 上代管的來源 Oracle 資料庫,請按照下列步驟操作:

  1. 在自行託管來源所在的虛擬私有雲中建立網路連結。 請按照下列步驟操作:
    1. 前往 Google Cloud 控制台的「Network attachments」(網路附件) 頁面。

      前往「網路附件」

    2. 按一下「Create network attachment」(建立網路連結)
    3. 輸入附件名稱。
    4. 從「Network」(網路) 選單中,選取自架來源所在的虛擬私有雲。
    5. 請使用您打算建立目的地資料庫的區域。

      資料庫移轉服務是完全區域性的產品,也就是說,與遷移作業相關的所有實體 (來源和目的地連線設定檔、遷移工作、目的地資料庫、轉換工作區) 都必須儲存在單一區域。

    6. 在「連線偏好設定」中,選取「接受所選專案的連線」

      稍後 建立私人連線設定時,資料庫移轉服務會自動將生產端專案新增至「已接受」專案清單

    7. 請勿新增「已接受專案」或「遭拒的專案」
    8. 按一下「Create network attachment」(建立網路連結)
  2. 在資料庫遷移服務中, 為 Private Service Connect 介面建立私人連線設定
  3. 稍後 建立來源連線設定檔時,請按照下列步驟操作:
    1. 在「定義連線詳細資料」區段中,輸入代管 Oracle 資料庫的 Compute Engine VM 的 IP 位址。

      您可以在 Google Cloud 控制台 查看 VM 的 IP 位址

    2. 在「定義連線方式」部分,選取「私人連線」
    3. 從下拉式選單中,選取您在上一個步驟中建立的私人連線設定。

適用於外部自行託管的來源 Google Cloud

如要透過 Private Service Connect 介面使用私人連線,連線至位於Google Cloud外部網路的自行代管 Oracle 來源資料庫,請按照下列步驟操作:

  1. 使用 Cloud VPN 設定與 Oracle 來源的直接連線。

    視網路架構而定,您可能需要在系統中設定額外的 VPN 閘道。詳情請參閱 Cloud VPN 說明文件中的「 建立連結至對接 VPN 閘道的高可用性 VPN 閘道」。

  2. 選用:如果無法在 Cloud VPN 所在的虛擬私有雲網路中建立私人連線設定,請在 Compute Engine 上 建立反向 Proxy 虛擬機器 (VM),轉送虛擬私有雲之間的連線。
  3. 在 Cloud VPN 所在的虛擬私有雲中建立網路連結。 請按照下列步驟操作:
    1. 前往 Google Cloud 控制台的「Network attachments」(網路附件) 頁面。

      前往「網路附件」

    2. 按一下「Create network attachment」(建立網路連結)
    3. 輸入附件名稱。
    4. 從「Network」(網路) 選單中,選取自架來源所在的虛擬私有雲。
    5. 請使用您打算建立目的地資料庫的區域。

      資料庫移轉服務是完全區域性的產品,也就是說,與遷移作業相關的所有實體 (來源和目的地連線設定檔、遷移工作、目的地資料庫、轉換工作區) 都必須儲存在單一區域。

    6. 在「Subnetwork」(子網路) 選單中,選取至少有 6 個可用 IP 位址的子網路,供資料庫移轉服務使用 (即 /29 範圍)。
    7. 在「連線偏好設定」中,選取「接受所選專案的連線」

      稍後 建立私人連線設定時,資料庫移轉服務會自動將生產端專案新增至「已接受」專案清單

    8. 請勿新增「已接受專案」或「遭拒的專案」
    9. 按一下「Create network attachment」(建立網路連結)
  4. 在資料庫遷移服務中, 為 Private Service Connect 介面建立私人連線設定
  5. 稍後 建立來源連線設定檔時,請按照下列步驟操作:
    1. 在「定義連線詳細資料」部分,輸入 Oracle 來源的私人 IP。
    2. 在「定義連線方式」部分,選取「私人連線」
    3. 從下拉式選單中,選取您在上一個步驟中建立的私人連線設定。

透過虛擬私有雲對等互連設定私人連線

使用這種連線方法時,來源資料庫的 IP 位址或主機名稱必須可從 Google Cloud 虛擬私有雲存取。如果自有代管來源位於外部網路 Google Cloud,您可能需要使用其他網路元件,例如 Cloud VPN 或 Cloud Interconnect。

適用於 Google Cloud中的自行託管來源

如要透過虛擬私有雲對等互連,與 Compute Engine VM 上代管的來源 Oracle 資料庫建立私人連線,請按照下列步驟操作:

  1. 請確認已為 VM 指派 IP 位址的虛擬私有雲網路設定私人服務存取權。詳情請參閱「 設定私人服務存取權」。
  2. 在資料庫移轉服務中, 建立私人連線設定,與您在 Compute Engine VM 上代管 Oracle 資料庫的虛擬私有雲網路建立對等互連。
  3. 稍後 建立來源連線設定檔時,請按照下列步驟操作:
    1. 在「定義連線詳細資料」區段中,輸入代管 Oracle 資料庫的 Compute Engine VM 的 IP 位址。

      您可以在 Google Cloud 控制台 查看 VM 的 IP 位址

    2. 在「定義連線方式」部分,選取「私人連線 (虛擬私有雲對等互連)」
    3. 從下拉式選單中,選取您在上一個步驟中建立的私人連線設定。

適用於外部自行託管的來源 Google Cloud

如要透過虛擬私有雲對等互連功能,使用私人連線連至位於Google Cloud外部網路的自行代管 Oracle 來源資料庫,請按照下列步驟操作:

  1. 使用 Cloud VPN 設定與 Oracle 來源的直接連線。

    視網路架構而定,您可能需要在系統中設定額外的 VPN 閘道。詳情請參閱 Cloud VPN 說明文件中的「 建立連結至對接 VPN 閘道的高可用性 VPN 閘道」。

  2. 選用:如果無法在 Cloud VPN 所在的虛擬私有雲網路中建立私人連線設定,請在 Compute Engine 上 建立反向 Proxy 虛擬機器 (VM),轉送虛擬私有雲之間的連線。
  3. 在資料庫遷移服務中, 建立私人連線設定,與 Cloud VPN 所在的虛擬私有雲網路對等互連。
  4. 稍後 建立來源連線設定檔時,請按照下列步驟操作:
    1. 在「定義連線詳細資料」部分,輸入 Oracle 來源的私人 IP。
    2. 在「定義連線方式」部分,選取「私人連線 (虛擬私有雲對等互連)」
    3. 從下拉式選單中,選取您在上一個步驟中建立的私人連線設定。

後續步驟