it-swarm.com.ru

Не удается пропинговать экземпляр AWS EC2

У меня есть экземпляр EC2, работающий в AWS. Когда я пытаюсь пинговать из своего локального ящика, он недоступен.

Как я могу сделать экземпляр pingable?

164
santosh s

Добавить новую группу безопасности EC2 правило входящего трафика :

  • Тип: Пользовательское правило ICMP  
  • Протокол: Эхо-запрос  
  • Порт: N/A  
  • Источник: ваш выбор (я бы выбрал В любом месте , чтобы иметь возможность пинг с любой машины)
207
Syed Rakib Al Hasan

Вы должны отредактировать группу безопасности , к которой принадлежит ваш экземпляр EC2, и разрешить доступ (или, альтернативно, создать новый и добавить к нему экземпляр).

По умолчанию все запрещено. Исключение, которое необходимо добавить в группу безопасности, зависит от службы, которую необходимо сделать доступной в Интернете.

Если это веб-сервер, вам нужно разрешить доступ к порту 80 для 0.0.0.0/0 ( что означает любой IP-адрес ).

Чтобы разрешить проверку связи с экземпляром, необходимо включить трафик ICMP.

Веб-консоль AWS предоставляет некоторые из наиболее часто используемых параметров в соответствующем раскрывающемся списке.

72
alkar

Несколько лет спустя, но, надеюсь, это поможет кому-то еще ...

1) Сначала убедитесь, что экземпляр EC2 имеет публичный IP-адрес. Если у вас есть адрес Public DNS или Public IP (обведено ниже), тогда вам должно быть хорошо. Это будет адрес, который вы пингуете  AWS public DNS address

2) Затем убедитесь, что сетевые правила Amazon разрешают Echo Requests. Перейдите в группу Security для EC2.

  • щелкните правой кнопкой мыши, выберите входящие правила
  • A: выберите Добавить правило 
  • B: Выберите Пользовательское правило ICMP - IPv4
  • C: выберите Echo Request
  • D: выберите Anywhere или My IP
  • E: Выберите Сохранить

 Add a Security Group ICMP Rule to allow Pings and Echos

3) Затем брандмауэр Windows по умолчанию блокирует входящие эхо-запросы. Разрешить эхо-запросы, создав исключение брандмауэра Windows ...

  • Перейдите к Пуск и введите Брандмауэр Windows в режиме повышенной безопасности
  • Выберите входящие правила

 Add a Windows Server ICMP Rule to allow Pings and Echos

4) Готово! Надеюсь, теперь вы сможете пинговать свой сервер.

58
Sunsetquest

Настраиваемое правило 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

Это оно.

36
Laura Liparulo

Пожалуйста, просмотрите нижеследующие контрольные списки

1) Вы должны сначала проверить, запущен ли экземпляр в подсети, где он доступен из Интернета.

Для этого проверьте, подключен ли к запущенной экземпляру подсети интернет-шлюз. Для получения подробной информации о сети в AWS перейдите по ссылке ниже.

публичные и частные подсети в aws vpc

2) Проверьте, правильно ли добавлены правила группы безопасности. Если нет, добавьте приведенное ниже правило в группу безопасности, присоединенную к экземпляру. Группа безопасности - это брандмауэр, подключенный к каждому запущенному экземпляру. Группы безопасности содержат правила входящего/исходящего трафика, которые разрешают трафик в/out of instance.by по умолчанию для каждой группы безопасности разрешен весь исходящий трафик из экземпляра и нет входящего трафика в экземпляр. Для получения более подробной информации о трафике проверьте ссылку ниже.

документация группы безопасности

Тип: пользовательский ICMPV4

Протокол: ICMP

Portrange: эхо-запрос

Источник: 0.0.0.0/0

screenshot from aws console

3) Проверьте, достаточно ли у вас правил в брандмауэре уровня подсети, называемом NACL. NACL - это брандмауэр без состояния, для которого требуется отдельно указывать как входящий, так и исходящий трафик. NACL применяется на уровне подсети, все экземпляры в подсети попадают под правила NACL. Ниже приведена ссылка, которая будет иметь более подробную информацию о нем.

документация NACL

Входящие правила. Исходящие правила

Тип: Пользовательский IPV4 Тип: Пользовательский IPV4

Протокол: ICMP Протокол: ICMP

Portrange: ECHO REQUEST Portrange: ЭХО ОТВЕТИТЬ

Источник: 0.0.0.0/0 Пункт назначения: 0.0.0.0/0

Разрешить/Запретить: Разрешить Разрешить/Запретить: Разрешить

screenshot inbound rule

screenshot outbound rule

4) проверьте все брандмауэры, такие как IPTABLES и отключите для проверки пинга.

6
Haneef Mohammed

Создание новой группы безопасности с All ICMP работало на меня.

6
java college

Те, кто новичок в aws ec2 и хочет получить доступ к экземпляру из SSH, Broswer, Ping from system, ниже приводят правило для них: -

 enter image description here

3
Yogesh Suthar
  1. Перейдите на панель инструментов EC2 и нажмите «Запуск экземпляров» В «Группы безопасности», выберите группу своего экземпляра, для которой нужно добавить защиту.
  2. нажмите на вкладку «Входящие»
  3. Нажмите кнопку «Редактировать» (откроется всплывающее окно)
  4. нажмите «Добавить правило»
  5. Выберите «Пользовательское правило ICMP - IPv4» в качестве Типа
  6. Выберите «Echo Request» и «Echo Response» в качестве протокола (для диапазона портов по умолчанию отображается «N/A»)
  7. Введите «0.0.0.0/0» в качестве источника
  8. Нажмите «Сохранить»
2
prasoon

Если вы установите правила как правило «Custom ICMP» и «echo reply» в любом месте, оно будет работать как чемпион. «Эхо-запрос» - неправильное правило для ответа на эхо-запросы.

0
Chris Edwards

terraform конкретные инструкции для группы безопасности, потому что -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
xenoterracide

У меня возникла та же проблема, связанная с подключением с linux-сервера к EC2, у вас есть два случая, чтобы убедиться, что «ВСЕ ICMP» добавлено из EC2, как показано выше, и это само по себе не будет работать, вам нужно обновить Ansible до последней версии 2.4, он не работал с моей предыдущей версией 2.2.

0
ChakEL

У меня была более глубокая проблема - я создал VPC, подсеть и соответствующую группу безопасности, но не смог добавить интернет-шлюз и связать его с моей подсетью. Так как это мой первый результат Google для "Can't ping ec2", я публикую эту информацию здесь на случай, если она окажется полезной для кого-то другого (или для меня в будущем).

0
tsbertalan

Вы должны открыть следующий порт безопасности в группе безопасности. Каждое правило предназначено для разных целей, как показано ниже.

 enter image description here

  1. ВСЕ ICMP для пинга.

  2. HTTP для доступа к URL через порт HTTP.

  3. HTTPS для доступа к URL через защищенный порт HTTP.

Согласно вашему требованию вы можете изменить ИСТОЧНИК

0
mahesh varak