Инструкции#

Создание VPN-соединения между К2 Облаком и AWS#

Чтобы создать VPN-соединение между К2 Облаком и AWS с использованием динамической маршрутизации через BGP, выполните следующие действия:

  1. В К2 Облаке создайте временный клиентский шлюз, выбрав тип ipsec.1 и любой IP-адрес. Для этого в подразделе Клиентскиe шлюзы нажмите Создать.

  2. Создайте VPN-соединение для ранее созданного клиентского шлюза, используя при этом VPC, до которого необходимо VPN-соединение.

  3. Для созданного VPN-соединения необходимо посмотреть в конфигурации Generic параметры VGW ASN и Outside IP VGW.

  4. В AWS создайте Customer Gateway, укажите динамическую маршрутизацию, а также параметры BGP ASN и IP Address из предыдущего пункта, после чего VPN-соединение и клиентский шлюз из п.1 и п.2 нужно удалить.

  5. В AWS создайте Virtual Private Gateway, указав при этом ASN, отличающийся от VGW ASN на стороне К2 Облака.

  6. После того как VGW создан, присоедините его к VPC. Для этого выберите созданный VGW и нажмите Actions > Attach to VPC.

  7. В AWS создайте VPN connection в подразделе Site-to-Site VPN Connections. Для удобства используйте следующие параметры:

    • Virtual Private Gateway — созданный в п.5.

    • Customer Gateway — созданный в п.4.

    • Routing OptionsDynamic.

    • Inside IP CIDR — Внутренний IP CIDR для туннеля VPN выбирается из адресного пространства 169.254.252.0/22 и должен иметь длину префикса /30.

    Для примера будут использоваться следующие значения:

    • Inside IP CIDR for Tunnel1: 169.254.252.0/30

    • Inside IP CIDR for Tunnel2: 169.254.252.4/30

    Если данные подсети уже заняты другими VPN-соединениями К2 Облака, используйте другие свободные подсети с длиной префикса /30 из адресного пространства 169.254.252.0/22.

    • Pre-Shared Key — можно задать свой для каждого туннеля. Если не указывать PSK, он будет сгенерирован автоматически. PSK должен быть длиной от 8 до 64 знаков, может содержать алфавитно-цифровые символы, нижнее подчёркивание или точку и не может начинаться с 0.

  8. В AWS для созданного VPN-соединения посмотрите:

    • Outside IP Address для каждого туннеля на вкладке Tunnel Details или в конфигурации.

    • Virtual Private Gateway ASN в конфигурации.

    • PSK, если он был сгенерирован автоматически.

    Пример необходимых параметров из конфигурации Generic в AWS
    IPSec Tunnel #1
    #1: Internet Key Exchange Configuration
       - Pre-Shared Key           : .F8IuIiCPc73JCbqtqk9RjYsYKZ8yHlD
    #3: Tunnel Interface Configuration
    Outside IP Addresses:
      - Virtual Private Gateway         : 34.195.175.253
    Inside IP Addresses
      - Customer gateway                    : 169.254.252.2/30
      - Virtual Private Gateway             : 169.254.252.1/30
    #4: Border Gateway Protocol (BGP) Configuration:
      - Virtual Private Gateway ASN          : 64512
    
    IPSec Tunnel #2
    #1: Internet Key Exchange Configuration
      - Pre-Shared Key           : mkTqMDq8YMOuQ0CR485g0uFB2Uo4P_zj
    #3: Tunnel Interface Configuration
    Outside IP Addresses:
      - Virtual Private Gateway         : 35.173.85.116
    Inside IP Addresses
      - Customer gateway                    : 169.254.252.6/30
      - Virtual Private Gateway             : 169.254.252.5/30
    #4: Border Gateway Protocol (BGP) Configuration:
      - Virtual Private Gateway ASN          : 64512
    
  9. В К2 Облаке создайте два клиентских шлюза с параметрами:

    • Тип — ipsec.1.

    • IP-адрес — <Outside IP Virtual Private Gateway> из конфигурации Generic в AWS.

    • BGP ASN — <Outside IP Virtual Private Gateway ASN> из конфигурации Generic в AWS.

  10. В К2 Облаке создайте два VPN-соединения, используя веб-интерфейс или API:

    В веб-интерфейсе необходимо зайти в раздел Сетевые соединения VPN VPN-соединения и нажать Создать. В появившемся окне следует указать ранее созданный клиентский шлюз, а также Внутренний IP CIDR для туннеля и Pre-shared Key для туннеля на шаге Параметры туннеля, где Внутренний IP CIDR для туннеля соответствует Inside IP Customer gateway из конфигурации Generic в AWS.

    ../../../_images/vpnaws1.png

    Также стоит отметить, что VPN-соединение можно создать в разделе Сетевые соединения VPN Клиентские шлюзы, нажав Создать VPN-соединение, или на вкладке VPN-соединения страницы конкретного клиентского шлюза:

    ../../../_images/vpnaws2.png

    Для создания VPN-соединения через API можно использовать c2-client или AWS CLI:

    c2-ec2 CreateVPNConnection CustomerGatewayId <cgw_id> Type <type> VPNGatewayId <vgw_id> Options.TunnelOptions.0.PreSharedKey <pre_shared_key> Options.TunnelOptions.0.TunnelInsideCidr <cidr,addr>
    
    aws <...> create-VPN-connection --customer-gateway-id <cgw_id> --type <type> --VPN-gateway-id <vgw_id> --options "{\"TunnelOptions\": [{\"TunnelInsideCidr\": \"<cidr, addr>\", \"PreSharedKey\": \"<pre_shared_key>\"}]}"
    

    При этом:

    • <vgw_id> соответствует VPC, с которым необходимо установить VPN-соединение.

      Для удобства vgw_id идентичен vpc_id (vgw-<...> / vpc-<...>). Также для получения vgw_id можно использовать метод DescribeVpnGateways.

    • <pre_shared_key> — PSK, который был задан или автоматически сгенерирован в AWS.

    • <cidr,addr> — укажите второй адрес из подсети /30, так как в AWS используется первый адрес из подсети /30, например, 169.254.255.2/30 для первого VPN-соединения и 169.254.255.6/30 для второго.

    Пример
    c2-ec2 CreateVPNConnection CustomerGatewayId cgw-6525809R Type ipsec.1 VPNGatewayId vgw-B3K13902 Options.TunnelOptions.0.PreSharedKey .F8IuIiCPc73JCbqtqk9RjYsYKZ8yHlD Options.TunnelOptions.0.TunnelInsideCidr 169.254.255.2/30
    
    aws --profile <your_profile> --endpoint-url https://ec2.k2.cloud:443 create-VPN-connection --customer-gateway-id cgw-845F0C92 --type ipsec.1 --VPN-gateway-id vgw-B3K13902 --options "{\"TunnelOptions\": [{\"TunnelInsideCidr\": \"169.254.255.6/30\", \"PreSharedKey\": \"mkTqMDq8YMOuQ0CR485g0uFB2Uo4P_zj\"}]}"
    

    Стоит отметить, что <vgw_id> будет одинаковым для первого и второго VPN-соединения, так как они создаются в одном и том же VPC.

  11. В AWS убедитесь, что опция Route Propagation включена в Route Tables. Данная функциональность позволяет автоматически добавлять маршрут до CIDR VPC К2 Облака в таблицу маршрутизации.

  12. В К2 Облаке на текущий момент статический маршрут имеет больший приоритет, поэтому для корректной динамической маршрутизации VPN-соединений необходимо удалить из таблицы маршрутизации запись по умолчанию 0.0.0.0/0.

  13. В AWS на вкладке Site-to-Site VPN Connections > Tunnel Details проверьте, что туннели успешно поднялись, а маршруты получены.

Примечание

При необходимости можно сменить BGP ASN для VGW со стороны К2 Облака. Для этого обратитесь в службу поддержки.