Mam instancję EC2 działającą w AWS. Kiedy próbuję pingować z mojego lokalnego urządzenia, nie jest ono dostępne.
Jak ustawić pingowanie instancji?
Mam instancję EC2 działającą w AWS. Kiedy próbuję pingować z mojego lokalnego urządzenia, nie jest ono dostępne.
Jak ustawić pingowanie instancji?
Odpowiedzi:
Dodaj nową regułę przychodzącą grupy zabezpieczeń EC2 :
ping
nie wszystko.
Kilka lat spóźnienia, ale mam nadzieję, że pomoże to komuś innemu ...
1) Najpierw upewnij się, że instancja EC2 ma publiczny adres IP. Jeśli ma publiczny DNS lub publiczny adres IP (zakreślony poniżej), powinieneś być dobry. To będzie adres, który pingujesz.
2) Następnie upewnij się, że reguły sieci Amazon zezwalają na żądania echa . Idź do Security Group na EC2.
3) Następnie zapora systemu Windows domyślnie blokuje przychodzące żądania Echo. Zezwól na żądania Echo, tworząc wyjątek zapory systemu Windows ...
4) Gotowe! Mam nadzieję, że powinieneś być teraz w stanie pingować swój serwer.
Musisz edytować grupę zabezpieczeń, do której należy twoje wystąpienie EC2 i zezwalać na dostęp (lub alternatywnie utworzyć nowe i dodać do niego wystąpienie).
Domyślnie wszystko jest odrzucane. Wyjątek, który musisz dodać do Security Group, zależy od usługi, którą musisz udostępnić w Internecie.
Jeśli jest to serwer WWW będzie trzeba, aby umożliwić dostęp do portu 80
dla 0.0.0.0/0
( co oznacza dowolny adres IP ).
Aby umożliwić pingowanie instancji, należy włączyć ruch ICMP.
Konsola internetowa AWS udostępnia niektóre z najczęściej używanych opcji na odpowiedniej liście rozwijanej.
All ICMP
ruchu do maszyn przy użyciu określonej grupy zabezpieczeń zadziałało dla mnie.
Niestandardowa reguła ICMP w grupie zabezpieczeń nie jest tym, czego potrzeba, przynajmniej dla mnie. Ale będzie działać następująca reguła:
Type: All ICMP
Protocol: TCP
Port range: 0 - 65535
Source: Anywhere - 0.0.0.0/0
Po wykonaniu tej czynności będziesz mógł pingować inne instancje. Powinieneś zobaczyć coś takiego:
PING 10.0.0.15 (10.0.0.15): 56 data bytes
64 bytes from 10.0.0.14: icmp_seq=1 ttl=64 time=3.9 ms
64 bytes from 10.0.0.14: icmp_seq=2 ttl=64 time=3.9 ms
64 bytes from 10.0.0.14: icmp_seq=3 ttl=64 time=10.6 ms
64 bytes from 10.0.0.14: icmp_seq=4 ttl=64 time=40.6 ms
64 bytes from 10.0.0.14: icmp_seq=5 ttl=64 time=3.8 ms
64 bytes from 10.0.0.14: icmp_seq=6 ttl=64 time=5.3 ms
64 bytes from 10.0.0.14: icmp_seq=7 ttl=64 time=6.5 ms
64 bytes from 10.0.0.14: icmp_seq=8 ttl=64 time=3.5 ms
64 bytes from 10.0.0.14: icmp_seq=9 ttl=64 time=21.0 ms
64 bytes from 10.0.0.14: icmp_seq=10 ttl=64 time=3.5 ms
64 bytes from 10.0.0.14: icmp_seq=11 ttl=64 time=3.5 ms
64 bytes from 10.0.0.14: icmp_seq=12 ttl=64 time=59.7 ms
64 bytes from 10.0.0.14: icmp_seq=13 ttl=64 time=3.5 ms
64 bytes from 10.0.0.14: icmp_seq=14 ttl=64 time=3.5 ms
64 bytes from 10.0.0.14: icmp_seq=15 ttl=64 time=4.8 ms
64 bytes from 10.0.0.14: icmp_seq=16 ttl=64 time=3.1 ms
64 bytes from 10.0.0.14: icmp_seq=17 ttl=64 time=3.1 ms
64 bytes from 10.0.0.14: icmp_seq=18 ttl=64 time=3.0 ms
64 bytes from 10.0.0.14: icmp_seq=19 ttl=64 time=3.1 ms
--- 10.0.0.14 ping statistics ---
20 packets transmitted, 19 packets received, 5% packet loss
round-trip min/avg/max = 3.0/9.9/59.7 ms
Otóż to.
Proszę przejrzeć poniższe listy kontrolne
1) Najpierw musisz sprawdzić, czy instancja jest uruchomiona w podsieci, do której jest dostępna z Internetu
W tym celu sprawdź, czy uruchomiona podsieć instancji ma podłączoną do niej bramę internetową.
publiczne i prywatne podsieci w aws vpc
2) Sprawdź, czy dodano odpowiednie reguły grupy zabezpieczeń, jeśli nie, dodaj poniższą regułę w grupie zabezpieczeń dołączonej do instancji. Grupa zabezpieczeń jest zaporą dołączoną do każdej uruchomionej instancji. Grupy bezpieczeństwa zawierają reguły przychodzące / wychodzące, które zezwalają na ruch / z instancji. domyślnie każda grupa zabezpieczeń zezwala na cały ruch wychodzący z instancji i brak ruchu przychodzącego do instancji. Sprawdź poniższy link, aby uzyskać więcej informacji o ruchu.
dokumentacja grupy bezpieczeństwa
Wpisz: niestandardowy ICMPV4
Protokół: ICMP
Portrange: Echo Request
Źródło: 0.0.0.0/0
3) Sprawdź, czy masz wystarczającą liczbę reguł w zaporze na poziomie podsieci o nazwie NACL. NACL to bezstanowa zapora ogniowa, która wymaga oddzielnie określonego ruchu przychodzącego i wychodzącego. NACL jest stosowany na poziomie podsieci, wszystkie wystąpienia w podsieci zostaną objęte zasady NACL. Poniżej znajduje się link, który będzie zawierał więcej szczegółów na jego temat.
Reguły przychodzące . Reguły wychodzące
Typ: niestandardowy IPV4 Typ: niestandardowy IPV4
Protokół: ICMP Protokół: ICMP
Portrange: WNIOSEK ECHO Portrange: ODPOWIEDŹ ECHO
Źródło: 0.0.0.0/0 Miejsce docelowe: 0.0.0.0/0
Allow / Deny: Allow Allow / Deny: Allow
4) sprawdź wszelkie zapory ogniowe, takie jak IPTABLES, i wyłącz testowanie ping.
Utworzenie nowej grupy bezpieczeństwa z All ICMP działało dla mnie.
Ci, którzy są nowi w aws ec2 i chcą uzyskać dostęp do instancji od SSH, Broswer, Ping from system
tego momentu poniżej, są dla tych reguł:
Przejdź do grupy zabezpieczeń instancji EC2 i edytuj regułę ruchu przychodzącego zezwól na 0.0.0.0/0 dla ICMP.
To będzie działać.
1.Go to EC2 Dashboard and click "Running Instances" on "Security Groups"
2.select the group of your instance which you need to add security.
3.click on the "Inbound" tab
4.Click "Edit" Button (It will open an popup window)
5.click "Add Rule"
6.Select the "Custom ICMP rule - IPv4" as Type
7.Enter the "0.0.0.0/0" as Source or your public IP
7. Kliknij „Zapisz”
Domyślnie EC2 jest zabezpieczony przez AWS Security Group (usługa znaleziona w EC2 i VPC). Grupa zabezpieczeń domyślnie nie zezwala na żadne żądanie ICMP, które zawiera polecenie ping. Aby na to pozwolić:
Idź do: AWS EC2 Instancja Zlokalizuj: Grupa zabezpieczeń wiąże się z tą instancją (Możliwe jest posiadanie wielu grup zabezpieczeń) Sprawdź: Reguły ruchu przychodzącego dla portu protokołu (ICMP) (0 - 65535), jeśli nie jest obecny, możesz go dodać i zezwolić na podany źródłowy adres IP lub inna grupa zabezpieczeń.
Jeśli chcesz włączyć ping (z dowolnego miejsca) programowo, za pomocą SDK, magiczna formuła to:
cidrIp: "0.0.0.0/0"
ipProtocol: "icmp"
toPort: -1
fromPort: 8
Na przykład, w Scali (z użyciem SDK v2 AWS Java), następujące prace do zdefiniowania IpPermission
dla authorizeSecurityGroupIngress
końcowego.
val PingPermission = {
val range = IpRange.builder().cidrIp( "0.0.0.0/0" ).build()
IpPermission.builder().ipProtocol( "icmp" ).ipRanges( range ).toPort( -1 ).fromPort( 8 ).build()
}
(Próbowałem, jest to tylko w EC2-Classic. Nie wiem, jakie reguły dotyczące wychodzenia mogą być konieczne w przypadku VPC)
Grupy zabezpieczeń umożliwiają kontrolowanie ruchu do instancji, w tym rodzaju ruchu, który może do niej dotrzeć.
1. Check the Security Groups (Enabled the PORTS to be OPEN)
2. Check the correct VPC
3. Attached the correct Subnet
4. AWS EC2 to be in Public Subnet
5. Enable Internet Gateway
Otwórz porty w AWS EC2 sprawdź to łącze oficjalne łącze AWS
Tak, musisz otworzyć dostęp do portu. Spójrz na grupy bezpieczeństwa http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html
Instancja EC2 musi być dołączona do grupy zabezpieczeń, która umożliwia wymagany dostęp.
Jeśli ustawisz reguły jako „Niestandardową regułę ICMP” i „odpowiedź echa” w dowolnym miejscu, będzie działać jak bohater. „Żądanie echa” jest niewłaściwą zasadą odpowiadania na pingi.
Miałem głębszy problem - stworzyłem VPC, podsieć i odpowiednią grupę bezpieczeństwa, ale zaniedbałem dodanie bramy internetowej i skojarzenie jej z moją podsiecią. Ponieważ jest to mój pierwszy wynik Google dla „Can't ping ec2”, zamieszczam te informacje tutaj, na wypadek, gdyby okazały się przydatne dla kogoś innego (lub dla mnie w przyszłości).
instrukcje terraform dla grupy bezpieczeństwa, ponieważ -1 nie było dla mnie oczywiste.
resource "aws_security_group" "Ping" {
vpc_id = "${aws_vpc.MyVPC.id}"
ingress {
from_port = -1
to_port = -1
protocol = "icmp"
cidr_blocks = ["0.0.0.0/0"]
ipv6_cidr_blocks = ["::/0"]
}
}
Musisz otworzyć następujący port bezpieczeństwa w grupie zabezpieczeń. Każda reguła służy do różnych celów, jak pokazano poniżej.
WSZYSTKIE ICMP dla ping.
HTTP za dostęp do adresu URL na porcie HTTP.
HTTPS do uzyskiwania dostępu do adresu URL na zabezpieczonym porcie HTTP.
Zgodnie z wymaganiami możesz zmienić ŹRÓDŁO
być może twoja sieć wewnętrzna blokuje ten IP do pingowania lub blokuje pakiet ping w twojej zaporze ogniowej, jeśli otworzyłeś się w grupie bezpieczeństwa i VPC jest poprawny.
Podczas pingowania dwóch systemów domyślnie włączony jest SSH (jeśli łączysz się za pośrednictwem putty lub terminala). Aby zezwolić na ping, dodałem grupę zabezpieczeń dla każdej instancji (wejściowej).
Podczas uzyskiwania dostępu do nowych portów w instancji ec2. Dodałeś w 2 miejscach. 1. Porty przychodzące grupy zabezpieczeń. 2. Ustawienia zapory Reguły przychodzące.
Upewnij się, że używasz publicznego adresu IP twojej instancji aws ec2 do pingowania.
edytuj grupę zabezpieczeń dołączoną do instancji EC2 i dodaj regułę przychodzącą dla protokołu ICMP.
spróbuj pingować, jeśli to nie naprawi, a następnie dodaj regułę wychodzącą dla ICMP w grupie zabezpieczeń.
Chciałbym wspomnieć o kilku rzadkich problemach wywołanych przez ISP. Czasami śledzenie przydarza mi się z BSNL. jest to jeden z tych dziwnych problemów, który zabiera godziny z codziennego życia. W takim przypadku można podnieść problem z usługodawcą internetowym lub zmienić usługodawcę internetowego.