Aby instancja RDS w VPC była dostępna publicznie (Internet), wszystkie podsieci, do których jest ona podłączona, muszą być „publiczne” - w przeciwieństwie do „prywatnych” - podsieci VPC.
Podsieć publiczna jest zasadniczo zdefiniowana jako podsieć, w której obiekt bramy internetowej (igw-xxxxxxxx) jest drogą do „Internetu” lub przynajmniej do miejsc docelowych, do których należy uzyskać dostęp. Zazwyczaj jest to adres docelowy 0.0.0.0/0
. Publicznych podsieci należy używać w przypadku instancji (w tym RDS), które będą miały powiązany publiczny adres IP i nie należy ich używać w instancjach, które nie będą miały publicznych adresów IP, ponieważ prywatne adresy nie działają w Internecie bez tłumaczenia.
Natomiast podsieć prywatna ma swoją tablicę routingu skonfigurowaną do osiągania miejsc docelowych w Internecie za pośrednictwem innego wystąpienia EC2, zwykle wystąpienia NAT. To pokazuje w tabeli tras VPC powiązanej z tą podsiecią jako i-xxxxxxxx, a nie „igw”. Ta maszyna (która sama w rzeczywistości będzie w innej podsieci niż ta, dla której działa jako miejsce docelowe trasy) służy jako tłumacz, umożliwiając instancjom dostępnym wyłącznie w adresie IP przezroczyste wysyłanie wychodzących żądań internetowych za pomocą publicznego komputera NAT IP dla potrzeb Internetu. Instancje z publicznym adresem IP nie mogą poprawnie współpracować z Internetem, jeśli są podłączone do prywatnej podsieci.
W tym konkretnym przypadku podsieci powiązane z instancją RDS nie zostały tak naprawdę skonfigurowane jako coś, co można by po prostu sklasyfikować jako prywatną lub publiczną podsieć, ponieważ podsieć w ogóle nie miała domyślnej trasy. Dodanie domyślnej trasy przez obiekt „igw” lub, podobnie jak OP, dodanie trasy statycznej do internetowego adresu IP, w którym potrzebna była łączność, do tabeli tras VPC dla podsieci rozwiązuje problem z łącznością.
Jednak ... Jeśli wystąpi podobny problem, nie możesz po prostu zmienić tabeli tras lub zbudować nowych tabel tras i powiązać z nimi podsieci, chyba że nic już nie działa poprawnie w podsieciach, ponieważ zmiana może być uzasadniona oczekuje się, że zerwie istniejącą łączność. W takim przypadku poprawnym przebiegiem byłoby zapewnienie wystąpień w różnych podsieciach poprawnych wpisów tablicy tras.
Podczas konfigurowania VPC idealnie jest jasno zdefiniować role podsieci i w pełni zapewnić niezbędne trasy przy pierwszym uruchomieniu VPC. Ważne jest również, aby pamiętać, że cała sieć LAN VPC VPC jest siecią definiowaną programowo. W przeciwieństwie do sieci fizycznej, w której router może stać się wąskim gardłem i często rozsądne jest umieszczanie maszyn o dużym natężeniu ruchu między nimi w tej samej podsieci ... przecinanie ruchu w podsieciach nie ma ujemnego wpływu na wydajność VPC. Maszyny powinny być umieszczane w podsieciach odpowiednich do potrzeb adresowania IP maszyny - adres publiczny, podsieć publiczna; brak adresu publicznego, prywatna podsieć.
Więcej dyskusji na temat logistyki prywatnych / publicznych podsieci w VPC można znaleźć w Dlaczego potrzebujemy prywatnej podsieci w VPC (w przepełnieniu stosu).
(110)
o błędzie oznacza „upłynął limit czasu połączenia”, więc zdecydowanie jest to problem z łącznością IP. Wystąpienie RDS pokazuje, że jest powiązane z dwiema podsieciami. W konsoli VPC jaka jest domyślna trasa tych dwóch podsieci? Czy jest to „igw-xxxxxxxx” czy też „i-xxxxxxxx”?