Инспекция трафика между VPC#

Транзитный шлюз можно использовать для организации инспекции трафика между VPC. В приводимом примере весь трафик между двумя VPC — vpc-1 (10.0.0.0/16) и vpc-2 (172.31.0.0/16) — направляется на проверку на виртуальное устройство безопасности (NGFW) в третьем VPC для инспекции трафика (Security VPC) — vpc-s (192.168.0.0/16).

Подсетям в vpc-1 и vpc-2 назначены основные таблицы маршрутизации этих VPC — vpc-rtb-1 и vpc-rtb-2, соответственно. Стыковочным подсетям (attachment subnet) в vpc-s назначена таблица маршрутизации vpc-rtb-a. Подсети, в которой находится NGFW, назначена таблица маршрутизации vpc-rtb-s этого VPC.

Кроме того, подключениям vpc-1 и vpc-2 к транзитному шлюзу назначена основная таблица маршрутизации транзитного шлюза для подключений tgw-rtb-a, а подключению vpc-s к транзитному шлюзу — основная таблица маршрутизации транзитного шлюза для распространения маршрутов tgw-rtb-p.

../../../../_images/east-west-scheme.png

Общая схема действий следующая:

Пример прохождения трафика#

В данном примере предполагается, что в vpc-1 запущен экземпляр с адресом 10.0.0.4 в подсети 10.0.0.0/20 в зоне доступности az-1, в vpc-2 запущен экземпляр с адресом 172.31.0.4 в подсети 172.31.0.0/20 в зоне доступности az-2, а в vpc-s развёрнут NGFW на экземпляре 192.168.0.4 в подсети 192.168.0.0/20 в зоне доступности az-3.

NGFW проверяет трафик и направляет его адресату через тот же сетевой интерфейс 192.168.0.4.

Примечание

Порядок прохождения трафика может несколько отличаться в зависимости от того, в каких зонах доступности находятся экземпляры.

../../../../_images/east-west-traffic.png
  1. Экземпляр 10.0.0.4 из зоны доступности az-1 в vpc-1 отправляет трафик на адрес 172.31.0.4.

  2. Виртуальный маршрутизатор vpc-1 проверяет адрес назначения по назначенной подсети таблице маршрутизации vpc-rtb-1 и направляет пакет на виртуальный интерфейс подключения vpc-1 к транзитному шлюзу в зоне доступности az-1.

  3. Транзитный шлюз в соответствии с таблицей маршрутизации tgw-rtb-a перенаправляет трафик на виртуальный интерфейс подключения к vpc-s в той же зоне доступности az-1.

  4. Трафик поступает в стыковочную подсеть в зоне доступности az-1 и в соответствии с таблицей маршрутизации стыковочной подсети vpc-rtb-a направляется в подсеть с NGFW в зоне доступности az-3.

  5. Экземпляр с NGFW получает трафик и после проверки отправляет его на адрес получателя 172.31.0.4.

  6. Из подсети 192.168.0.0/20, куда поступает трафик, в соответствии с таблицей маршрутизации vpc-rtb-s он маршрутизируется на подключение vpc-s к транзитному шлюзу в зоне доступности az-3.

  7. В соответствии с таблицей маршрутизации транзитного шлюза tgw-rtb-p, назначенной подключению к vpc-s, трафик направляется на подключение к vpc-2 в той же зоне доступности — az-3.

  8. Виртуальный маршрутизатор vpc-2 отправляет поступивший пакет от транзитного шлюза в подсеть 172.31.0.0/20 в зоне доступности az-2, где находится экземпляр 172.31.0.4.

  9. Пакет доставлен.

Обратный трафик проделывает схожий путь от экземпляра 172.31.0.4 до экземпляра 10.0.0.4.

Создайте транзитный шлюз#

Примечание

Вместе со шлюзом будет создана основная таблица маршрутизации транзитного шлюза для подключений tgw-rtb-a. Основную таблицу маршрутизации транзитного шлюза для распространения маршрутов tgw-rtb-p создадим отдельно и назначим её подключению транзитного шлюза к vpc-s.

  1. Перейдите в раздел Сетевые соединения Транзитные шлюзы и откройте одноимённый подраздел.

  2. Нажмите Создать.

  3. У опции Создать таблицу маршрутизации и назначить основной для: снимите флаг:

    • распространения маршрутов.

  4. Нажмите Создать для завершения создания шлюза.

Создайте стыковочные подсети#

В каждой из зон доступности рекомендуется создать стыковочную подсеть (attachment subnet), к которой будет подключаться транзитный шлюз. Если подсеть с экземплярами подключить напрямую к транзитному шлюзу, то трафик из шлюза будет поступать к экземплярам, минуя Network ACL. При наличии стыковочной подсети трафик между транзитным шлюзом и остальными подсетями в этом VPC всегда проходит через виртуальный маршрутизатор VPC и, как следствие, фильтруется Network ACL.

Примечание

Правила групп безопасности применяются к трафику на сетевых интерфейсах в любом случае — независимо от выбора варианта подключения.

