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

Нужен ли вам IGW для доступа к Интернету, если вы создаете экземпляр EC2 с EIP?

Меня смущает Internet Gateway в AWS, если там написано, что для того, чтобы ваш VPC имел доступ к Интернету, вам нужен IGW, почему тогда, когда вы создаете экземпляр EC2 с EIP, у вас автоматически появляется доступ к Интернету.

Затем у меня возникает вопрос, на который я не могу ответить:

Почему тогда, когда вы создаете экземпляр EC2 (который создается в VPC по умолчанию) в AWS и назначаете эластичный IP-адрес, у вас автоматически появляется доступ к Интернету, если в документации AWS сказано, что для того, чтобы ваш VPC имел доступ к Интернету вам нужен интернет-шлюз?

Чтобы получить доступ к Интернету непосредственно из экземпляра внутри VPC, вам необходимо:

  1. Интернет-шлюз (IGW), подключенный к VPC
  2. Подсеть с таблицей маршрутов, которая имеет маршрут по умолчанию (0.0.0.0/0) через IGW (известная как «общедоступная подсеть»).
  3. Общедоступный IP-адрес или эластичный IP-адрес, прикрепленный к экземпляру (обратите внимание, что вам не нужен эластичный IP-адрес для доступа в Интернет, экземпляры могут иметь динамические неэластичные IP-адреса)
  4. Группа безопасности, прикрепленная к экземпляру, которая разрешает исходящий трафик (что он делает по умолчанию)
  5. Сетевые ACL, связанные с подсетью, которая разрешает трафик (что он делает по умолчанию)

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

Обратите внимание, что в своем вопросе вы упомянули развертывание в «VPC по умолчанию» - в VPC по умолчанию уже есть интернет-шлюз и подсети с соответствующей настройкой таблицы маршрутов, поэтому вам не нужно было бы их настраивать.

Вы также можете получить доступ к Интернету косвенно из «частной подсети» - это подсеть, которая не имеет маршрута по умолчанию через IGW. Есть много способов сделать это, но один из типичных способов - развернуть службу шлюза NAT в отдельной общедоступной подсети (то есть в подсети с таблицей маршрутов, которая имеет маршрут по умолчанию через IGW), а затем определить новую таблицу маршрутов для ваша частная подсеть с маршрутом по умолчанию (0.0.0.0/0) через шлюз NAT. Это позволяет исходящий доступ в Интернет не напрямую, а через шлюз NAT. Экземпляры в частной подсети вообще не имеют общедоступного или эластичного IP-адреса.

Более подробную информацию можно найти здесь: Интернет-шлюзы

И тут: NAT-шлюзы

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

Вы можете автоматически назначить общедоступный IP-адрес без интернет-шлюза. Если вы попытаетесь назначить эластичный IP-адрес своему экземпляру, когда у VPC нет Интернет-шлюза, это не позволит вам - появится сообщение об ошибке

Сеть vpc-05054501693f2f5fb не подключена ни к одному интернет-шлюзу

Если вы попытаетесь отключить интернет-шлюз от VPC, у которого есть экземпляр с EIP, вы получите это сообщение об ошибке.

Я просто проверил все это, чтобы быть уверенным вдвойне. Создание VPC заняло всего десять минут и немного повозиться. Это замечательная вещь в облаке / AWS, как правило, легко решить проблему, попробовав их. Наверное, это стоило мне 0,05 доллара.

Если у вас эластичный IP-адрес, у вас есть общедоступный IP-адрес, который маршрутизируется в Интернете. В VPC у вас есть частные IP-адреса, которые работают только в вашем VPC и не могут быть перенаправлены в Интернет.

Следовательно, если у вас есть VPC и экземпляры, у которых нет эластичных IP-адресов, им нужен IGW, чтобы иметь возможность перенаправлять трафик в Интернет.

Это создает потенциально серьезную проблему безопасности, поэтому эластичные IP-адреса следует использовать только в экземплярах, предназначенных для доступа из Интернета.