Untuk instance RDS di VPC yang dapat diakses "secara publik" (Internet), semua subnet yang dilampirkan haruslah "publik" - sebagai lawan dari "pribadi" - subnet VPC.
Subnet publik pada dasarnya didefinisikan sebagai subnet yang memiliki objek Internet Gateway (igw-xxxxxxxx) sebagai rutenya ke "Internet," atau setidaknya ke semua tujuan Internet yang perlu Anda akses. Biasanya, ini adalah alamat tujuan 0.0.0.0/0
. Subnet publik harus digunakan untuk instance (termasuk RDS) yang akan memiliki alamat IP publik yang terkait, dan tidak boleh digunakan untuk instance yang tidak akan memiliki alamat IP publik, karena alamat pribadi tidak berfungsi di Internet tanpa terjemahan.
Subnet pribadi, sebaliknya, memiliki tabel perutean yang dikonfigurasi untuk mencapai tujuan Internet melalui instance EC2 lainnya, biasanya instance NAT. Ini ditampilkan dalam tabel rute VPC yang terkait dengan subnet itu sebagai i-xxxxxxxx, bukan "igw." Mesin itu (yang, sendiri, sebenarnya akan berada di subnet yang berbeda dari yang digunakan sebagai tujuan rute) berfungsi sebagai penerjemah, memungkinkan instance privat-IP-only untuk secara transparan membuat permintaan Internet keluar menggunakan publik mesin NAT menggunakan publik IP untuk kebutuhan Internet mereka. Mesin virtual dengan alamat IP publik tidak dapat berinteraksi dengan Internet dengan benar jika dilampirkan ke subnet pribadi.
Dalam kasus tertentu, di sini, subnet yang terkait dengan instance RDS tidak benar-benar dikonfigurasikan sebagai sesuatu yang dapat dengan mudah diklasifikasikan sebagai subnet pribadi atau publik, karena subnet tidak memiliki rute default sama sekali. Menambahkan rute default melalui objek "igw", atau, seperti yang dilakukan OP, menambahkan rute statis ke alamat IP Internet di mana konektivitas diperlukan, ke dalam tabel rute VPC untuk subnet memperbaiki masalah konektivitas.
Namun ... Jika Anda mengalami masalah yang serupa, Anda tidak bisa begitu saja mengubah tabel rute atau membuat tabel rute baru dan mengaitkan subnet dengan mereka, kecuali jika Anda tidak memiliki hal lain yang sudah bekerja dengan benar pada subnet, karena perubahan itu bisa masuk akal diharapkan dapat memutus konektivitas yang ada. Kursus yang benar, dalam hal ini, akan menyediakan contoh pada subnet yang berbeda dengan entri tabel rute yang benar di tempat.
Saat mengatur VPC, sangat ideal untuk secara jelas mendefinisikan peran subnet dan penyediaan penuh kemudian dengan rute yang diperlukan ketika VPC pertama kali ditugaskan. Penting juga untuk diingat bahwa seluruh VPC "LAN" adalah jaringan yang ditentukan oleh perangkat lunak. Tidak seperti di jaringan fisik, di mana router dapat menjadi hambatan dan sering masuk akal untuk menempatkan mesin dengan lalu lintas yang padat di antara mereka di subnet yang sama ... lalu lintas subnet tidak memiliki kelemahan kinerja pada VPC. Mesin harus ditempatkan pada subnet yang sesuai untuk kebutuhan pengalamatan IP mesin - alamat publik, subnet publik; tidak ada alamat publik, subnet pribadi.
Diskusi lebih lanjut tentang logistik subnet pribadi / publik di VPC dapat ditemukan di Mengapa Kita Membutuhkan Subnet Pribadi di VPC (di Stack Overflow)
(110)
dalam sarana pesan kesalahan "koneksi timed out," jadi pasti ini adalah masalah konektivitas IP. Mesin virtual RDS Anda menunjukkan dikaitkan dengan dua subnet. Di konsol VPC, apa rute default kedua subnet itu? Apakah itu "igw-xxxxxxxx" atau apakah itu "i-xxxxxxxx"?