Инспекция трафика в интернет#

Транзитный шлюз можно использовать для организации инспекции трафика между 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), которое должно быть подключено к интернету (иметь интернет-шлюз).

К экземпляру с NGFW подключено два сетевых интерфейса: 192.168.0.4 во внутренней подсети 192.168.0.0/20 для коммуникации с VPC и 192.168.16.4 в публичной подсети 192.168.16.0/20 для коммуникации с интернетом. На интерфейс 192.168.16.4 назначен Elastic IP для доступа в интернет.

Подсетям в vpc-1 и vpc-2 назначены основные таблицы маршрутизации этих VPC — vpc-rtb-1 и vpc-rtb-2, соответственно. Стыковочным подсетям (attachment subnet) в vpc-s назначена таблица маршрутизации vpc-rtb-a. Внутренней подсети 192.168.0.0/20, к которой подключён интерфейс NGFW 192.168.0.4, назначена таблица маршрутизации vpc-rtb-s. А публичной подсети 192.168.16.0/20, к которой подключён интерфейс NGFW 192.168.16.4, назначена таблица маршрутизации vpc-rtb-i.

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

Важно

В данном сценарии для организации доступа через Elastic IP-адрес необходимо:

  • создать сетевой интерфейс в публичной подсети, которая присоединена к NGFW;

  • выделить Elastic IP-адрес и назначить его созданному сетевому интерфейсу;

  • внутренний IP-адрес сетевого интерфейса назначить NGFW в качестве алиаса или настроить для него Proxy ARP;

  • настроить на NGFW NAT-правило, которое трафик на этот внутренний IP-адрес перенаправляет на внутренний IP-адрес целевого экземпляра.

../../../../_images/north-south-scheme.png

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

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

Примечание

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

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

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

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

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

    • В поле Сеть укажите целевую сеть 0.0.0.0/0.

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

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

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

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

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

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

../../../../_images/north-south-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/north-south-vpcs-rt-a.png
  1. Перейдите в раздел Виртуальные машины Сеть Таблицы маршрутизации.

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

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

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

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

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

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

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

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

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

Задайте маршруты в интернет в vpc-rtb-i#

../../../../_images/north-south-vpcs-rt-internet.png

NGFW подключается к публичной подсети 192.168.16.0/20 через интерфейс 192.168.16.4. Для этой подсети необходимо настроить маршрутизацию трафика в/из интернет в таблице маршрутизации vpc-rtb-i.

  1. Перейдите в раздел Виртуальные машины Сеть Таблицы маршрутизации.

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

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

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

  5. Перейдите на вкладку Маршруты.

  6. Для маршрутизации трафика в интернет нажмите Добавить в открывшемся окне:

    • в поле Сеть укажите 0.0.0.0/0;

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

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

  7. Для проверки входящего трафика из интернета в vpc-1 нажмите снова Добавить и в открывшемся окне:

    • в поле Сеть укажите 10.0.0.0/16;

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

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

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

  8. Для проверки входящего трафика из интернета в vpc-2 нажмите снова Добавить и в открывшемся окне:

    • в поле Сеть укажите 172.31.0.0/16;

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

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

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

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

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

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

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

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

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

  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. Для автоматического добавления маршрутов в другие VPC рекомендуется сделать эту таблицу основной для распространения маршрутов.

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

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

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

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

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

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

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