AWS EC2 인스턴스를 핑할 수 없습니다


229

AWS에서 EC2 인스턴스를 실행하고 있습니다. 로컬 박스에서 핑을 시도하면 사용할 수 없습니다.

인스턴스를 핑 가능하게하려면 어떻게해야합니까?


단순히 핑을하기 위해 보안 그룹에서 ICMP를 활성화하고 싶지 않기 때문에 ec2 인스턴스를 핑하지 않습니다.
Aderemi Dayo

답변:


280

새로운 EC2 보안 그룹 인바운드 규칙을 추가하십시오 .

  • 유형 : 사용자 정의 ICMP 규칙
  • 프로토콜 : 에코 요청
  • 포트 : N / A
  • 출처 : 귀하의 선택 ( 어떤 컴퓨터에서든 핑을 할 수 있도록 Anywhere 를 선택 합니다)

3
고마워요 나는 단지 ping모두 를 허용하고 싶지 않습니다.
Chu-Siang Lai

ICMPv6도 필요합니까?
Franklin Yu

시도해 볼 수도 있습니다. 그러나 ICMP는 나를 위해 충분했다
Rakib

1
나는 아무 데나하고 있지만 자동으로 사용자 정의 @SyedRakibAlHasan으로 변환합니다.
alper

25
"Echo Request"로 "Echo Reply"를 착각하기 쉽습니다. 잠시 동안 이것으로 혼란 스러웠습니다.
Andy

100

몇 년 늦었지만 희망적으로 이것은 다른 누군가를 도울 것입니다 ...

1) 먼저 EC2 인스턴스에 퍼블릭 IP가 있는지 확인하십시오. 경우 공공 DNS 또는 공공 IP (아래 원) 주소를 당신이 잘되어야합니다. 이 주소는 핑 주소입니다. AWS 퍼블릭 DNS 주소

2) 다음으로 Amazon 네트워크 규칙이 에코 요청을 허용하는지 확인하십시오 . EC2 의 보안 그룹으로 이동하십시오 .

  • 마우스 오른쪽 버튼을 클릭하고 인바운드 규칙을 선택하십시오.
  • A : 규칙 추가를 선택 하십시오.
  • B : 사용자 정의 ICMP 규칙-IPv4 선택
  • C : 에코 요청 선택
  • D : Anywhere 또는 My IP를 선택하십시오.
  • E : 저장을 선택 하십시오

핑과 에코를 허용하는 보안 그룹 ICMP 규칙 추가

3) 다음으로 Windows 방화벽은 기본적으로 인바운드 에코 요청을 차단합니다. Windows 방화벽 예외를 작성하여 에코 요청을 허용하십시오.

  • 고급 보안으로 Windows 방화벽 시작 및 입력으로 이동
  • 인바운드 규칙 선택

핑과 에코를 허용하는 Windows Server ICMP 규칙 추가

4) 완료! 바라건대 이제 서버를 ping 할 수 있어야합니다.


1
당신은 내 하루를 구했다! 감사합니다
Yugandhar Pathi

3
최고의 답변. 매우 철저합니다.
Brian Webster

2
Windows 방화벽은 범인이었으며 지금까지 다른 답변에서는 언급하지 않았습니다.
crokusek

지금 핑 (ping) 할 수 있지만 포트에서 수신 대기중인 노드 앱에 도달 할 수있는 방법을 알고 있습니까?
FluffyBeing

@zeion-한동안 AWS를 사용하지 않았기 때문에 (2017 년 초 시험 사용 중) 많은 도움을 줄 수 없습니다. 내가 생각할 수있는 유일한 방법은 이미 시도했지만 위의 항목을 사용하지만 앱에 필요한 포트를 사용하는 것입니다. Windows 방화벽 부분의 경우 미리 작성된 규칙이 나열되지 않으므로 새 규칙을 만들 수 있다고 생각합니다.
Sunsetquest

84

EC2 인스턴스가 속한 보안 그룹 을 편집하고 액세스를 허용해야합니다 (또는 새 인스턴스를 생성하여 인스턴스에 추가).

