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

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

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

設定 IP 許可清單連線

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

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

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

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

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

透過轉送安全殼層通道設定連線

如要透過安全殼層 (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 格式的安全殼層金鑰,之後建立來源連線設定檔時,即可將金鑰上傳至資料庫遷移服務。

    • 如要使用密碼,則無須進行任何額外設定。請記住您為 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,並使用 SSH 通道伺服器的公開 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 連線。

必要的角色

如要取得設定 Private Service Connect 介面所需的權限,請要求管理員為 遷移程序中涉及的帳戶授予專案的必要 IAM 角色。

  • 執行遷移作業的使用者帳戶:
  • 如要在資料庫遷移服務以外的專案中建立網路附件或其基礎子網路 (例如使用共用虛擬私有雲主專案),則必須將下列角色授予資料庫遷移服務服務帳戶 (service-PROJECT_NUMBER@gcp-sa-datamigration.iam.gserviceaccount.com): Compute Network Viewer (roles/compute.networkViewer)

如要進一步瞭解如何授予角色,請參閱「 管理存取權」。

這些預先定義的角色具備使用資料庫移轉服務,執行相同系統的 SQL Server 遷移作業所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

如要使用資料庫遷移服務執行相同系統的 SQL Server 遷移作業,您必須具備下列權限:

  • 執行遷移作業的使用者帳戶:
    • datamigration.*
    • compute.networkAttachments.create
    • compute.networkAttachments.get
    • compute.networkAttachments.list
    • compute.networkAttachments.update
    • compute.networkAttachments.delete
  • 資料庫遷移服務服務帳戶:
    • compute.networkAttachments.get
    • compute.networkAttachments.update
    • compute.subnetworks.get
    • compute.subnetworks.list

您或許還可透過 自訂角色或其他 預先定義的角色取得這些權限。

適用於 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. 在「子網路」選單中,選取至少有 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. 從下拉式選單中,選取您在上一個步驟中建立的私人連線設定。

後續步驟