У меня есть несколько инстансов Amazon EC2, которым необходимо общаться с помощью частных IP-адресов. Однако до сих пор мне не удавалось проверить связь с частным IP одного экземпляра с другого экземпляра.
Я могу пинговать внешние адреса, такие как их эластичные IP-адреса и другие сайты (yahoo, google и т. Д.), Поэтому кажется, что в конфигурации сети экземпляров нет ничего плохого.
Кроме того, все они находятся в одной зоне, так что это не должно быть проблемой.
Кто-нибудь знает, что я делаю неправильно? Может ли это быть связано с настройками группы безопасности?
Оказывается, проблема в настройках группы безопасности.
Я ограничивал трафик по IP, поэтому только мой внешний IP мог связываться с экземплярами. Я предположил, что группы безопасности не применяются для связи между экземплярами, но они применимы.
Решением было также разрешить трафик с 10.0.0.0/8, который охватывает все возможные частные IP-адреса EC2. Было бы более безопасно разрешать трафик только с определенных частных IP-адресов, но это проблема, поскольку они могут меняться.
На данный момент это решает мою проблему. Вероятно, лучшим решением было бы использовать API Amazon для автоматической настройки IP-ограничений группы безопасности при остановке и запуске инстансов.
Согласно часто задаваемым вопросам AWS, пока вы не остановите свой экземпляр ... ваш частный IP-адрес останется прежним.
Вопрос: Нужен ли мне один эластичный IP-адрес для каждого запущенного экземпляра? Нет. Вам не нужен эластичный IP-адрес для всех ваших экземпляров. По умолчанию каждый экземпляр поставляется с частным IP-адресом и общедоступным IP-адресом с маршрутизацией в Интернете. Частный адрес связан исключительно с экземпляром и возвращается в Amazon EC2 только при остановке или завершении работы экземпляра. Публичный адрес связан исключительно с экземпляром, пока он не будет остановлен, завершен или заменен эластичным IP-адресом. Этих IP-адресов должно хватить для многих приложений, где вам не нужна долгосрочная конечная точка с маршрутизацией через Интернет. Вычислительные кластеры, веб-сканирование и серверные службы - все это примеры приложений, которым обычно не требуются эластичные IP-адреса.
Утверждение «Настройки группы безопасности не влияют на внутренние IP-адреса» неверно. Вам необходимо добавить входящий трафик в группу безопасности для частного IP-адреса, как и для внешнего IP-адреса.
Мне пришлось добавить записи с определенного частного IP-адреса, чтобы я мог разрешить одному экземпляру подключаться к другому с помощью Subversion, CouchDB, сопоставить сетевой диск и т. Д.
Однако пинг отличается ... Убедитесь, что в настройках безопасности установлено значение ICMP или просто «Весь трафик».
Не только ПТС. Потому что PING - это сообщение ICMP. Не думайте, что если вы включили "All TCP", это сработает.
Надеюсь, это поможет.
Параметры группы безопасности не влияют на внутренние IP-адреса, поскольку они применяются на шлюзе кластера.
Поскольку экземпляры находятся в одной зоне, вы можете проверить, что ваш брандмауэр экземпляров, если он активирован, принимает запросы ping (эхо ICMP)
В противном случае попробуйте создать третий экземпляр и пинговать их оба, если это удастся, это может быть связано с проблемой на хост-сервере одного из экземпляров.