Интернет-шлюз 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.
AWS добавил конечные точки VPC для различных служб, включая S3 (2015), EC2 (2017), SNS (2018) и SQS (2018), что позволяет использовать эти службы без общего доступа в Интернет.
- Новинка - конечная точка VPC для Amazon S3 (блог AWS)
- Новое - AWS PrivateLink для сервисов AWS: Kinesis, каталог услуг, диспетчер систем EC2, API Amazon EC2 и API ELB в вашем VPC (блог AWS)
- Amazon Simple Notification Service (SNS) теперь поддерживает AWS PrivateLink (что нового в AWS)
- Amazon SQS теперь поддерживает конечные точки Amazon VPC с помощью AWS PrivateLink
- Руководство пользователя AWS VPC: конечные точки VPC
VPC с публичными и частными подсетями (NAT)
Конфигурация для этого сценария включает виртуальное частное облако (VPC) с общедоступной подсетью и частной подсетью. Мы рекомендуем этот сценарий, если вы хотите запустить общедоступное веб-приложение, сохраняя при этом фоновые серверы, которые не являются общедоступными. Типичным примером является многоуровневый веб-сайт с веб-серверами в общедоступной подсети и серверами баз данных в частной подсети. Вы можете настроить безопасность и маршрутизацию, чтобы веб-серверы могли обмениваться данными с серверами баз данных.
Экземпляры в общедоступной подсети могут получать входящий трафик непосредственно из Интернета, тогда как экземпляры в частной подсети не могут. Экземпляры в общедоступной подсети могут отправлять исходящий трафик непосредственно в Интернет, тогда как экземпляры в частной подсети не могут. Вместо этого экземпляры в частной подсети могут получить доступ к Интернету с помощью шлюза преобразования сетевых адресов (NAT), который находится в общедоступной подсети. Серверы базы данных могут подключаться к Интернету для обновления программного обеспечения с использованием шлюза NAT, но Интернет не может инициировать подключения к серверам базы данных.
Заметка
Вы также можете использовать мастер VPC для настройки VPC с экземпляром NAT; однако мы рекомендуем вам использовать шлюз NAT. Для получения дополнительной информации см. Шлюзы NAT.
Обычно лямбда-функция не может получить доступ к частным сетям внутри VPC. Но они могут быть настроены на доступ к частной сети. Настройка лямбда-функций для доступа к частному VPC
Затем с помощью следующего метода вы можете использовать Lambda в качестве прокси для всего, что находится в частной сети. Таким образом, вам не нужно предоставлять публичный доступ к вашим ресурсам. Вы генерируете публичный шлюз API, и он через прокси-серверы Lambda обеспечивает доступ к внутренним частным ресурсам.
Настройка Lambda в качестве прокси API-шлюза
Также важно помнить, что даже когда у вас есть общедоступная сеть с общедоступным шлюзом, вы ограничиваете трафик на каждом из ваших ресурсов с помощью групп безопасности и сетевых ACL. Таким образом, вы в конечном итоге получаете наименьшую настройку.