Назад | Перейти на главную страницу

Не удается подключиться к инстансу EC2 в VPC (Amazon AWS)

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

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

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

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

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

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

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

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

Не уверен, что это именно тот случай, но я только что создал VPC с общедоступными и частными подсетями и заметил, что существует группа безопасности по умолчанию, адрес источника которой совпадает с именем группы безопасности. Фактически доступа к нему нет. Пришлось изменить этот источник на Anywhere, и он начал работать.

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

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

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

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

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

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