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

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

Я не совсем понимаю, что такое Интернет-шлюз в AWS. Если там написано, что для доступа вашего VPC к Интернету вам нужен IGW, то почему тогда при создании экземпляра EC2 с EIP у вас автоматически появляется доступ к Интернету?

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

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

решение1

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

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

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

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

Ошибка отсоединения

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

решение2

Для доступа к Интернету напрямую из экземпляра внутри VPC вам необходимо:

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

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

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

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

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

И здесь:NAT-шлюзы

Связанный контент