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

Tair (Redis® OSS-Compatible):「Destination Host Unreachable」エラー

最終更新日:Nov 09, 2025

Tair インスタンスの内部エンドポイントに ping を実行したときに Destination Host Unreachable エラーが表示された場合は、このトピックのソリューションをご参照ください。

症状

Elastic Compute Service (ECS) インスタンスまたは Docker コンテナーから Tair インスタンスの内部エンドポイントに ping を実行できません。Destination Host Unreachable エラーが返されます。

PING r-bp1****l7ein86xv6m.redis.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

原因

この問題は通常、ECS インスタンスまたは Docker コンテナーの内部 CIDR ブロックが Tair インスタンスの CIDR ブロックと競合するために発生します。これを確認するには、次のステップを実行します。

  1. Tair インスタンスの内部エンドポイントに ping を実行して、その内部 IP アドレスを取得します。

    この例では、Tair インスタンスの内部 IP アドレスは 172.17.0.31 です。

  2. クライアントのルートテーブルをクエリします。

    たとえば、Linux で実行されている Docker コンテナーでは、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

    出力は、br-350b446c181a ネットワークインターフェイスカード (NIC) の CIDR ブロックが 172.17.0.0/24 であることを示しています。この CIDR ブロックは、Tair インスタンスの内部 IP アドレスと競合します。その結果、Docker はパケットを Tair インスタンスにルーティングできません。

トラブルシューティングのアプローチ

クライアントまたは Tair インスタンスのネットワーク構成を変更して、競合を解決します。

ソリューション

ソリューション 1:クライアントサービスのデフォルト CIDR ブロックを変更する

この例では、デフォルトの `docker0` ブリッジを使用する Linux 上の Docker コンテナーを使用します。

重要
  • Docker サービスを停止するか、そのデフォルトの CIDR ブロックを変更すると、サービスが中断されます。この操作は、オフピーク時に実行することをお勧めします。

  • デフォルトの CIDR ブロックを変更するときは、接続の問題を防ぐために、既存のコンテナーおよびアプリケーションのネットワーク設定と互換性があることを確認してください。

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

    sudo systemctl stop docker
  2. Docker 構成ファイルを編集します。ファイルは通常、/etc/docker/daemon.json または /etc/docker/daemon.conf にあります。ファイル名は異なる場合があります。

    sudo vim /etc/docker/daemon.json

    ファイルに次の内容を追加します。変更を加える前に、元のファイルをバックアップすることをお勧めします。

    {
        "bip":"New CIDR block" // 新しいCIDRブロック
    }

    CIDR ブロックを、Tair インスタンスと競合しないものに変更します。たとえば、Tair インスタンスの内部 IP アドレスが 172.17.0.31 の場合、新しい CIDR ブロックを 192.168.0.1/24 に設定できます。

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

  4. Docker サービスを開始して変更を適用します。

    sudo systemctl start docker

注:Tair

Tair インスタンスの vSwitch を 変更 して、vSwitch の CIDR ブロックがクライアントの CIDR ブロックと競合しないようにすることができます。

説明
  • 異なる VPC は内部ネットワーク経由で通信できないため、vSwitch が同じ VPC 内にある場合にのみ vSwitch を変更できます。

  • vSwitch を変更すると、約 30 秒間の一時的な接続中断が発生します。この操作はオフピーク時に実行し、アプリケーションに自動再接続メカニズムがあることを確認することをお勧めします。

関連情報

Tair および Redis インスタンスへの接続