Бөлісу құралы:


Внедрение виртуальной сети в Azure Chaos Studio

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

Внедрение виртуальной сети позволяет поставщику ресурсов Azure Chaos Studio внедрять контейнерные рабочие нагрузки в виртуальную сеть, чтобы доступ к ресурсам без общедоступных конечных точек можно было получить через частный IP-адрес в виртуальной сети. После настройки внедрения виртуальной сети для ресурса в виртуальной сети и включения ресурса в качестве целевого объекта его можно использовать в нескольких экспериментах. Эксперимент может использовать сочетание частных и неприватных ресурсов, если частные ресурсы настроены в соответствии с инструкциями в данной статье.

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

Поддержка типов ресурсов

В настоящее время можно включить только определенные типы ресурсов для внедрения виртуальной сети Chaos Studio:

  • Целевые объекты службы Azure Kubernetes (AKS) можно включить с внедрением виртуальной сети с помощью портала Azure и Azure CLI. Можно использовать все сбои в сетке хаоса AKS.
  • Цели Azure Key Vault можно активировать с помощью внедрения виртуальной сети через портал Azure и Azure CLI. Ошибки, которые можно использовать при внедрении виртуальной сети, — это отключение сертификата, увеличение версии сертификата и обновление политики сертификата.

Включение внедрения виртуальной сети

Чтобы использовать Chaos Studio с внедрением виртуальной сети, необходимо выполнить следующие требования.

  1. Поставщики ресурсов Microsoft.ContainerInstance и Microsoft.Relay должны быть зарегистрированы в вашей подписке.
  2. Виртуальная сеть, в которой будут внедряться ресурсы Chaos Studio, должна иметь две подсети: подсеть контейнера и подсеть ретранслятора. Контейнерная подсеть используется для контейнеров Chaos Studio, которые будут интегрированы в вашу частную сеть. Подсеть ретранслятора используется для пересылки связи из Chaos Studio в контейнеры в частной сети.
    1. Обе подсети должны по крайней мере /28 для размера адресного пространства (например /27 , больше /28). Примером является префикс 10.0.0.0/28 адреса или 10.0.0.0/24.
    2. Подсеть контейнера должна быть делегирована Microsoft.ContainerInstance/containerGroups.
    3. Подсети могут быть произвольно именованы, но рекомендуем ChaosStudioContainerSubnet и ChaosStudioRelaySubnet.
    4. Группы безопасности сети (NSG): при использовании групп безопасности сети для управления трафиком убедитесь, что обе подсети разрешают порт 443 для входящего и исходящего трафика. Дополнительные сведения о требованиях к портам см. в разделе "Разрешения и безопасность ".
  3. Если вы включите требуемый ресурс в качестве целевого объекта, чтобы его можно было использовать в экспериментах Chaos Studio, необходимо задать следующие свойства:
    1. Задайте properties.subnets.containerSubnetId идентификатор для подсети контейнера.
    2. Задайте properties.subnets.relaySubnetId идентификатор для подсети ретранслятора.

Если вы используете портал Azure для включения частного ресурса в качестве целевого объекта Chaos Studio, в настоящее время Chaos Studio распознает только подсети с именем ChaosStudioContainerSubnet иChaosStudioRelaySubnet. Если эти подсети не существуют, рабочий процесс портала может создавать их автоматически.

При использовании интерфейса командной строки контейнер и подсети ретранслятора могут иметь любое имя (в соответствии с рекомендациями по именованию ресурсов). Укажите соответствующие идентификаторы при включении ресурса в качестве целевого объекта.

Автоматическое добавление тегов ресурсов эксперимента

Когда эксперимент Chaos Studio настроен для запуска с поддержкой частной сети, Chaos Studio автоматически подготавливает два ключевых ресурса в подписке:

  1. Экземпляр контейнера Azure, который обеспечивает безопасное взаимодействие.
  2. Ретранслятор Azure, который управляет маршрутизацией сети для эксперимента в серверную часть Chaos Studio.

Ранее созданные от имени ресурсов не наследуют теги , примененные к эксперименту, что может привести к конфликтам применения политики Azure в средах, требующих тегов ресурсов.

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

Принцип работы

  • Предварительные требования. Вы создаете эксперимент, предназначенный для ресурсов, находящихся в виртуальной сети.
  • При пометке эксперименту эти же теги автоматически распространяются на любые ресурсы, которые создает Chaos Studio для частной сети.
  • Эти теги будут отображаться на портале Azure, Azure CLI и ЗАПРОСАх API ARM так же, как и в любом другом ресурсе Azure.
  • Дополнительная конфигурация не требуется. Просто применение тегов к эксперименту гарантирует, что они наследуются всеми связанными ресурсами.

Преимущества

Гарантирует соответствие требованиям. Ресурсы теперь соответствуют требованиям к тегам политики Azure .
Улучшает отслеживание ресурсов . Все ресурсы, связанные с экспериментом, несут одни и те же теги для простой идентификации.
Дополнительная настройка не требуется . Работает автоматически при добавлении тегов эксперимента.

