全部產品
Search
文件中心

:由於路由問題導致ECS無法串連RDS執行個體

更新時間:Feb 28, 2024

問題描述

ECS和RDS執行個體在同一個VPC和地區下,無法通過內網地址串連RDS執行個體(外網地址可以串連),Ping和Telnet命令執行失敗。

問題原因

由於安裝了Docker等服務導致變更了路由表的條目。

解決方案

重要
  • 如果您對執行個體或資料有修改、變更等風險操作,務必注意執行個體的容災、容錯能力,確保資料安全。

  • 如果您對執行個體(包括但不限於ECS、RDS)等進行配置與資料修改,建議提前建立快照或開啟RDS記錄備份等功能。

  • 如果您在阿里雲平台授權或者提交過登入帳號、密碼等安全資訊,建議您及時修改。

  1. 登入問題ECS執行個體,執行以下命令,使用Ping命令測試RDS執行個體內網地址。

    ping rm-XXX-mysql.rds.aliyuncs.com

    系統顯示類似如下,即使Ping不通也可以擷取RDS執行個體內網IP。

  2. 執行以下命令,查看ECS執行個體的路由表資訊。

    route -n

    系統顯示類似如下,確認存在因為Docker等服務添加的路由條目(您也可以和正常的ECS執行個體路由表對比確認)。

  3. 執行以下命令,添加路由條目。

    route add -net [$Network] gw [$Gateway] dev [$Network_Card]
    說明
    • 您需確認在實際環境下添加該路由條目不影響當前業務。

    • [$Network]為RDS執行個體所在的網段。

    • [$Gateway]為網關地址,您可以使用ECS執行個體的內網地址。

    • [$Network_Card]為ECS執行個體內網IP所在網卡名稱,一般為eth0。

  4. 執行以下命令,確認可以正常Ping通。

    ping rm-XXX-mysql.rds.aliyuncs.com

適用於

  • 雲資料庫RDS

  • Elastic Compute Service