기본적으로 모든 것이 거부됩니다. 보안 그룹에 추가해야하는 예외는 인터넷에 제공해야하는 서비스에 따라 다릅니다.

웹 서버 인 경우 포트에 80대한 액세스를 허용해야합니다 0.0.0.0/0( 즉, 모든 IP 주소 ).

인스턴스 핑을 허용하려면 ICMP 트래픽을 활성화해야합니다.

AWS 웹 콘솔은 관련 드롭 다운 목록에서 가장 일반적으로 사용되는 옵션을 제공합니다.


7
All ICMP지정된 보안 그룹을 사용하여 시스템에 대한 트래픽을 활성화 하여 처리했습니다.
Jonathan Williams

보안 그룹을 생성 및 편집 할뿐만 아니라 보안 그룹을 인스턴스와 연결해야합니다. 그래야만 적용됩니다.
MikeW 2016 년

보안 그룹을 사용하면 인스턴스에 도달 할 수있는 트래픽 종류를 포함하여 인스턴스에 대한 트래픽을 제어 할 수 있습니다. ```1. 보안 그룹 확인 (PORTS가 열리도록 활성화) 2. 올바른 VPC 확인 3. 올바른 서브넷 연결 4. 퍼블릭 서브넷에있는 AWS EC2 5. 인터넷 게이트웨이 활성화```포트 열기 AWS EC2에서이 링크를 확인하십시오. 공식 AWS [link] [1] 답변은 Tapan Nayan Banker | Tapan Banker www.tapanbanker.com
Tapan Banker

40

보안 그룹의 커스텀 ICMP 규칙은 나에게 필요한 것이 아닙니다. 그러나 다음 규칙이 적용됩니다.

Type: All ICMP 
Protocol: TCP
Port range: 0 - 65535
Source: Anywhere - 0.0.0.0/0

이 작업을 수행 한 후 다른 인스턴스를 핑할 수 있습니다. 다음과 같이 보일 것입니다 :

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

그게 다야.


1
이와 관련된 보안 문제가 없습니까?
Victor Anuebunwa

아마 당신은 IP를 지정해야합니다
Laura Liparulo

@avonnadozie, 예, 모든 ICMP 포트를 열면 안됩니다.
Kartik Narayana Maringanti

1
"모든 ICMP 포트"? 그게 무슨 뜻이야? ICMP는 TCP도 아니고 UDP도 아니며 포트가 없습니다.
David Ongaro 2012 년

32
  1. EC2 대시 보드로 이동하여 "보안 그룹"에서 "실행 인스턴스"를 클릭하고 보안을 추가해야하는 인스턴스 그룹을 선택하십시오.
  2. "인바운드"탭을 클릭하십시오
  3. "편집"버튼을 클릭하십시오 (팝업 창이 열립니다)
  4. "규칙 추가"를 클릭하십시오
  5. "사용자 정의 ICMP 규칙-IPv4"를 유형으로 선택하십시오.
  6. 프로토콜로 "에코 요청"및 "에코 응답"을 선택하십시오 (기본적으로 포트 범위는 "N / A로 표시됨").
  7. "0.0.0.0/0"을 소스로 입력하십시오
  8. "저장"을 클릭하십시오

12

아래 점검표를 참조하십시오

1) 인터넷에서 연결할 수있는 서브넷에서 인스턴스가 시작되었는지 먼저 확인해야합니다.

인스턴스 시작 서브넷에 인터넷 게이트웨이가 연결되어 있는지 확인하십시오 .AWS의 네트워킹에 대한 자세한 내용은 아래 링크를 참조하십시오.

AWS vpc의 퍼블릭 및 프라이빗 서브넷

2) 인스턴스에 연결된 보안 그룹에 아래 규칙을 추가하십시오. 보안 그룹은 시작된 모든 인스턴스에 방화벽이 연결되어 있습니다. 보안 그룹에는 트래픽을 허용하는 인바운드 / 아웃 바운드 규칙이 포함되어 있습니다. / out of the instance. 기본적으로 모든 보안 그룹은 인스턴스에서 인바운드 트래픽이 아닌 인스턴스로의 모든 아웃 바운드 트래픽을 허용합니다. 트래픽에 대한 자세한 내용은 아래 링크를 확인하십시오.

