你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

为基于代理的试验配置专用链接(预览版)

本文介绍为基于 Azure Chaos Studio 代理的试验 配置 Azure 专用链接所需的步骤(预览版)。 当前的用户体验基于专用终结点支持,该支持是专用终结点功能公开预览版的一部分。 随着该功能增强到正式发布 (GA) 质量,预计这种体验会随着时间的推移而改进。 它目前处于预览状态。


先决条件

注意

如果目标资源是使用 Azure 门户创建的,则混沌代理虚拟机 (VM) 扩展会自动安装在主机 VM 上。 如果使用 Azure CLI 启用目标,请按照 Chaos Studio 文档首先在 VM 上安装 VM 扩展。 在完成专用终结点设置之前,VM 扩展将报告运行不正常状态。 这是预期的行为。


限制

  • 需要使用 2023-10-27-preview REST API 来创建和使用专用链接,以便仅用于基于代理的试验。 在 2024 年上半年之前,我们的 GA 稳定 REST API 中不支持用于基于代理的试验的专用链接
  • 此流的整个端到端体验需要使用 CLI。 当前的端到端体验无法在 Azure 门户完成。
  • Chaos Studio Private Accesses (CSPA) 资源类型针对混沌目标:CSPA 资源(专用终结点的抽象)有严格的 1:1 映射。 我们仅允许为每个订阅创建 5 个 CSPA 资源,以维护所有客户的预期体验。

创建 Chaos Studio 专用访问资源

若要将专用终结点用于基于代理的混沌试验,需要创建名为“Chaos Studio 专用访问”的新资源类型。 CSPA 是创建专用终结点所依据的资源。

目前,该资源只能从 CLI 创建。 请参阅以下示例代码,了解如何创建此资源类型:

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 True 字符串 表示 Azure 订阅 ID 的 GUID。
resourceGroupName True 字符串 表示 Azure 资源组的字符串。
CSPAResourceName True 字符串 表示要为 Chaos Studio 专用访问资源指定的名称的字符串。
resourceLocation True 字符串 要托管资源的位置(必须是 Chaos Studio 支持的区域)。

创建虚拟网络、子网和专用终结点

如果尚未设置试验所需的虚拟网络、子网和终结点,请进行设置。

请确保将其附加到同一 VM 的虚拟网络。 屏幕截图提供了创建虚拟网络、子网和专用终结点的示例。 需要将“资源类型”设置为“Microsoft.Chaos/privateAccesses”,如屏幕截图所示

屏幕截图显示了创建专用终结点时使用的“资源”选项卡。

屏幕截图显示了创建专用终结点时使用的“虚拟网络”选项卡。

将代理主机 VM 映射到 CSPA 资源

通过调用 GetTarget 查找目标 Resource ID

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 命令复制正文。 需要手动追加 privateAccessIDallowPublicAccess 字段。


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 值应与在前面“创建 Chaos Studio 专用访问资源”一节中用于创建 CSPA 资源的 resourceID 值完全匹配

在 VM 中重启 Azure Chaos 代理服务

对主机进行所有必要的更改后,请重启 VM 中的 Azure Chaos 代理服务。

Windows

显示如何重启 Windows VM 的屏幕截图。

Linux

对于 Linux,请从 CLI 运行以下命令:

Systemctl restart azure-chaos-agent

显示如何重启 Linux VM 的屏幕截图。

使用专用终结点运行基于代理的试验

重启后,Azure Chaos 代理应能够与代理通信数据平面服务通信,并且代理应成功注册到数据平面。 成功注册后,代理可以使用检测信号来指示其状态。 然后,你可以使用专用终结点继续运行基于 Azure Chaos 代理的试验。