Сеть в AWS — это не «настройки где-то в консоли», а то, что определяет, кто до кого может достучаться. Неверная сеть либо дырявит безопасность (база смотрит в интернет), либо ломает связность (сервис не видит базу). Fundamentals дали обзор VPC; здесь — модель целиком, на уровне, который спрашивают и который нужен на практике.

VPC и подсети

VPC — изолированная виртуальная сеть с заданным диапазоном адресов (CIDR). Внутри VPC адреса делят на подсети, и каждая подсеть живёт в одной зоне доступности. Ключевое деление — на public и private:

  • public-подсеть имеет маршрут в интернет (через Internet Gateway) — туда ставят то, что должно быть доступно снаружи (балансировщик);
  • private-подсеть прямого выхода в интернет не имеет — туда ставят сервисы и базы.

Типовая схема: балансировщик в public-подсети, приложение и база — в private, и так в нескольких зонах доступности ради отказоустойчивости.

Маршрутизация

Куда уходит трафик подсети, решает таблица маршрутов (route table). Подсеть public — потому что её таблица содержит маршрут 0.0.0.0/0 на Internet Gateway. Private-подсеть такого маршрута не имеет.

Но private-сервису часто нужен исходящий доступ (скачать обновление, дёрнуть внешний API) — без входящего. Для этого — NAT Gateway: он стоит в public-подсети, и таблица маршрутов private-подсети указывает исходящий трафик на него. Так сервис ходит наружу, а снаружи до него не достучаться.

Security groups против NACL

Два уровня фильтрации трафика, и их постоянно путают:

  • Security group — фаервол на уровне ресурса (инстанс, под, эндпоинт). Stateful: разрешил входящее — ответ уходит автоматически. Только разрешающие правила.
  • Network ACL — фаервол на уровне подсети. Stateless: правила нужны и на вход, и на выход отдельно. Есть и запрещающие правила.

На практике основной инструмент — security groups (точечно, на ресурс), а NACL берут для грубой защиты на уровне подсети. Хороший приём — ссылаться security group на другую security group: «приложению можно к базе» выражается как «security group базы принимает трафик от security group приложения», без привязки к адресам.

Связь сетей

Сервисы редко живут в одной VPC. Способы связать:

  • VPC peering — прямое соединение двух VPC (не транзитивное: A-B и B-C не дают A-C).
  • Transit Gateway — хаб, связывающий много VPC (и локальную сеть) без россыпи peering-связей.
  • PrivateLink / VPC endpoints — доступ к сервису (AWS-сервису или чужому) по приватной сети, без выхода в интернет. Так private-подсеть ходит, например, в S3 или Secrets Manager, не открывая интернет-маршрут.

VPC endpoints — частый правильный ответ на «как private-сервису достучаться до managed-сервиса AWS безопасно».

Где это в UCP

Сеть — фундамент изоляции: public/private-подсети разделяют то, что снаружи, и то, что внутри; маршруты и NAT дают контролируемый выход; security groups задают «кто до кого»; endpoints держат трафик к сервисам приватным. Это первый слой безопасности, поверх которого ложится IAM (кто что может) — вместе они дают модель «least privilege в сети и в доступе». Для backend-разработчика понимание этой модели — условие того, что код можно безопасно задеплоить, а не только написать.