보안 그룹 설명서

유형 : 주문 ICMPV4

프로토콜 : ICMP

Portrange : 에코 요청

출처 : 0.0.0.0/0

AWS 콘솔의 스크린 샷

3) NACL이라는 서브넷 수준 방화벽에 규칙이 충분한 지 확인 NACL은 상태 비 저장 방화벽으로 인바운드 및 아웃 바운드 트래픽을 별도로 지정해야합니다 .NACL은 서브넷 수준에서 적용되며 서브넷 아래의 모든 인스턴스는 NACL 규칙. 아래에 자세한 정보가있는 링크가 있습니다.

NACL 문서

인바운드 규칙 . 아웃 바운드 규칙

유형 : 사용자 지정 IPV4 유형 : 사용자 지정 IPV4

프로토콜 : ICMP 프로토콜 : ICMP

포트 범위 : 에코 요청 포트 범위 : 에코 요청

출처 : 0.0.0.0/0 목적지 : 0.0.0.0/0

허용 / 거부 : 허용 허용 / 거부 : 허용

스크린 샷 인바운드 규칙

스크린 샷 발신 규칙

4) IPTABLES와 같은 방화벽을 확인하고 핑 테스트에 사용하지 마십시오.


답을 쓰는 법 . 자세한 내용을 추가하여 답변을 정당화하십시오. 서식 도구 사용
Morse

피드백을 주셔서 감사합니다 prateek. 나는 그것을 더 명확하게 만들었습니다.
Haneef Mohammed

하이퍼 링크가 아닌 이미지를 이미지로 추가하십시오. 스크린 샷을 편집 하고 이미지로 변환
Morse

이것이 다운 보트 된 이유는 무엇입니까? 모든 확인 및 차종 감각을 보인다
의 Witold Kaczurba

Witold, 걱정 해 주셔서 감사합니다. 다운 보트를 만든 일부 형식 문제가있는 것 같습니다. 지금 수정했습니다.
Haneef Mohammed 5

6

All ICMP로 새로운 보안 그룹을 만들면 나에게 도움이되었습니다.


4

AWS ec2를 처음 사용하고 SSH, Broswer, Ping from system다음 부터 인스턴스에 액세스하려는 사용자는 다음과 같은 인바운드 규칙입니다.

여기에 이미지 설명을 입력하십시오


4

EC2 인스턴스의 보안 그룹으로 이동하여 ICMP에 대한 인바운드 규칙 allow 0.0.0.0/0을 편집하십시오.

작동합니다.


3
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. "저장"을 클릭하십시오


1

기본적으로 EC2는 AWS 보안 그룹 (EC2 및 VPC에있는 서비스)에 의해 보호됩니다. 보안 그룹은 기본적으로 핑을 포함하는 모든 ICMP 요청을 허용하지 않습니다. 그것을 허용하려면 :

이동 : AWS EC2 인스턴스 찾기 : 보안 그룹이 해당 인스턴스에 바인딩 됨 (여러 보안 그룹을 가질 수 있음) 확인 : 프로토콜에 대한 인바운드 규칙 (ICMP) 포트 (0-65535)없는 경우 추가하고 허용 할 수 있습니다. 지정된 소스 IP 또는 다른 보안 그룹


1

SDK를 통해 프로그래밍 방식으로 (어디서나) 핑을 활성화하려면 마술 공식은 다음과 같습니다.

cidrIp:     "0.0.0.0/0"
ipProtocol: "icmp"
toPort:     -1
fromPort:   8

예를 들어, AWS Java SDK v2를 사용하는 Scala에서 다음은 엔드 포인트 를 정의하기 IpPermission위해 작동 authorizeSecurityGroupIngress합니다.

  val PingPermission = {
    val range = IpRange.builder().cidrIp( "0.0.0.0/0" ).build()
    IpPermission.builder().ipProtocol( "icmp" ).ipRanges( range ).toPort( -1 ).fromPort( 8 ).build()
  }

(이것은 EC2-Classic에서만 시도했습니다. VPC에서 어떤 송신 규칙이 필요한지 모르겠습니다)


