33. Сетевые модели Microsoft Azure + Управление Azure

Обновлено: 2024-03-12
7 мин

Мы рассмотрим сетевые модели в Microsoft Azure и некоторые варианты управления для Azure. До сих пор мы использовали только платформу Azure, но упомянули и другие области, которые можно использовать для управления и создания наших ресурсов на платформе.

Сетевые модели Azure

Виртуальные сети

  • Виртуальная сеть — это конструкция, созданная в Azure.
  • Виртуальной сети назначен один или несколько диапазонов IP-адресов.
  • Виртуальные сети живут в рамках подписки внутри региона.
  • В виртуальной сети создаются виртуальные подсети для разбиения сетевого диапазона.
  • Виртуальные машины размещаются в виртуальных подсетях.
  • Все виртуальные машины в виртуальной сети могут обмениваться данными.
  • 65 536 частных IP-адресов на виртуальную сеть.
  • Платите только за исходящий трафик из региона. (данные покидают регион)
  • Поддерживаются IPv4 и IPv6.
    • IPv6 для общедоступных и внутри виртуальных сетей.

Мы можем сравнить виртуальные сети Azure с AWS VPC. Однако следует отметить некоторые отличия:

  • В AWS создается виртуальная сеть по умолчанию, чего нет в Microsoft Azure, вам необходимо создать свою первую виртуальную сеть в соответствии с вашими требованиями.
  • Все виртуальные машины в Azure по умолчанию имеют доступ к Интернету через NAT. Нет шлюзов NAT в соответствии с AWS.
  • В Microsoft Azure нет понятия частных или общедоступных подсетей.
  • Общедоступные IP-адреса — это ресурс, который может быть назначен виртуальным сетевым адаптерам или балансировщикам нагрузки.
  • Виртуальная сеть и подсети имеют свои собственные списки управления доступом, позволяющие делегировать уровень подсети.
  • Подсети в зонах доступности, тогда как в AWS у вас есть подсети для каждой зоны доступности.

У нас также есть виртуальный сетевой пиринг. Пиринг между виртуальными сетями позволяет эффективно соединить две Виртуальные сети Azure. После создания пиринговой связи две виртуальные сети выглядят как одна сеть в плане подключения. Точно так же трафик между виртуальными машинами в одноранговых виртуальных сетях использует магистральную инфраструктуру Майкрософт. Как и трафик между виртуальными машинами в одной сети, трафик направляется только через частную сеть корпорации Майкрософт.

Контроль доступа

  • Azure использует группы безопасности сети, они сохраняют состояние.
  • Разрешить создавать правила, а затем назначать их группе безопасности сети.
  • Группы безопасности сети применяются к подсетям или виртуальным машинам.
  • При применении к подсети он по-прежнему применяется к сетевой карте виртуальной машины и не является “Edge” устройством.

  • Правила объединены в группу безопасности сети.
  • В зависимости от приоритета возможны гибкие конфигурации.
  • Более низкий номер приоритета означает высокий приоритет.
  • Большая часть логики построена на IP-адресах, но также могут использоваться некоторые теги и метки.
DescriptionPrioritySource AddressSource PortDestination AddressDestination PortAction
Inbound 4431005***443Allow
ILB1010Azure LoadBalancer**10000Allow
Deny All Inbound4000****DENY

У нас также есть группы безопасности приложений (Application Security Groups) (ASG) .

  • Где журналы потоков групп безопасности) (NSG) (Network Security Groups) сети сосредоточены на диапазонах IP-адресов, которые может быть сложно поддерживать для растущих сред.
  • ASG позволяют определять настоящие имена (моникеры) для различных ролей приложений (веб-серверы, серверы БД, WebApp1 и т. д.).
  • Сетевая карта виртуальной машины становится членом одной или нескольких групп ASG.

Затем группы ASG можно использовать в правилах, которые являются частью групп безопасности сети, для управления потоком связи и по-прежнему могут использовать функции NSG, такие как теги обслуживания.

ActionNameSourceDestinationPort
AllowAllowInternettoWebInternetWebServers443(HTTPS)
AllowAllowWebToAppWebServersAppServers443(HTTPS)
AllowAllowAppToDBAppServersDbServers1443 (MSSQL)
DenyDenyAllinboundAnyAnyAny

Балансировщики нагрузки

Load Balancing. В Microsoft Azure есть два отдельных решения для балансировки нагрузки. (От Microsoft Azure и сторонние на маркетплейсе) Оба могут работать с внешними или внутренними конечными ендпоинтами.

  • Балансировщик нагрузки (Layer 4), поддерживающий распределение на основе хэшей и переадресацию портов.
  • Шлюз приложений (Layer 7) поддерживает такие функции, как разгрузка SSL, сопоставление сеансов на основе файлов cookie и маршрутизация контента на основе URL-адресов.

Кроме того, с помощью шлюза приложений вы можете дополнительно использовать компонент брандмауэра веб-приложения.

Средства управления Azure

