Как использовать AWS VP C конечные точки в подсетях с поддержкой NAT? - PullRequest
2 голосов
/ 04 марта 2020

Я использую несколько AWS лямбда-функций, которые находятся в частных подсетях,
В этих частных подсетях сконфигурированы конечные точки VP C, настроенные для служб, к которым функциям необходим доступ,
Текущая настройка не использует шлюз NAT, поэтому весь трафик c от функций проходит через конечные точки VP C.

Теперь у меня есть сценарий использования, когда нам нужно использовать NAT gateway,
Но означает ли включение NAT, что функции больше не будут использовать конечные точки VP C для доступа к внешним услугам, а вместо этого будут использовать NAT?

Ответы [ 2 ]

4 голосов
/ 04 марта 2020

Я думаю, что это работает следующим образом. Для:

Конечные точки шлюза (S3, DynamoDB)

Маршруты к ним автоматически добавляются в наши таблицы маршрутов при их создании. Документы говорят :

Если в вашей таблице маршрутов есть существующий маршрут для всех интернет-трафика c (0.0.0.0/0), который указывает на целое число rnet В шлюзе маршрут к конечной точке имеет приоритет для всего трафика c, предназначенного для службы, поскольку диапазон IP-адресов для службы более конкретен c, чем 0.0.0.0/0. Все остальные inte rnet traffi c отправляются на ваш шлюз inte rnet, включая traffi c, предназначенный для службы в других регионах.

Interface VP C Конечные точки

Они работают путем изменения IP-адресов в DNS службы. IP-адрес будет частным адресом интерфейсов конечной точки. В документах указано :

Размещенная зона содержит набор записей для DNS-имени по умолчанию для службы (например, ec2.us-east-1.amazon aws. com) разрешает частные IP-адреса сетевых интерфейсов конечных точек в вашем VP C. Это позволяет вам отправлять запросы службе, используя ее имя хоста DNS по умолчанию вместо конечной точки c Имена хостов DNS.

Чтобы использовать частный DNS, необходимо установить для следующих атрибутов VP C значение true: enableDnsHostnames и enableDnsSupport.

Заключение

Таким образом, в обоих случаях приоритет отдается интерфейсам, а не inte rnet. Я рекомендую проверить предоставленные ссылки. У них есть больше информации с примерами, чтобы дважды проверить мои выводы.

0 голосов
/ 26 марта 2020

VP C Конечные точки или шлюз NAT?

AWS Сервисы, такие как EC2, RDS, Lambda и ElastiCache, поставляются с сетевым интерфейсом Elasti c (ENI), который обеспечивает связь изнутри вашего VPC через частные конечные точки. Однако многие AWS сервисы предоставляют REST API, доступный только через Inte rnet. Несколько примеров: S3, DynamoDB, CloudWatch, SQS и Kinesis.

Существует три варианта сделать эти службы доступными из частных подсетей:

image

При проектировании сетевой архитектуры учитывайте следующие правила.

  • Добавление конечных точек шлюза для S3 и DynamoDB должно быть вашей опцией по умолчанию.
  • Вам необходим доступ к ресурсам не AWS через Inte rnet, добавьте шлюз NAT. Нужно ли считать, что услуги traffi c to AWS оправдывают дополнительные конечные точки интерфейса.
  • Вы получаете доступ к AWS сервисам только из частных подсетей? Не более четырех разных сервисов? Используйте интерфейсные конечные точки. В противном случае выполните вычисления для расчета конечных точек интерфейса и шлюза NAT.

Ссылка ссылки: https://cloudonaut.io/advanved-aws-networking-pitfalls-that-you-should-avoid/

...