Пример. Использование Chaos Studio с частным кластером AKS

В этом примере показано, как настроить частный кластер AKS для использования с Chaos Studio. Предполагается, что у вас уже есть частный кластер AKS в подписке Azure. Чтобы создать его, см. статью "Создание частного кластера службы Azure Kubernetes".

  1. В портал Azure перейдите к >в подписке.

  2. Microsoft.ContainerInstance и Microsoft.Relay зарегистрируйте поставщиков ресурсов, если они еще не зарегистрированы, выбрав их и нажав на «Зарегистрировать». Повторно зарегистрируйте Microsoft.Chaos поставщика ресурсов.

    Снимок экрана: регистрация поставщика ресурсов.

  3. Перейдите в Студию Хаоса и выберите "Целевые объекты". Найдите нужный кластер AKS и выберите Включение целевых объектов>Включение целевых объектов для прямого обслуживания.

    Снимок экрана: включение целевых объектов в Chaos Studio.

  4. Выберите виртуальную сеть кластера. Если виртуальная сеть уже включает подсети с именем ChaosStudioContainerSubnet и ChaosStudioRelaySubnetвыберите их. Если они еще не существуют, они автоматически создаются для вас.

    Снимок экрана: выбор виртуальной сети и подсетей.

  5. Выберите «Рецензирование + Включить»>Включить.

    Снимок экрана, который показывает, как оценить целевую активизацию.

Теперь вы можете использовать частный кластер AKS с Chaos Studio. Чтобы узнать, как установить Chaos Mesh и запустить эксперимент, см. статью "Создание эксперимента хаоса с неисправностью Chaos Mesh с помощью Azure Portal".

Разрешения и безопасность

Необходимые разрешения RBAC

При использовании Chaos Studio с внедрением виртуальной сети управляемое удостоверение для эксперимента должно иметь следующие действия RBAC для развертывания необходимых ресурсов в подписке:

  • Microsoft.Relay/namespaces/* — Создание пространств имен Azure Relay и управление ими
  • Microsoft.Relay/namespaces/privateEndpointConnectionProxies/* — управление соединениями частной конечной точки для ретранслятора
  • Microsoft.ContainerInstance/containerGroups/* — Развертывание экземпляров контейнеров для экспериментов хаоса
  • Microsoft.Network/privateEndpoints/* — Создание частных конечных точек для безопасного подключения
  • Microsoft.Relay/namespaces/hybridConnections/* — управление гибридными подключениями, используемыми для туннелирования

Требования к порту группы безопасности сети (NSG)

Если вы используете группы безопасности сети для управления трафиком в виртуальной сети, необходимо настроить следующие правила портов:

Требования к подсети ретранслятора

Подсеть Relay использует Hybrid Connection Azure Relay для безопасного туннелирования между Chaos Studio и вашими частными ресурсами. Настройте следующие правила:

  • Входящий трафик: разрешить порт 443 (HTTPS) — требуется для получения подключений из Chaos Studio
  • Исходящий трафик: разрешить порт 443 (HTTPS) — требуется для установления подключений к службе Ретрансляции Azure.

Требования к подсети контейнера

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

  • Входящий трафик: разрешить порт 443 (HTTPS) — требуется для того, чтобы контейнер принял трафик гибридного подключения.
  • Исходящий трафик: разрешить порт 443 (HTTPS) — требуется для взаимодействия с целевыми плоскостями данных ресурсов (например, конечными точками API Kubernetes для сбоев Сетки Хаоса)

Замечание

Все коммуникации используют стандартный порт HTTPS 443, как описано в параметрах порта Ретрансляции Azure.

Ограничения

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

  • Когда вы создаёте ресурс Target, который вы включаете с внедрением виртуальной сети, вам требуется Microsoft.Network/virtualNetworks/subnets/write доступ к виртуальной сети. Например, если кластер AKS развернут в virtualNetwork_A, необходимо иметь разрешения, чтобы создавать подсети в virtualNetwork_A, чтобы включить виртуальную сеть для кластера AKS.

  • Ограничение области подписки для внедрения виртуальной сети
    При использовании Chaos Studio с частными сетями (внедрение виртуальной сети) виртуальная сеть (виртуальная сеть), содержащая целевой ресурс (например, кластер AKS), должна находиться в той же подписке Azure , что и эксперимент Chaos Studio.

    Хотя Chaos Studio обычно поддерживает целевые ресурсы в подписках, эта возможность не применяется при включении частной сети. Это связано с тем, что частная конечная точка и другие вспомогательные ресурсы, необходимые для внедрения виртуальной сети, развертываются Студией Chaos Studio в той же подписке, что и эксперимент. Если целевая виртуальная сеть находится в другой подписке, создание частной конечной точки завершится ошибкой из-за ограничений, связанных с пересечением подписок.

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

Следующие шаги

Теперь, когда вы понимаете, как можно реализовать внедрение виртуальной сети для Chaos Studio, вы готовы: