В августе мы уже обсуждали public preview нового функционала Microsoft Azure — VNET Peering. С тех пор VNET Peering вышел в GA и пришло время посмотреть на него пристальнее. Действительно, любопытно было бы узнать насколько отличается скорость передачи данных в виртуальных сетях Azure, при разных способах их организации.

Например, отличается ли скорость внутри одной подсети и между разными подсетями в одном VNET? Снижает ли скорость переход в другой VNET через Peer? А через VNET-to-VNET VPN?



Я провёл небольшой эксперимент на эту тему, чтобы проверить полезность и эффективность VNET Peering и приглашаю под кат ознакомиться с его результатами.

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



Это позволило мне сравнить несколько типов связи, которые могут существовать между серверами в Azure:

  • Сервера в одной подсети
  • Сервера в разных подсетях одного VNET
  • Сервера в разных Peered VNET
  • Сервера в разных VNET соединённых VPN через Virtual network Gateway

Для последнего сценария мне также было интересно посмотреть на разницу между разными SKU доступными для Virtual Network Gateway, поэтому я последовательно пересоздавал это соединение с Basic SKU, Standard SKU и High-Performance SKU. Microsoft заявляет пропускную способность 100 Mbps для двух первых и 200 Mbps для High-Performance SKU.

Я выбрал довольно тривиальный и простой тест, а точнее два теста (никоим образом не претендую на их 100%-ю объективность) — копирование файлов общим объёмом 5GB. В первом тесте это 5 файлов по 1GB, во втором — 500 файлов по 10 MB. Содержание файлов — ZIP архив со стандартной компрессией случайных данных. Каждая операция осуществлялась 10 раз с замером времени и очисткой оперативной памяти сервера между попытками.

В качестве тестовых серверов были выбраны DS2_V2 с 2 CPU, 7GB RAM и дисками на Premium Storage, чтобы скорость чтения/записи на диск имела минимальное влияние на скорость копирования файлов.

Ниже приведён результат замеров скорости копирования в Mbps. Для каждого из 6 вариантов организации сети приведены лучший, средний и худший результат для нескольких больших и множества маленьких файлов.



Я приведу свои мысли, но вы можете сделать собственные выводы на основе этих данных.

Понятно, что тест, никоим образом, не претендует на полноценное исследование. Об этом говорит хотя бы разница между лучшим и худшим результатом замеров достигающая 25%, что значит, что тест из всего 10 повторений не даст хорошего приближения для среднего значения. С другой стороны, эти результаты всё же позволяют оценить общую картину:

— VNET Peering — отличный функционал, который позволяет создать надёжную высокоскоростную связь между виртуальными сетями в Azure.

— Разница между Basic/Standard и High Performance SKU для Virtual Gateway оказалась существенно меньше чем я ожидал. Особенно приятно то, что это достигается за счёт того, что Basic/Standard варианты показывают пропускную способность, которая выше заявленной, а не наоборот.

Сколько стоят эти варианты? Понятно, что для серверов в одной подсети и в разных подсетях одного VNET вы не платите ничего. А вот для оставшихся вариантов, вам придётся заплатить.

Стоимость VNET Peering после выхода его в GA составляет €0.0084 за GB входящего и исходящего трафика. Насколько я понимаю, за каждый GB вы заплатите дважды (один раз, если принимающая или исходящая сторона находятся не в вашей подписке, тут половину заплатит её владелец).

Стоимость Virtual Gateway зависит от региона. Я приведу здесь стоимость для Северной Европы, так как именно там разворачивал свою лабораторию.

  • Basic SKU — €0.0304 за час
  • Standard SKU — €0.1602 за час
  • High Performance SKU — €0.4132 за час

Дополнительно вы заплатите от €0.0295 до €0.1349 за каждый GB входящего трафика в зависимости от региона, из которого исходит трафик (считается только трафик между двумя VNET в разных регионах Azure).

В целом, выбор оптимального варианта зависит от ваших требований и целей. Лично я предпочту VNET Peering для связи двух VNET, если:

  • я планирую ежемесячные объемы трафика ниже 2TB за месяц (тут выбор очевиден, потому что VNET Peering будет и быстрее и дешевле)
  • мне важна максимальная пропускная способность канала

VNET-to-VNET VPN будет предпочтительнее если:


Для ежемесячных объем объемов трафика между 2 и 30 TB будут важны требования по цене и пропускной способности. Очень важно будет посчитать, каков минимально допустимый SKU Vitrual Gateway, чтобы понять какое решение будет оптимальное по цене.

Мне очень понравился функционал VNET Peering и дополнительные возможности, которые он даёт при проектировании решений на базе Microsoft Azure. Для тестовых лабораторий с небольшим трафиком, это вообще идеальное решение. Для основной рабочей среды, VNET Peering с его скоростью и возможностью удобно и прозрачно настроить правила транзита трафика и взаимного использования Gateway в Peered сетях также является очень и очень интересным вариантом.
Поделиться с друзьями
-->

Комментарии (2)


  1. ildarz
    25.11.2016 10:37
    +1

    Особенно приятно то, что это достигается за счёт того, что Basic/Standard варианты показывают пропускную способность, которая выше заявленной, а не наоборот.


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


    1. Aivendil
      25.11.2016 11:09

      Я тоже так думаю, но всё равно приятно, что для младших SKU скорость не обрезается по заявленному потолку.