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

Интернет-шлюз AWS VPC и сервисы AWS

Я что-то делаю неправильно или экземпляры AWS VPC ec2 не могут подключиться к каким-либо управляемым сервисам AWS (s3 / sns / sqs) без общедоступного маршрута к Интернет-шлюзу в таблице маршрутизации?

Мне сказали здесь Таблица маршрутов по умолчанию aws vpc в CloudFormation Эта таблица маршрутизации AWS VPC по умолчанию не имеет общедоступного маршрута, поэтому она может «защищать» VPC.

Но если я не могу получить доступ к сервисам AWS без общедоступного маршрута ... Это просто противоречит цели, поскольку я практически добавляю общедоступный маршрут ко всем таблицам маршрутизации?

Я что-то делаю неправильно или экземпляры AWS VPC ec2 не могут подключиться к каким-либо управляемым сервисам AWS (s3 / sns / sqs) без общедоступного маршрута к интернет-шлюзу в таблице маршрутизации?

Это правильно. Если вам нужно использовать эти службы, вашим экземплярам потребуются EIP или общедоступные IP-адреса, либо вам понадобится хост NAT в вашем VPC. VPC - это действительно частной, и она работает так же, как и хорошо обслуживаемая корпоративная сеть: разрешает только трафик, который вы явно разрешаете.

Стоит отметить: управляемые сервисы, такие как RDS, Elasticache, Redshift и т. Д., жестяная банка действительно работает в вашем VPC.

AWS добавила конечные точки VPC для различных сервисов, включая S3 (2015), EC2 (2017), SNS (2018) и SQS (2018), что позволяет использовать эти сервисы без общедоступного доступа в Интернет.

VPC с общедоступными и частными подсетями (NAT)

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

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

Заметка

Вы также можете использовать мастер VPC для настройки VPC с экземпляром NAT; однако мы рекомендуем использовать шлюз NAT. Для получения дополнительной информации см. Шлюзы NAT.

Обычно функция Lambda не может получить доступ к частным сетям внутри VPC. Но их можно настроить, имея доступ к частной сети. Настройка функций Lambda для доступа к частному VPC

Затем с помощью следующего метода вы можете использовать Lambda в качестве прокси-сервера для всего, что находится внутри частной сети. Таким образом, вам не нужно предоставлять публичный доступ к вашим ресурсам. Вы создаете публичный шлюз API, и он через прокси-серверы Lambda обеспечивает доступ к внутренним частным ресурсам.

Установка Lambda в качестве прокси шлюза API

Также важно помнить, что даже если у вас есть общедоступная сеть с общедоступным шлюзом, вы ограничиваете трафик на каждом из своих ресурсов, используя группы безопасности и сетевые ACL. Таким образом, вы получите как минимум управляемую настройку.