全部产品
Search
文档中心

ApsaraDB RDS:Pesan kesalahan "Destination Host Unreachable" ditampilkan saat saya melakukan ping pada endpoint dari instance RDS

更新时间:Jul 02, 2025

Tidak dapat terhubung ke instance ApsaraDB RDS, dan pesan kesalahan "Destination Host Unreachable" muncul saat melakukan ping pada endpoint internal.

Deskripsi masalah

Endpoint internal dari instance RDS tidak dapat di-ping dari instance Elastic Compute Service (ECS), dan pesan kesalahan "Destination Host Unreachable" ditampilkan.

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

Penyebab

Blok CIDR internal dari instance RDS bertentangan dengan blok CIDR dari layanan lain.

Analisis masalah

  1. Ping endpoint internal dari instance RDS untuk mendapatkan alamat IP privat. Dalam contoh ini, alamat IP privat adalah 172.17.0.31.

  2. Jalankan perintah route -n untuk melihat rute dalam sistem Linux. Sistem Linux digunakan sebagai contoh. Informasi berikut dikembalikan:

    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

    Keluaran perintah menunjukkan bahwa blok CIDR dari NIC br-350b446c181a adalah 172.17.0.0/24 dan bertentangan dengan alamat IP privat dari instance RDS. Akibatnya, lalu lintas dari instance ECS tidak dapat dirutekan ke instance RDS.

    Dalam banyak kasus, penyebabnya adalah bahwa blok CIDR dari layanan kontainer bertentangan dengan blok CIDR dari instance RDS. Bagian berikut menjelaskan cara menyelesaikan konflik rute pada layanan kontainer.

Solusi

Solusi 1: Ubah blok CIDR default dari layanan kontainer

Penting
  • Jika Anda menghentikan layanan Docker atau mengubah blok CIDR default dari layanan Docker, layanan akan terganggu. Kami menyarankan Anda melakukan operasi ini selama jam sepi.

  • Saat mengubah blok CIDR default dari layanan Docker, pastikan bahwa blok CIDR baru kompatibel dengan pengaturan jaringan dari kontainer dan aplikasi yang ada untuk mencegah masalah konektivitas.

Dalam contoh ini, Linux digunakan.

  1. Hentikan layanan Docker.

    sudo systemctl stop docker
  2. Ubah file konfigurasi dari layanan Docker. Dalam banyak kasus, file konfigurasi disimpan di /etc/docker/daemon.json atau /etc/docker/daemon.conf. Nama file mungkin bervariasi.

    sudo vim /etc/docker/daemon.json

    Gunakan potongan kode berikut:

    {
        "bip": "Blok CIDR baru"
    }

    Dalam contoh ini, blok CIDR 192.168.0.0/16 digunakan.

  3. Simpan dan tutup file konfigurasi.

  4. Mulai layanan Docker agar modifikasi diterapkan.

    sudo systemctl start docker

Solusi 2: Ubah vSwitch dari instance RDS

Anda dapat mengubah vSwitch dari instance RDS untuk memastikan bahwa blok CIDR dari vSwitch tidak bertentangan dengan blok CIDR dari layanan kontainer.

Penting

Secara default, virtual private clouds (VPCs) yang berbeda tidak dapat berkomunikasi satu sama lain melalui jaringan internal. Kami menyarankan Anda untuk tidak mengubah VPC dari instance RDS. Dengan cara ini, koneksi berbasis jaringan internal antara instance RDS dan layanan Alibaba Cloud lainnya tidak terpengaruh.

Referensi