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

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

Hint

Рекомендуем предварительно ознакомиться с инструкцией по соединению двух 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.

Important

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

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

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

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

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

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

The general procedure is as follows:

Create a transit gateway#

Note

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

  1. Go to Interconnect Transit gateways and open the subsection of the same name.

  2. Click Create.

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

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

  4. Click Create to create the gateway.

Подключите 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.

Note

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

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

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

  2. Go to Virtual machines Networking Subnets and click Create.

  3. In the subnet dialog window, set the following parameters:

    • vpc-1.

    • (Optional) Name tag.

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

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

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

  5. After setting all the required parameters, click Create subnet.

При наличии в регионе одной зоны доступности аналогично создайте подсеть 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. Go to Interconnect Transit gateways and open the subsection of the same name.

  2. Select the transit gateway in the resource table.

  3. Click Set access.

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

  5. Click Apply.

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

Important

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

  1. Go to Interconnect Transit gateways Attachments.

  2. Click Create.

  3. In the window that opens, set the following parameters:

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

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

    • vpc-1.

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

      • 172.31.255.0/28;

      • 172.31.255.16/28;

      • 172.31.255.32/28.

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

  4. Click Create to create the attachment.

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

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

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

../../../../_images/dcgw-vpc-rt-1.png
  1. Go to Virtual machines Networking Route tables.

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

  3. Open the Routes tab and click Add.

  4. In the dialog window:

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

    • In the Gateway Type field, select Transit Gateway.

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

  5. Click Add to create the route.

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

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

../../../../_images/dcgw-tgw-rt-a.png
  1. Go to Interconnect Transit gateways Route tables.

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

  3. In the Routes tab click Add.

  4. In the dialog window:

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

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

  5. Click Create.

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

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

../../../../_images/dcgw-vpcs-rt-a.png
  1. Go to Virtual machines Networking Route tables.

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

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

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

  5. Open the Routes tab and click Add.

  6. In the dialog window:

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

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

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

  7. Click Add to create the route.

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

../../../../_images/dcgw-vpcs-rt-internet.png

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

  1. Go to Virtual machines Networking Route tables.

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

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

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

  5. Open the Routes tab and click Add.

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

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

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

    Click Add to create the route.

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

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

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

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

    Click Add to create the route.

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

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

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

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

    Click Add to create the route.

Задайте обратный маршрут из 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. Go to Virtual machines Networking Route tables.

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

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

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

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

  6. Open the Routes tab and click Add.

  7. In the dialog window:

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

    • In the Gateway Type field, select Transit Gateway.

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

  8. Click Add to create the route.

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

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

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

../../../../_images/dcgw-tgw-rt-p.png
  1. Go to Interconnect Transit gateways Route tables.

  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 будут устанавливаться в неё автоматически.