Соединение VPC с корпоративной сетью через Direct Connect#

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

Подсказка

Рекомендуем предварительно ознакомиться с инструкцией по соединению двух VPC. Это позволит на простом примере понять, каким путём трафик следует от отправителя к получателю.

В рассматриваемом примере оба шлюза — транзитный шлюз (Transit Gateway, TGW) и шлюз выделенных соединений (Direct Connect Gateway, DCGW) — находятся в основном проекте. К транзитному шлюзу помимо DCGW подключается VPC (vpc-1, 172.31.0.0/16), которое находится в другом проекте. VPC и корпоративная сеть (10.0.0.0/8) могут обмениваться трафиком между собой и с интернетом.

Весь трафик направляется для проверки в выделенное VPC (vpc-s, 192.168.0.0/16), в котором развёрнуто виртуальное устройство безопасности (NGFW). vpc-s находится в том же проекте, что и шлюзы, и подключено к интернету (имеет интернет-шлюз).

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

Подсетям в vpc-1 назначена основная таблица маршрутизации этого VPC — vpc-rtb-1. Стыковочным подсетям (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 и шлюза выделенных соединений к транзитному шлюзу назначена основная таблица маршрутизации транзитного шлюза для подключений tgw-rtb-a, а подключению vpc-s к транзитному шлюзу — основная таблица маршрутизации транзитного шлюза для распространения маршрутов tgw-rtb-p.

Важно

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

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

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

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

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

../../../../_images/dcgw-scheme.png

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

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

Примечание

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

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

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

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

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

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

Подключите DCGW к TGW#

Создайте ассоциацию шлюза выделенных соединений с транзитным шлюзом.

  1. Перейдите в разделе Сетевые соединения Выделенные соединения Шлюзы.

  2. Выберите шлюз выделенных соединений в таблице ресурсов и нажмите Создать ассоциацию.

  3. В открывшемся окне выберите транзитный шлюз, с которым необходимо установить ассоциацию. В поле Разрешённые префиксы укажите адреса vpc-1 и vpc-s (172.31.0.0/16 и 192.168.0.0/16).

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

При ассоциации будет создано подключение к транзитному шлюзу во всех зонах доступности.

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

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

Примечание

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

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

  1. Переключитесь на проект, где находится vpc-1. Для этого может потребоваться выйти из веб-интерфейса облака и зайти повторно под учётной записью с соответствующими правами.

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

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

    • vpc-1.

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

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

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

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

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

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

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

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

Подключите VPC из другого проекта к TGW#

Чтобы VPC в другом проекте можно было подключить к транзитному шлюзу, необходимо предоставить к нему доступ из другого проекта.

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

  2. Выберите транзитный шлюз в таблице ресурсов.

  3. Нажмите Настроить доступ.

  4. В открывшемся окне укажите проект в поле Проекты, которым предоставлен доступ в формате project@customer.

  5. Нажмите Применить.

Для создания подключения необходимо сменить проект на тот, где находится VPC. Для этого может потребоваться выйти из веб-интерфейса облака и зайти от имени пользователя с правами на этот проект.

Важно

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

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

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

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

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

    • Транзитный шлюз в основном проекте.

    • vpc-1.

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

      • 172.31.255.0/28;

      • 172.31.255.16/28;

      • 172.31.255.32/28.

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

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

После подключения vpc-1 необходимо вернуться в основной проект и создать подключение vpc-s в тех же зонах доступности.

Настройте маршрутизацию из vpc-1 через TGW#

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Задайте маршрут до NGFW#

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

../../../../_images/dcgw-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-s#

../../../../_images/dcgw-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 в открывшемся окне:

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

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

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

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

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

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

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

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

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

Задайте обратный маршрут из vpc-s через транзитный шлюз#

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

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

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

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

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

  5. На вкладке Информация нажмите на идентификатор таблицы маршрутизации в одноимённом поле.

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

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

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

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

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

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

  9. Повторите шаги 4-6 для настройки маршрута до корпоративной сети (её адрес в данном примере 10.0.0.0/8).

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

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

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

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

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

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

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

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

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