すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:ApsaraDB RDS インスタンスに接続できず、インスタンスの内部エンドポイントに ping を実行すると「Destination Host Unreachable」というエラーメッセージが表示される場合の対処方法

最終更新日:Oct 10, 2026

ApsaraDB RDS インスタンスへの接続に失敗し、RDS インスタンスの内部エンドポイントに ping を実行すると Destination Host Unreachable というエラーメッセージが表示されます。

問題の説明

Elastic Compute Service (ECS) インスタンスから RDS インスタンスの内部エンドポイントに ping を実行できず、Destination Host Unreachable が返されます。

PING rm-bpxxxx.mysql.rds.aliyuncs.com (172.17.0.31) 56(84) bytes of data.
From xxxx (172.17.0.1) icmp_seq=1 Destination Host Unreachable
From xxxx (172.17.0.1) icmp_seq=2 Destination Host Unreachable
From xxxx (172.17.0.1) icmp_seq=3 Destination Host Unreachable

原因

ほとんどの場合、RDS インスタンスの内部 CIDR ブロックが、別のサービスの CIDR ブロックと競合しているためです。

分析

  1. PING コマンドを使用して、RDS インスタンスの内部エンドポイントに ping を実行し、そのプライベート IP アドレスを確認します。 上記の例では、RDS インスタンスのプライベート IP アドレスは 172.17.0.31 です。

  2. この例では、Linux オペレーティングシステムを使用します。 route-n コマンドを実行してルートを表示します。 次のような出力が返されます。

    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         172.17.2.253    0.0.0.0         UG    0      0        0 eth0
    169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
    172.17.0.0      0.0.0.0         255.255.255.0   U     0      0        0 br-350b446c181a

    出力から、ネットワークインターフェイスカード (NIC) br-350b446c181a の CIDR ブロックが 172.17.0.0/24 であり、RDS インスタンスのプライベート IP アドレスと競合していることがわかります。 その結果、ECS インスタンスはトラフィックを RDS インスタンスにルーティングできません。

    ほとんどの場合、この問題はコンテナサービスの CIDR ブロックが ApsaraDB RDS の CIDR ブロックと競合するために発生します。 次の例では、コンテナサービスを例に、ルートの競合を解決する方法を説明します。

ソリューション

解決策 1: コンテナサービスのデフォルト CIDR ブロックの変更

重要
  • Docker の停止や Docker のデフォルト CIDR ブロックの変更を行うと、サービスが中断されます。 この操作はピーク時間外に実行してください。

  • Docker のデフォルト CIDR ブロックを変更するときは、既存のすべてのコンテナとアプリケーションのネットワーク設定との互換性を確保し、潜在的な接続の問題を防ぐ必要があります。

この例では、Linux オペレーティングシステムを使用します。 次の手順を実行します。

  1. Docker サービスを停止します。

    sudo systemctl stop docker
  2. Docker 設定ファイルを編集します。 ほとんどの場合、Docker 設定ファイルは /etc/docker/daemon.json または /etc/docker/daemon.conf にあります。 ファイル名が異なる場合があります。

    sudo vim /etc/docker/daemon.json

    ファイルに次の内容が含まれていることを確認します:

    {
        "bip": "新的网络网段"
    }

    たとえば、新しい CIDR ブロックを 192.168.0.0/16 に設定します。

  3. 設定ファイルを保存して閉じます。

  4. Docker サービスを開始して変更を有効にします。

    sudo systemctl start docker

解決策 2: RDS インスタンスの vSwitch の変更

RDS インスタンスの vSwitch を変更して、vSwitch の CIDR ブロックがコンテナサービスの CIDR ブロックと競合しないようにすることができます。

重要

デフォルトでは、異なる Virtual Private Cloud (VPC) は内部ネットワークを介して相互に通信できません。 (推奨) vSwitch のみを変更し、VPC は変更しないでください。 これにより、他の Alibaba Cloud サービスと RDS インスタンス間の内部ネットワーク接続が影響を受けなくなります。

関連ドキュメント