Я не совсем понимаю, что такое Интернет-шлюз в 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 вам необходимо:
- Интернет-шлюз (IGW), подключенный к VPC
- Подсеть с таблицей маршрутизации, которая имеет маршрут по умолчанию (0.0.0.0/0) через IGW (известная как «публичная подсеть»)
- Публичный IP-адрес или эластичный IP-адрес, прикрепленный к экземпляру (обратите внимание, что для доступа в Интернет вам не нужен эластичный IP-адрес, экземпляры могут иметь динамические неэластичные IP-адреса)
- Группа безопасности, прикрепленная к экземпляру, которая разрешает исходящий трафик (что она делает по умолчанию)
- Списки контроля доступа сети, связанные с подсетью, которая разрешает трафик (что происходит по умолчанию)
Эти пять пунктов — хороший контрольный список, который следует просмотреть, если у вас возникнут проблемы с прямым подключением к Интернету для экземпляра в публичной подсети.
Обратите внимание, что в своем вопросе вы упомянули развертывание в «VPC по умолчанию» — VPC по умолчанию уже имеет интернет-шлюз и подсети с соответствующей настройкой таблицы маршрутизации — поэтому вам не пришлось бы настраивать их.
Вы также можете получить доступ к Интернету косвенно из «частной подсети» — то есть подсети, которая не имеет маршрута по умолчанию через IGW. Есть много способов сделать это, но один из типичных способов — развернуть службу шлюза NAT в отдельной публичной подсети (т. е. подсети с таблицей маршрутизации, которая имеет маршрут по умолчанию через IGW), а затем определить новую таблицу маршрутизации для вашей частной подсети с маршрутом по умолчанию (0.0.0.0/0) через шлюз NAT. Это позволяет затем осуществлять исходящий доступ к Интернету не напрямую, а через шлюз NAT. Экземпляры в частной подсети вообще не имеют публичного или эластичного IP-адреса в этой точке.
Более подробную информацию можно найти здесь:Интернет-шлюзы
И здесь:NAT-шлюзы