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

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

Здесь мне сообщили в таблице маршрутов по умолчанию Aws vpc в CloudFormation, что в маршрутной таблице AWS VPC по умолчанию нет общедоступного маршрута по умолчанию, поэтому он может "защищать" VPC.

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

4 ответа

Решение

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

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

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

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

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

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

Заметка

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

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

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

Настройка Lambda в качестве прокси API-шлюза

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

Другие вопросы по тегам