Вопрос: Не удается подключиться к экземпляру EC2 в VPC (Amazon AWS)


Я сделал следующие шаги:

  1. Создал VPC (с единой публичной подсетью)
  2. Добавлен экземпляр EC2 для VPC
  3. Выделено эластичное IP
  4. Связанный эластичный IP с экземпляром
  5. Создал группу безопасности и назначил ее экземпляру
  6. Изменены правила безопасности для разрешения входящего ICMP-эха и TCP на порт 22

Я сделал все это, и я до сих пор не могу выполнить ping или ssh в экземпляр. Если я следую тем же шагам минус бит VPC, я могу установить это без проблем. Какой шаг я пропущу?


45
2018-04-06 04:23


Источник


Вы назначили шлюз и маршрут к подсети VPC? - zorlem
Если я перейду к интернет-шлюзам, для VPC назначен шлюз. Как проверить, назначен ли маршрут? - Ryan Lynch
Маршрут маршрута? - Ryan Lynch
да, вам нужно назначить «интернет-шлюз» для общей таблицы маршрутизации. - zorlem
Отлично, спасибо человеку. Если вы поместите его в форму ответа, я соглашусь с ним. В своем ответе вы могли бы также указать, что именно ввести в таблицу маршрутов? Я поставил 0.0.0.0/0 и цель как интернет-шлюз, но это не похоже на правильную вещь. - Ryan Lynch


Ответы:


Для связи вне VPC каждой подсети не по умолчанию требуется таблица маршрутизации и связанный с ней интернет-шлюз (по умолчанию подсети получают внешний шлюз и таблицу маршрутизации по умолчанию).

В зависимости от того, как вы создали публичную подсеть в VPC, вам может потребоваться явно добавить их дополнительно. Ваша установка VPC звучит так, как будто она соответствует сценарию 1 - частное облако (VPC) с единой публичной подсетью и интернет-шлюз для обеспечения связи через Интернет из документации AWC VPC.

Ты будешь необходимо добавить интернет-шлюз к VPC и внутри таблицы маршрутизации публичной подсети назначать 0.0.0.0/0 (маршрут по умолчанию), чтобы перейти к назначенному интернет-шлюзу. В документации есть хорошая иллюстрация точной топологии сети.

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

Подробнее о проблемах с подключением см. Также: Устранение неполадок Подключение к вашему экземпляру,


73
2018-04-06 05:28



В дополнение к назначению маршрута по умолчанию для интернет-шлюза мне также пришлось связать подсеть с таблицей маршрутизации. Но как только я сделал эти две вещи, я начал работать. Благодарю. - Sam Kenny
Управление VPC> Таблица маршрутов> [Маршруты]> Добавить, 0.0.0.0/0, выпадающий список, чтобы выбрать ваш интернет-шлюз - ScottRFrost
Я выброшу это, чтобы Интернет узнал из моей ошибки. Если ваш маршрут к Интернет-шлюзу имеет пункт назначения 0.0.0.0/32, то он не будет работать. Маршрут должен быть изменен на 0.0.0.0/0, как указано в ответе Zorlem. - Douglas Held


Не уверен, что это именно так, но я только что создал VPC с Public и Private Subsnets и заметил, что есть группа безопасности по умолчанию, у которой исходный адрес является тем же именем группы безопасности. Эффективный он не имеет доступа. Пришлось изменить этот источник на Anywhere, и он начал работать.


4
2017-07-11 09:11



Привет, я тестирую этот сценарий 2 тоже. Публичная и частная учетная запись в публичной и частной подсети. Дело в том, что я не понимаю, как частный экземпляр может иметь доступ к Интернету и обновлять программное обеспечение. - The One
Спасибо, это была моя проблема, я предполагал, что все экземпляры внутри VPC имеют доступ - Santthosh


Я заметил, что (я думаю) вам нужно быть осторожным, в какой зоне доступности создан ваш экземпляр. SubNet, сетевой интерфейс и экземпляр должны находиться в одной и той же зоне доступности, иначе нет возможности подключиться к общедоступному IP-адресу для этого случая.

Возможно, я ошибаюсь - но я так не думаю, это стоило мне 12 часов работы, чтобы разобраться.

Надеюсь, это помогает кому-то другому.


3
2018-02-11 18:13



Правильно. Сценарий 1, как указано в ответе, - это то, где вы создаете /16 VPC, а затем создать /24 в каждом AZ вы хотите работать в - Machavity


Вы должны выделить ENI и назначить Elastic IP для этого ENI. Кроме того, вы должны назначить этот ENI своему VPC. Таблица маршрутов также должна быть правильной, чтобы правильно перенаправить внешние пакеты на ваш VPC.


1
2018-04-06 04:59



Я считаю, что добавление ENI необходимо, когда вам нужны дополнительные сетевые интерфейсы для ваших экземпляров, по умолчанию они поставляются с одним сетевым адаптером. - zorlem


Поскольку SSH является протоколом statefull, вы должны убедиться, что в своем сетевом ACL есть следующее правило OUTBOUND:

Rule #  Type            Protocol        Port Range      Destination     Allow / Deny
100     Custom TCP Rule TCP (6)         49152-65535     0.0.0.0/0       ALLOW

0
2017-11-01 06:03