設定連線至 Amazon RDS for Oracle 來源的網路

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

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

如要進一步瞭解來源資料庫網路連線,請參閱「 來源網路方法總覽」。

設定 IP 許可清單連線

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

  1. 在 AWS 管理主控台中,執行下列步驟:
    1. 確認來源 Amazon RDS 資料庫已設定為接受公開 IP 連線。
    2. 找出端點名稱和通訊埠號碼。建立連線設定檔時,您必須輸入這些值。

    如要進一步瞭解如何準備 Amazon RDS for Oracle 執行個體,請參閱 Amazon RDS 說明文件中的「 連線至 Oracle 資料庫執行個體」。

  2. 建立安全性群組,允許資料庫移轉服務將流量傳輸至 Amazon RDS VPC。請參閱「 建立安全性群組,提供虛擬私有雲中的 DB 執行個體存取權」。

    請務必允許您建立遷移作業的區域使用所有 資料庫移轉服務公開 IP 位址

  3. 稍後 建立來源連線設定檔時,請按照下列步驟操作:
    1. 在「定義連線詳細資料」部分,請使用執行個體的端點名稱做為來源資料庫 IP。
    2. 在「定義連線方式」部分,選取「IP 許可清單」

透過轉送 SSH 通道設定連線

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

  1. 啟動 Amazon EC2 執行個體,做為專用的轉送 SSH 通道。請務必在與來源 Amazon RDS for Oracle 相同的 Amazon VPC 中設定。

    詳情請參閱 Amazon 說明文件中的「 開始使用 Amazon EC2」。

  2. 連線至 EC2 執行個體,並設定 SSH 通道。請按照下列步驟操作:
    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
  3. 稍後 建立來源連線設定檔時,請按照下列步驟操作:
    1. 在「定義連線詳細資料」部分,請使用執行個體的端點名稱做為來源資料庫 IP。
    2. 在「定義連線方式」部分,選取「轉送 SSH 通道」
    3. 提供 SSH 伺服器的公開 IP 位址或主機名稱。
    4. 請提供您在通道伺服器上為 SSH 連線指定的通訊埠。
    5. 輸入您為資料庫移轉服務建立的使用者名稱,以便連線 (即 TUNNEL_ACCOUNT_USERNAME 的值)。
    6. 從「驗證方法」下拉式選單中,選取要搭配 TUNNEL_ACCOUNT_USERNAME 使用的驗證方法:
      • 如要使用使用者密碼,請選取「密碼」,然後在表單中輸入 TUNNEL_ACCOUNT_USERNAME 密碼。
      • 如果將 SSH 伺服器設定為使用金鑰驗證,請選取「私密/公開金鑰組」,然後上傳您使用 ssh-keygen 指令產生的私密金鑰

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

如要搭配使用私人連線與 Amazon RDS for Oracle 來源,您必須在同一個虛擬私有雲網路中設定 Cloud VPN 或 Cloud Interconnect,並在該網路中為資料庫遷移服務建立私人連線設定。如果無法在 Cloud VPN 或 Cloud Interconnect 所在的虛擬私有雲網路中建立私人連線設定,您也需要在 Compute Engine 上建立反向 Proxy 虛擬機器 (VM),才能建立連線。

如果無法使用 Cloud VPN 或 Cloud Interconnect,建議改用 轉送 SSH 通道IP 允許清單連線方法。

如要透過虛擬私有雲對等互連和 Cloud VPN 使用私人連線,請按照下列步驟操作:

  1. 透過 Cloud VPN 與 Amazon RDS for PostgreSQL 執行個體建立直接連線。

    詳情請參閱 Cloud VPN 說明文件中的「 在 Google Cloud 與 AWS 之間建立高可用性 VPN 連線」。

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