В стыковочной подсети не рекомендуется размещать другие ресурсы. Она служит только для связи с транзитным шлюзом, поэтому в целях экономии адресного пространства стыковочной подсети можно выделить IP-подсеть наименьшего возможного размера (/28).

  1. Перейдите в раздел Виртуальные машины Сеть Подсети и нажмите Создать.

  2. В диалоге создания подсети задайте следующие параметры:

    • vpc-1.

    • (Опционально) Тег Name.

    • Адрес подсети 10.0.255.0/28.

    • Зону доступности, к которой необходимо подключить транзитный шлюз.

  3. Если необходимо назначить дополнительные теги, перейдите на следующий шаг, нажав Добавить теги.

  4. После задания всех необходимых параметров нажмите Создать подсеть.

При наличии в регионе одной зоны доступности аналогично создайте подсеть 172.31.255.0/28 в vpc-2 и подсеть 192.168.255.0/28 в vpc-s.

При наличии в регионе трёх зон доступности аналогично создайте подсети 10.0.255.16/28 и 10.0.255.32/28 в остальных зонах доступности в vpc-1, подсети 172.31.255.0/28, 172.31.255.16/28 и 172.31.255.32/28 в трёх зонах доступности в vpc-2 и подсети 192.168.255.0/28, 192.168.255.16/28 и 192.168.255.32/28 в трёх зонах доступности в vpc-s. Значение 255 в третьем октете адресов стыковочных подсетей выбрано так, чтобы адресное пространство VPC оставалось целостным и непрерывным и было доступно для создания подсетей, в которых будут размещаться экземпляры.

Вы можете выбрать, в скольких зонах доступности создавать подсети — одной, двух или трёх. Однако для продуктивных инфраструктур рекомендуем заранее создавать стыковочные подсети во всех зонах доступности, так как потом изменить этот выбор будет невозможно — инфраструктуру транзитного шлюза придётся создавать с нуля заново.

Создайте подключения#

Подключения необходимо создать в каждом из соединяемых VPC (см. подробнее о подключении транзитных шлюзов).

При создании первого подключения вы можете указать подсети в одной или нескольких зонах доступности по своему усмотрению. Однако при создании другого подключения необходимо задать подсети в тех же зонах доступности, что и у первого.

Важно

Мы рекомендуем создать подключения во всех зонах доступности. Это позволяет оптимизировать путь прохождения остального трафика, который маршрутизируется напрямую между соответствующими зонами доступности VPC.

Примечание

После создания к подключению нельзя привязать другие подсети.

  1. Перейдите в раздел Сетевые соединения Транзитные шлюзы Подключения.

  2. Нажмите Создать.

  3. В открывшемся окне укажите следующие параметры:

    • Тег Name для идентификации подключения, например vpc-1 (опционально).

    • Созданный транзитный шлюз.

    • vpc-1.

    • Стыковочные подсети в vpc-1, к которым будет подключён транзитный шлюз:

      • 10.0.255.0/28;

      • 10.0.255.16/28;

      • 10.0.255.32/28.

      В каждой из этих подсетей будет создан виртуальный интерфейс подключения.

  4. Нажмите Создать для завершения создания подключения.

Аналогичные подключения необходимо создать для vpc-2 и vpc-s.

Настройте маршрутизацию между vpc-1 и vpc-2 через транзитный шлюз#

В vpc-1 и vpc-2 необходимо задать маршрут в другой VPC через транзитный шлюз. Ниже предполагается, что всем подсетям в VPC, из которых надо передавать трафик в другое VPC, назначена основная таблица маршрутизации этого VPC — vpc-rtb-1 и vpc-rtb-2, соответственно. Если какой-либо подсети назначена другая таблица маршрутизации, то, чтобы трафик из неё передавался в другое VPC, необходимо также задать в ней маршрут через транзитный шлюз.

../../../../_images/east-west-vpc-rt-1.png
  1. Перейдите в раздел Виртуальные машины Сеть Таблицы маршрутизации.

  2. Выберите в таблице ресурсов основную таблицу маршрутизации vpc-rtb-1 для vpc-1 и нажмите на идентификатор таблицы для перехода на её страницу.

  3. Перейдите на вкладку Маршруты и нажмите Добавить.

  4. В открывшемся окне:

    • В поле Сеть укажите целевую сеть в vpc-2. В данном примере это сеть 172.31.0.0/16, соответствующая vpc-2.

    • В поле Тип шлюза выберите Транзитный шлюз.

    • В поле Шлюз выберите созданный транзитный шлюз.

  5. Нажмите Добавить для создания маршрута.

  6. Повторите шаги 3-5 для vpc-2.

Задайте маршрут до vpc-s в tgw-rtb-a#

Таблица маршрутизации tgw-rtb-a, созданная вместе с транзитным шлюзом, была выбрана в качестве основной для подключений. Она автоматически назначается всем подключениям транзитного шлюза к VPC (в том числе подключению vpc-s к транзитному шлюзу, которому необходимо будет задать другую таблицу маршрутизации — tgw-rtb-p). Чтобы транзитный шлюз перенаправлял трафик между vpc-1 и vpc-2 на проверку в vpc-s, необходимо задать маршруты до vpc-s.

