Поделиться через


Настройка Private Link для экспериментов с использованием агентов (предварительная версия)

В этой статье описываются шаги, необходимые для настройки Azure Private Link для эксперимента на базе агента Azure Chaos Studio (предварительный просмотр). Текущий пользовательский интерфейс основан на поддержке частных конечных точек, которая включена в рамках общедоступной предварительной версии функции частных конечных точек. Предполагается, что данный опыт будет развиваться с течением времени, так как эта функция улучшена до качества, соответствующего общедоступной версии. В настоящее время это в предварительном доступе.


Предварительные условия

Примечание.

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


Ограничения

  • Для создания и использования Private Link только для экспериментов на основе агентов необходимо использовать наш интерфейс 2023-10-27-preview REST API. В нашей стабильной версии REST API в состоянии общей доступности отсутствует возможность использования Private Link для экспериментов на основе агентов.
  • Для всего комплексного взаимодействия с этим потоком требуется использовать интерфейс командной строки. Текущий комплексный интерфейс не может быть выполнен из портал Azure.
  • Тип ресурса Chaos Studio Private Accesses (CSPA) соответствует ресурсу Chaos Target: CSPA в строгом соотношении 1:1 (как абстракция для частной конечной точки). Мы разрешаем создавать только пять ресурсов CSPA для каждой подписки , чтобы поддерживать ожидаемый интерфейс для всех наших клиентов.

Создание ресурса Private Access в Chaos Studio

Чтобы использовать частные конечные точки для экспериментов хаоса на основе агента, необходимо создать новый тип ресурса с именем Chaos Studio Private Accesses. CSPA — это ресурс, для которого создаются частные конечные точки.

В настоящее время этот ресурс можно создать только из интерфейса командной строки. См. следующий пример кода для создания этого типа ресурса:

az rest --verbose --skip-authorization-header --header "Authorization=Bearer $accessToken" --method PUT --uri "https://centraluseuap.management.azure.com/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Chaos/privateAccesses/<CSPAResourceName>?api-version=2023-10-27-preview" --body ' 

{ 

   "location": "<resourceLocation>", 

   "properties": { 

       "id": "<CSPAResourceName>", 

       "name": "<CSPAResourceName>", 

       "location": "<resourceLocation>", 

       "type": "Microsoft.Chaos/privateAccesses", 

       "resourceId": "subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Chaos/privateAccesses/<CSPAResourceName>" 

   } 

}'
Имя Обязательно Тип Описание
subscriptionID Истина Строка GUID, представляющий идентификатор подписки Azure.
resourceGroupName Истина Строка Строка, представляющая группу ресурсов Azure.
CSPAResourceName Истина Строка Строка, представляющая имя, которое вы хотите предоставить ресурсу Private Access Chaos Studio.
расположение ресурса Истина Строка Расположение, в котором должен размещаться ресурс (должен быть регионом поддержки в Chaos Studio).

Создание виртуальной сети, подсети и частной конечной точки

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

Убедитесь, что вы подключите его к той же виртуальной сети виртуальной машины. Снимок экрана: примеры создания виртуальной сети, подсети и частной конечной точки. Необходимо задать тип ресурса на Microsoft.Chaos/privateAccesses, как показано на снимке экрана.

Снимок экрана: вкладка

Снимок экрана, показывающий вкладку «Виртуальная сеть» в процессе создания частной конечной точки.

Сопоставление виртуальной машины узла агента с ресурсом CSPA

Найдите целевой Resource ID объектGetTarget, выполнив вызов:

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}?api-version=2023-10-27-preview

Команда GET возвращает большой ответ. Обратите внимание на этот ответ. Мы используем этот ответ и изменяем его перед выполнением PUT Target команды для сопоставления двух ресурсов.


PUT Target Вызовите команду с помощью этого ответа. Перед выполнением команды необходимо добавить еще два поля в текст PUT команды.

Ниже показаны следующие дополнительные поля:

"privateAccessId": "subscriptions/<subID>/...
"allowPublicAccess": false

},

Ниже приведен пример блока для того, как PUT Target должна выглядеть команда, и поля, которые необходимо заполнить:

Примечание.

Скопируйте текст из предыдущей GET команды. Необходимо вручную добавить privateAccessID поля и allowPublicAccess поля.


az rest --verbose --skip-authorization-header --header "Authorization=Bearer $accessToken" --method PUT --uri "https://management.azure.com/subscriptions/<subscriptionID>/resourceGroups/<resourceGroup>/providers/Microsoft.Compute/virtualMachines/<VMSSname>/providers/Microsoft.Chaos/targets/Microsoft-Agent?api-version=2023-10-27-preview " --body ' {
    "id": "/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/microsoft.compute/virtualmachines/<VMSSName>/providers/Microsoft.Chaos/targets/Microsoft-Agent",
    "type": "Microsoft.Chaos/targets",
    "name": "Microsoft-Agent",
    "location": "<resourceLocation>",
    "properties": {
        "agentProfileId": "<from target resource>",
        "identities": [
            {
                "type": "AzureManagedIdentity",
                "clientId": "<clientID>",
                "tenantId": "<tenantID>"
            }
        ],
        "agentTenantId": "CHAOSSTUDIO",
        "privateAccessId": "subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Chaos/privateAccesses/<CSPAresourceName>",
        "allowPublicAccess": false
    }} '

Примечание.

Значение PrivateAccessID должно точно соответствовать значению resourceID, использованному для создания ресурса CSPA в предыдущем разделе Создание ресурса Private Access в Chaos Studio.

Перезапуск службы агента Хаоса Azure на виртуальной машине

После внесения всех необходимых изменений на хост перезапустите службу агента Хаоса Azure на виртуальной машине.

Windows

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

Linux

Для Linux выполните следующую команду из интерфейса командной строки:

Systemctl restart azure-chaos-agent

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

Проведите эксперимент агентской системы с использованием частных конечных точек.

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