VPC: подсети, security groups и шлюзы
Строим собственную изолированную сеть в облаке и управляем тем, кто куда ходит.
VPC (Virtual Private Cloud) — ваша изолированная виртуальная сеть в AWS, внутри которой живут инстансы, подсети и правила доступа.
Зачем нужен VPC
Все ваши ресурсы в облаке должны где-то «стоять» с точки зрения сети. VPC — это частная сеть только для вашего аккаунта, со своим диапазоном IP-адресов. Внутри неё вы решаете, какие машины смотрят в интернет, а какие спрятаны, и кто с кем может общаться.
Подсети: публичные и приватные
VPC делится на подсети (subnets), каждая живёт в одной зоне доступности. Подсеть бывает публичной или приватной:
- Публичная подсеть имеет маршрут в интернет — туда ставят то, что должно быть доступно снаружи (веб-сервер, балансировщик).
- Приватная подсеть не имеет прямого выхода наружу — туда прячут базы данных и бэкенды, чтобы их нельзя было достать из интернета напрямую.
VPC 10.0.0.0/16
+-- Публичная подсеть 10.0.1.0/24 (AZ a) -> веб-сервер, балансировщик
+-- Приватная подсеть 10.0.2.0/24 (AZ a) -> база данных, бэкенд
|
Internet Gateway -> выход в интернет только для публичной подсетиSecurity groups — файрвол инстанса
Security group — это виртуальный файрвол вокруг инстанса. Он описывает, какой входящий и исходящий трафик разрешён. Правила работают по принципу «разрешено только то, что явно указано»: например, открыть 22 порт (SSH) для своего IP и 80/443 (веб) для всех.
| Направление | Порт | Источник | Смысл |
| входящий | 443 | 0.0.0.0/0 | сайт по HTTPS для всех |
| входящий | 22 | ваш IP/32 | SSH только вам |
Как работает под капотом
Чтобы публичная подсеть вышла в интернет, к VPC присоединяют Internet Gateway (интернет-шлюз), а в таблице маршрутизации подсети прописывают маршрут на него. Приватной подсети такого маршрута не дают — поэтому достать её из интернета напрямую невозможно. Security group работает как stateful-файрвол: если вы разрешили входящее соединение, ответный трафик пройдёт автоматически, без отдельного исходящего правила. Группы применяются к сетевой карте инстанса, поэтому проверяются ещё до того, как пакет дойдёт до операционной системы.
Частые ошибки
- Класть базу данных в публичную подсеть. БД должна жить в приватной — её не должно быть видно из интернета.
- Открывать 0.0.0.0/0 на все порты. Это распахивает сервер всему интернету; открывайте только нужные порты нужным источникам.
- Забыть про маршрут на Internet Gateway. Без него даже «публичная» подсеть не выйдет в сеть.
Итог
- VPC — ваша изолированная сеть в AWS со своим диапазоном IP.
- Публичные подсети смотрят в интернет (через Internet Gateway), приватные — спрятаны.
- Security group — stateful-файрвол инстанса: разрешено только то, что явно указано.