Мы потратили большую часть нашего теоретического времени на изучение портала Azure, я бы предположил, что когда дело доходит до следования культуре DevOps и обработки многих этих задач, особенно связанных с подготовкой, будет выполняться через API или инструмент командной строки. Я хотел коснуться некоторых из тех других инструментов управления, которые у нас есть, поскольку нам нужно знать это, когда мы автоматизируем подготовку наших сред Azure.

Портал Azure

Портал Microsoft Azure — это веб-консоль, которая представляет собой альтернативу инструментам командной строки. Вы можете управлять своими подписками на портале Azure. Создавайте, управляйте и контролируйте все, от простого веб-приложения до сложных облачных развертываний. Еще одна вещь, которую вы найдете на портале, — это хлебные крошки. JSON, как упоминалось ранее, является основой всех ресурсов Azure. Возможно, вы начнете с портала, чтобы понять функции, службы и функциональные возможности, а затем позже поймете JSON внизу, чтобы включить в ваши автоматизированные рабочие процессы.

Существует также портал Azure Preview, который можно использовать для просмотра и тестирования новых и предстоящих услуг и улучшений.

PowerShell

Прежде чем мы перейдем к Azure PowerShell, стоит сначала познакомиться с PowerShell. PowerShell — это среда автоматизации задач и управления конфигурацией, оболочка командной строки и язык сценариев. Мы могли бы и осмелились сказать это, сравнив это с тем, что мы рассмотрели в разделе Linux, посвященном сценариям оболочки. PowerShell впервые появился в ОС Windows, но теперь он кроссплатформенный.

Azure PowerShell — это набор командлетов для управления ресурсами Azure непосредственно из командной строки PowerShell.

При желании мы можеем подключиться к подписке с помощью команды PowerShell «Connect-AzAccount».

Затем, если мы хотим найти некоторые конкретные команды, связанные с виртуальными машинами Azure, мы можем запустить следующую команду. Вы можете потратить часы на изучение и понимание этого языка программирования PowerShell.

Microsoft предлагает отличные краткие руководства по началу работы и подготовке служб из PowerShell здесь

Visual Studio Code

Visual Studio Code — это бесплатный редактор исходного кода, созданный Microsoft для Windows, Linux и macOS.

В Visual Studio Code встроено множество интеграций и инструментов, которые вы можете использовать для взаимодействия с Microsoft Azure и службами внутри.

Cloud Shell

Azure Cloud Shell — это интерактивная, аутентифицированная, доступная через браузер оболочка для управления ресурсами Azure. Это обеспечивает гибкость выбора оболочки, которая лучше всего подходит для вашей работы.

Как видно из рисунка ниже, когда мы впервые запускаем Cloud Shell на портале, мы можем выбирать между Bash и PowerShell.

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

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

  • Cloud Shell работает на временном хосте, предоставляемом для каждого сеанса и каждого пользователя.
  • Время ожидания Cloud Shell истекает через 20 минут без интерактивной активности.
  • Cloud Shell требует подключения общего файлового ресурса Azure. — Cloud Shell использует один и тот же файловый ресурс Azure как для Bash, так и для PowerShell.
  • Cloud Shell назначается по одному компьютеру для каждой учетной записи пользователя.
  • Cloud Shell сохраняет $HOME, используя образ размером 5 ГБ, хранящийся в вашей общей папке.
  • Разрешения установлены как у обычного пользователя Linux в Bash

Подробнее о Cloud Shell

Azure CLI

Azure CLI можно установить в Windows, Linux и macOS. После установки вы можете ввести «az», а затем другие команды для создания, обновления, удаления и просмотра ресурсов Azure.

Когда я впервые приступил к изучению Azure, меня немного смутило наличие Azure PowerShell и Azure CLI.

Я также хотел бы получить отзывы от сообщества по этому поводу. Но я вижу, что Azure PowerShell — это модуль, добавленный в Windows PowerShell или PowerShell Core (также доступен в других ОС, но не во всех), тогда как Azure CLI — это кроссплатформенная программа командной строки, которая подключается к Azure и выполняет эти команды. .

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

Например, для создания виртуальной машины из PowerShell будет использоваться командлет New-AzVM, а в Azure CLI — az VM create.

Ранее вы видели, что в моей системе установлен модуль Azure PowerShell, но затем у меня также установлен Azure CLI, который можно вызывать через PowerShell на моем компьютере с Windows.

Вывод здесь, как мы уже упоминали, заключается в выборе правильного инструмента. Azure работает на основе автоматизации. Каждое действие, которое вы совершаете внутри портала, где-то преобразуется в код, выполняемый для чтения, создания, изменения или удаления ресурсов.

Сравнение

Azure CLI

  • Кроссплатформенный интерфейс командной строки, устанавливаемый на Windows, macOS, Linux
  • Работает в Windows PowerShell, Cmd или Bash и других оболочках Unix.

Azure PowerShell

  • Кроссплатформенный модуль PowerShell, работает на Windows, macOS, Linux
  • Требуется Windows PowerShell или PowerShell

Если по какой-то причине вы не можете использовать PowerShell в своей среде, но можете использовать .mdor bash, тогда Azure CLI будет вашим выбором.

Завтра попробуем создать несколько сценариев и приступим к работе в Azure.

Ресурсы