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

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

您可以使用三種不同的方法,設定從 Amazon RDS for Oracle 來源遷移所需的網路連線:

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

設定 IP 許可清單連線

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

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

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

  2. 建立安全群組,允許資料庫移轉服務的流量傳送至 Amazon RDS VPC。請參閱 建立安全性群組,提供對 VPC 中 DB 執行個體的存取權

    請務必針對建立遷移工作的區域,允許所有 資料庫移轉服務公開 IP 位址

  3. 在後續階段,當您 建立來源連線設定檔時,請執行下列操作:
    1. 在「Define connection details」(定義連線詳細資料) 部分,請使用執行個體的端點名稱做為來源資料庫 IP。
    2. 在「Define connectivity method」(定義連線方式) 區段中,選取「IP allowlist」(IP 許可清單)

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

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

  1. 啟動 Amazon EC2 執行個體,做為專用的轉送 SSH 通道。請務必在原始 Amazon RDS for Oracle 所在的 Amazon VPC 中進行設定。

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

  2. 連線至 EC2 執行個體,然後設定 SSH 通道。請按照下列步驟操作:
    1. 為資料庫移轉服務建立個別專用使用者帳戶,以便連線:
      adduser TUNNEL_ACCOUNT_USERNAME
    2. 限制資料庫遷移服務帳戶的殼層存取權,以提升安全性:
      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 檔案,設定轉接 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
    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
  3. 在後續階段,當您 建立來源連線設定檔時,請執行下列操作:
    1. 在「Define connection details」(定義連線詳細資料) 部分,請使用執行個體的端點名稱做為來源資料庫 IP。
    2. 在「Define connectivity method」(定義連線方式) 部分,選取「Forward-SSH tunnel」(轉送安全殼層通道)
    3. 請提供 SSH 伺服器的公開 IP 位址或主機名稱。
    4. 請提供您在通道伺服器上指定的 SSH 連線通訊埠。
    5. 輸入您為資料庫移轉服務建立的使用者名稱,以便連線 (即 TUNNEL_ACCOUNT_USERNAME 的值)。
    6. 從「Authentication method」下拉式選單中,選取要與 TUNNEL_ACCOUNT_USERNAME 搭配使用的驗證方法:
      • 如果您想使用使用者密碼,請選取「密碼」,然後在表單中輸入 TUNNEL_ACCOUNT_USERNAME 密碼。
      • 如果您已將 SSH 伺服器設定為使用金鑰驗證機制,請選取「Private/Public key pair」,然後上傳您使用 ssh-keygen 指令產生的「private key」

使用虛擬私有雲對等互連設定私人連線

如要使用私人連線與 Amazon RDS for Oracle 來源連線,您需要在要為資料庫移轉服務建立私人連線設定的相同 VPC 網路中,設定 Cloud VPN 或 Cloud Interconnect。如果您無法在有 Cloud VPN 或 Cloud Interconnect 的 VPC 網路中建立私人連線設定,則還需要在 Compute Engine 上建立反向 Proxy 虛擬機器 (VM),才能建立連線。

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

如要使用 VPC 對等互連和 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 的 VPC 網路對等互連。
  4. 在後續階段,當您 建立來源連線設定檔時,請執行下列操作:
    1. 在「Define connection details」部分,輸入來源 Amazon RDS 執行個體的私人 IP。
    2. 在「Define connectivity method」(定義連線方式) 部分,選取「Private connectivity (VPC peering)」(私人連線 (虛擬私有雲對等互連))
    3. 從下拉式選單中,選取您在上一個步驟中建立的私人連線設定。