Facet, z którym pracuję, podał mi poświadczenia EC2, aby zalogować się do swojej konsoli EC2. Nie byłem tym, który to założył. Niektóre wystąpienia zawierają publiczną nazwę DNS, a inne mają pusty publiczny DNS. Chcę mieć możliwość łączenia się z instancjami, które mają pusty publiczny DNS. Nie byłem w stanie dowiedzieć się, dlaczego są one puste.
amazon-web-services
amazon-ec2
amazon-vpc
użytkownik1456508
źródło
źródło
DNS hostnames: no
, ale nie mogę zmienić tej wartości, a dodanie nowego VPC również nie daje mi wyboru.DNS hostname: yes
, ale jest to tylko prywatny identyfikator podczas uruchamiania instancji. Mogę uzyskać publiczny adres IP tylko wtedy, gdy używany jest elastyczny adres IP.Odpowiedzi:
Miałem ten sam problem i go rozwiązałem. Przejrzyj instrukcje krok po kroku:
Mam nadzieję że to pomoże!
Twoje zdrowie
źródło
W VPC istnieje ustawienie o nazwie „Nazwy hostów DNS”. Możesz zmodyfikować VPC, w którym istnieje instancja EC2, i zmienić to na „Tak”. To powinno wystarczyć.
Wczoraj natknąłem się na ten problem i wypróbowałem powyższą odpowiedź od Manny'ego, który nie zadziałał. Ustawienie VPC jednak nie działa na mnie.
Ostatecznie dodałem EIP i używam go do łączenia.
źródło
Wygląda na to, że instancja została uruchomiona w VPC i podczas tej czynności pole wyboru
Automatically assign a public IP address to your instances
nie zostało zaznaczone. Dlatego instancja nie ma publicznego adresu IPMożesz przypisać Elastyczne IP do tego wystąpienia, a następnie zalogować się przy użyciu tego adresu IP.
źródło
W moim przypadku znalazłem odpowiedź od slayedbylucifer i innych, którzy wskazują na to samo, są prawidłowe.
Nawet jest ustawione, że
DNS hostname: yes
żaden publiczny adres IP nie jest przypisany do my-pvc (tylko prywatne IP).źródło
Na koniec otrzymasz publiczne dns.
źródło
Oto wskazówka dotycząca rozwiązania problemu, który nie działa:
Wskazówka - jeśli instancja nie ma publicznej nazwy DNS, otwórz konsolę VPC, wybierz VPC i sprawdź kartę Podsumowanie. Jeśli rozdzielczość DNS lub nazwy hostów DNS to nie, kliknij Edytuj i zmień wartość na tak.
Zakładając, że to zrobiłeś i nadal nie otrzymujesz publicznego adresu IP, przejdź do danej podsieci na ekranie administratora VPC i prawdopodobnie odkryjesz, że „Automatyczne przypisywanie publicznego adresu IP” nie jest ustawione na „tak”. Zmodyfikuj to ustawienie, a wiem, że nie chcesz tego tutaj, utworzyć nową instancję w tej podsieci. O ile mogę powiedzieć, że nie możesz tego zmienić na hoście, próbowałem i próbowałem, po prostu to zakończ.
źródło
Dla mnie problemem były ustawienia podsieci.
źródło
Jest to związane z funkcją VPC o nazwie „Nazwy hostów DNS”. Możesz go włączyć lub wyłączyć. Przejdź do VPC, w menu Działania wybierz element „Edytuj nazwy hostów DNS”, a następnie wybierz „Tak”. Po wykonaniu tej czynności powinien zostać wyświetlony publiczny DNS instancji EC2.
źródło
Po prostu uruchom inną instancję (a także usuń tę, jeśli nie ma ona zastosowania) i upewnij się, że tym razem zaznaczysz „Automatycznie przypisz publiczny adres IP do swojej instancji”. Jeśli nie, to jak sugeruje slayedcicicifer; przypisz elastyczny adres IP (EIP) do instancji, a następnie zaloguj się przy użyciu tego adresu IP. Uważaj jednak, jeśli korzystasz z bezpłatnej warstwy AWS, EIP będzie cię kosztować - to cały „inny temat”.
źródło
Przede wszystkim mogą być tego dwa powody:
Aby rozwiązać ten problem:
i) Przejdź do konsoli AWS VPC i wybierz utworzonego VPC.
ii) Następnie kliknij Działania, a następnie włącz rozpoznawanie DNS.
Tutaj nie można zmienić ustawienia; więc utwórz obraz ami, a następnie odtwórz z niego instancję.
źródło
Tutaj streszczę najczęściej występujące problemy:
Podczas tworzenia niestandardowego VPC, jeśli chcesz, aby zasoby aws, takie jak instancje ec2, uzyskiwały publiczne adresy IP, aby Internet mógł się z nimi komunikować, musisz najpierw upewnić się, że instancja ec2 jest powiązana z publiczną podsiecią niestandardowego VPC. Oznacza to, że podsieć ma powiązaną z nią bramę internetową. Ponadto należy upewnić się, że grupa zabezpieczeń VPC powiązana z instancją ec2 ma reguły zezwalające na ruch przychodzący do pożądanych portów, takich jak ssh, http i https. ALE oto niektóre typowe niedopatrzenia, które wciąż występują:
1) Musisz upewnić się, że nazwy hostów DNS są włączone dla VPC
2) Musisz upewnić się, że podsieć publiczna połączona z instancją EC2 ma włączoną flagę „automatycznego przypisywania publicznego adresu IP”
3) Jeśli instancja jest już utworzona, konieczne może być jej zakończenie i utworzenie nowej instancji dla publicznych pól IP i publicznych pól DNS, które mają zostać wypełnione.
źródło
Po zweryfikowaniu ustawień VPC i podsieci moja instancja EC2 nadal nie miała publicznego DNS. Po dniu poszukiwań rozwiązania w końcu doszedłem do wniosku.
Musiałem utworzyć nowy elastyczny adres IP, a następnie powiązać go z moją instancją.
Z pulpitu nawigacyjnego EC2:
Przejdź do Elastyczne adresy IP z paska bocznego.
Kliknij opcję Przydziel nowy adres , a następnie Przydziel .
Wróć do pulpitu nawigacyjnego EC2. Przejdź do Interfejsy sieciowe .
Wybierz instancję EC2 bez publicznego DNS. Następnie Działania - Adres stowarzyszony .
W polu Adres wybierz nowy elastyczny adres IP.
Associate na prywatny adres IP polu wybierz prywatny adres IP bez publicznego DNS.
Kliknij Powiąż adres .
Twoja instancja EC2 powinna teraz mieć publiczny DNS.
źródło
Zmianę ustawienia nazw hostów DNS można również wykonać za pomocą interfejsu wiersza polecenia AWS:
(Gdzie $ vpc_id jest identyfikatorem VPC, do którego dołączona jest Twoja instancja).
Jak tylko VPC zostanie zaktualizowany, instancja uzyska publiczny DNS.
źródło
Dla osób korzystających z CloudFormation kluczowymi właściwościami są EnableDnsSupport i EnableDnsHostnames, które powinny być ustawione na true
źródło
Jeśli instancja jest w VPC, upewnij się, że zarówno „rozpoznawanie nazw DNS”, jak i „nazwy hostów DNS” są ustawione na „tak”. Możesz to zrobić w interfejsie użytkownika konsoli Aws. HTH!
źródło
Przejdź do konsoli VPC, wybierz VPC i kliknij menu AKCJE, wybierz Edytuj nazwy hostów DNS - wybierz Tak. To powinno to naprawić.
źródło
Nie musisz przypisywać publicznego adresu IP do instancji. możesz użyć instancji NAT lub bramy NAT.
https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario2.html https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-comparison.html
źródło
Próbowałem naprawić „brak publicznego DNS” po uruchomieniu EC2, nie mogłem dodać publicznego DNS
dzieje się tak nawet po wykonaniu powyższych kroków, modyfikując VPC lub podsieć
więc musiałem zmodyfikować podsieć i VPN przed uruchomieniem kolejnej instancji, a następnie uruchomić nową instancję.
nowa instancja miała publiczny DNS. Tak to dla mnie działało.
źródło