Задача

Для обеспечения безопасности нужно, чтобы запросы от сервисов, работащих в AWS EKS приходили с фиксированных адресов.
Дефолтный вариант доступа в интернет - это через Internet Gateway, а он не обспечивает стабильность IP-адреса для исходящих запросов.
Ноды моего k8s-кластера размещены в трех AZ.

Как это должно быть сделано

Это делается с помощью NAT Gateways.

Порядок действий

  • Сделать каждой AZ по приватной сети. В дополнение к имеющимся дефолтным публичным сетям. Приватной сеть становится, кгда лишается записи дефолтного маршрута (0.0.0.0/0) через Internet Gateway в Routing Table
  • Чтобы сделать сети приватными - идем в VPCRouting Tables и создаем три таблицы (по одной на каждую подсеть). В каждой из таблиц - есть только один маршрут - local. Жмем Edit Subnet Associations и ставим галочку на соотвествующей только что созданной подсети. В итоге - у нас есть три новых подсети и таблицы маршрутизации для них, в которых есть только маршрут local - то есть они приватные.
  • Теперь нужно создать три NAT Gateway типа Public. При создании - указываем для них ПУБЛИЧНЫЕ сети (не те, которые были созданы на первом этапе), а также им нужны - Elastic IP (поле Elastic IP allocation ID)
  • Теперь нужно добавить в созданные Routing Tables маршрут для Destination 0.0.0.0/0, указывающий на соотвествующий NAT Gateway.
Enter your comment. Wiki syntax is allowed:
 
  • devops/aws_using_nat_gateways.txt
  • Last modified: 2022/08/08 13:57
  • by admin