Короткий ответ
VPC peering работает один-к-одному и не транзитивен, поэтому при росте числа сетей, которые должны видеть друг друга, число необходимых соединений растёт квадратично; hub-and-spoke через центральный транзитный шлюз даёт каждой сети одно подключение к хабу вместо множества, превращая рост в линейный и централизуя маршрутизацию и политики.
Как это работает подробнее
при N сетях, которым нужна полная связность через peering, потребуется порядка N×(N-1)/2 соединений; транзитный шлюз выступает центральным маршрутизатором, к которому каждая сеть подключается один раз, а дальнейшую маршрутизацию решают таблицы маршрутизации на нём.
Пример кода
example.txt
Peering mesh (5 VPC): до 10 отдельных соединений, нет транзитности между ними
Hub-and-spoke:
VPC-A, VPC-B, VPC-C, VPC-D, VPC-E -> все подключены к Transit Gateway
Transit Gateway route table решает, какие spoke видят друг другаЧто использовать на практике
- Рекомендация. переход на hub-and-spoke рассматривают, когда число сетей превышает единицы-десятки и нужна транзитивная связность; хаб также упрощает централизованный инспекционный firewall и единую точку применения сетевых политик.
- Проверка. добавление шестой сети в hub-and-spoke требует одного нового подключения к transit gateway, тогда как в полносвязной peering-модели потребовалось бы пять новых соединений.
Подводные камни
- Риск. продолжать добавлять точечные peering-соединения «по мере необходимости», пока сеть не превращается в неподдерживаемый граф
- Риск. переносить на транзитный шлюз всё и сразу без оценки дополнительной задержки и стоимости прохождения трафика через хаб
- Риск. не планировать непересекающиеся диапазоны CIDR заранее.