../../../../_images/east-west-tgw-rt-a.png
  1. Перейдите в раздел Сетевые соединения Транзитные шлюзы Таблицы маршрутизации.

  2. Выберите в таблице ресурсов таблицу маршрутизации транзитного шлюза tgw-rtb-a и нажмите на идентификатор таблицы для перехода на её страницу.

  3. На вкладке Маршруты нажмите Добавить.

  4. В открывшемся окне:

    • В поле Сеть в качестве целевой сети укажите 0.0.0.0/0, чтобы весь исходящий трафик перенаправлялся в vpc-s.

    • В поле Подключение выберите подключение, через которое vpc-s подключается к транзитному шлюзу.

  5. Нажмите Создать.

Задайте маршрут до NGFW в vpc-rtb-a#

Весь трафик, который поступает из vpc-1 и vpc-2 в стыковочные подсети в vpc-s, необходимо перенаправить далее на проверку на сетевой интерфейс NGFW с адресом 192.168.0.4. Для этого надо создать отдельную таблицу маршрутизации vpc-rtb-a, назначить стыковочным подсетям и задать в ней маршрут до NGFW.

../../../../_images/east-west-vpcs-rt-a.png
  1. Перейдите в раздел Виртуальные машины Сеть Таблицы маршрутизации.

  2. Создайте таблицу маршрутизации vpc-rtb-a в vpc-s.

  3. Назначьте созданную таблицу маршрутизации стыковочным подсетям в vpc-s.

  4. Выберите в таблице ресурсов созданную таблицу маршрутизации и нажмите на идентификатор таблицы для перехода на её страницу.

  5. Перейдите на вкладку Маршруты и нажмите Добавить.

  6. В открывшемся окне:

    • В поле Сеть укажите 0.0.0.0.

    • В поле Тип шлюза выберите Экземпляр.

    • В поле Шлюз из раскрывающегося списка выберите экземпляр, на котором развёрнут NGFW.

  7. Нажмите Добавить для создания маршрута.

Задайте обратные маршруты в vpc-rtb-s#

Для маршрутизации обратного трафика создайте отдельную таблицу маршрутизации vpc-rtb-s, назначьте её подсети, в которой находится NGFW, и задайте маршруты до vpc-1 и vpc-2.

../../../../_images/east-west-vpcs-rt-s.png
  1. Перейдите в раздел Виртуальные машины Сеть Таблицы маршрутизации.

  2. Создайте таблицу маршрутизации в vpc-s.

  3. Назначьте созданную таблицу маршрутизации подсети, где находится NGFW.

  4. Выберите в таблице ресурсов созданную таблицу маршрутизации и нажмите на идентификатор таблицы для перехода на её страницу.

  5. Перейдите на вкладку Маршруты и нажмите Добавить.

  6. В открывшемся окне:

    • В поле Сеть укажите целевую сеть в vpc-1. В данном примере это сеть 10.0.0.0/16, соответствующая vpc-1.

    • В поле Тип шлюза выберите Транзитный шлюз.

    • В поле Шлюз выберите используемый транзитный шлюз.

  7. Нажмите Добавить для создания маршрута.

  8. Повторите шаги 3-5 для vpc-2.

Настройте маршрутизацию для подключения vpc-s#

Для передачи проверенного трафика в целевые vpc необходимо настроить таблицу маршрутизации транзитного шлюза tgw-rtb-p для подключения vpc-s.

../../../../_images/east-west-tgw-rt-p.png
  1. Перейдите в раздел Сетевые соединения Транзитные шлюзы Таблицы маршрутизации.

  2. Создайте таблицу маршрутизации транзитного шлюза.

  3. Найдите в таблице ресурсов созданную таблицу маршрутизации и нажмите на идентификатор таблицы для перехода на её страницу.

  4. На вкладке Распространение маршрутов нажмите Включить распространение маршрутов. В открывшемся окне выберите подключения vpc-1 и vpc-2 к транзитному шлюзу. Нажмите Включить.

  5. Перейдите в раздел Сетевые соединения Транзитные шлюзы Транзитные шлюзы и сделайте таблицу основной для распространения маршрутов. Маршруты ко всем подключаемым впоследствии VPC будут автоматически добавляться в эту таблицу.

  6. Перейдите в раздел Сетевые соединения Транзитные шлюзы Таблицы маршрутизации и назначьте эту таблицу подключению транзитного шлюза к vpc-s.

Созданная основная таблица маршрутизации для распространения маршрутов tgw-rtb-p будет назначена подключению к vpc-s вместо основной таблицы маршрутизации для подключений tgw-rtb-a. Маршруты до vpc-1 и vpc-2 через транзитный шлюз, а также до всех подключаемых впоследствии VPC будут устанавливаться в неё автоматически.