나는 실제로 terraform를 사용하여 내 보안 그룹의 아웃 바운드 (송신) 규칙으로이 설정하고 마치 마법처럼 일
str8up7od

1

보안 그룹을 사용하면 인스턴스에 도달 할 수있는 트래픽 종류를 포함하여 인스턴스에 대한 트래픽을 제어 할 수 있습니다.

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 

AWS EC2에서 포트를 열고 것은 AWS의 offical 한이 링크 확인 링크를



0

규칙을 "Custom ICMP"규칙 및 "echo reply"로 설정하면 어디서나 챔피언처럼 작동합니다. "에코 요청"은 핑에 대한 잘못된 규칙입니다.


14
에코 응답 이 작동하지 않았지만 에코 요청 이 작동했습니다 .
storm_m2138

0

더 깊은 문제가있었습니다. VPC, 서브넷 및 적절한 보안 그룹을 만들었지 만 인터넷 게이트웨이를 추가하여 서브넷과 연결하지 않았습니다. 이것이 "ec2 ping을 할 수 없습니다"에 대한 첫 번째 Google 검색 결과이므로, 다른 사람 (또는 미래에 본인)에게 유용 할 경우를 대비하여 여기에이 정보를 게시합니다.


0

-1이 나에게 분명하지 않았기 때문에 보안 그룹에 대한 테라 폼 특정 지침.

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"]
  }
}

0

Linux 서버에서 EC2로 연결하는 데 문제가있는 동일한 문제가있었습니다. 위의 그림과 같이 EC2에서 "ALL ICMP"가 추가되고 작동하지 않을 것입니다. Ansible을 최신 버전으로 업데이트해야합니다. 2.4, 이전 버전 2.2에서는 작동하지 않습니다.


0

보안 그룹에서 다음 보안 포트를 열어야합니다. 각 규칙은 아래와 같이 다른 목적으로 사용됩니다.

여기에 이미지 설명을 입력하십시오

  1. 핑을위한 모든 ICMP.

  2. HTTP 포트의 URL에 액세스하기위한 HTTP

  3. 보안 HTTP 포트의 URL에 액세스하기위한 HTTPS

요구 사항에 따라 소스 를 변경할 수 있습니다


0

보안 그룹에서 열었고 VPC가 올바른 경우 내부 네트워크가 방화벽에서 해당 IP의 ping 또는 ping 패킷을 차단하고있을 수 있습니다.


-1

두 시스템을 핑 (ping) 할 때 기본적으로 SSH가 활성화되어 있습니다 (퍼티 또는 터미널을 통해 연결 한 경우). 핑을 허용하기 위해 각 인스턴스 (인바운드)에 대한 보안 그룹을 추가했습니다.

여기에 이미지 설명을 입력하십시오


6
두 번째 규칙 인 "Anywhere"의 "All Traffic"은 좋은 생각이 아닙니다.
Devin

-3

EC2 인스턴스에서 새 포트에 액세스하는 경우 두 곳에 추가했습니다. 1. 보안 그룹 인바운드 포트. 2. 방화벽 설정 인바운드 규칙.


-3
  1. aws ec2 인스턴스의 퍼블릭 IP를 ping에 사용하고 있는지 확인하십시오.

  2. EC2 인스턴스에 연결된 보안 그룹을 편집하고 ICMP 프로토콜에 대한 인바운드 규칙을 추가하십시오.

  3. 이 방법으로 문제가 해결되지 않으면 핑을 시도한 다음 보안 그룹에서 ICMP에 대한 아웃 바운드 규칙을 추가하십시오.


-4

ISP로 인한 드문 문제에 대해 언급하고 싶습니다. 때때로 BSNL에서 나에게 다음과 같은 일이 일어났습니다. 일상 생활에서 몇 시간이 걸리는 사악한 문제 중 하나입니다. 이 경우 ISP에서 문제가 발생하거나 ISP가 변경 될 수 있습니다.

  1. Amazon 인스턴스는 브라우저 (모든 열린 포트)에서 액세스 할 수 있습니다
  2. 콘솔에서 핑할 수 없음
  3. ssh / telnet도 작동하지 않습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.