我正在使用灵活消费 SKU 将 Azure Functions 部署到虚拟网络上的子网。子网被委托给 Microsoft.App/environments,并且与部署相关的所有内容都可以完美运行,直到我删除它并尝试再次部署它。
就上下文而言,我们有一个开发环境,每天晚上我都会将其拆除以节省成本,每天早上我都会部署资源,除了 Flex Conspiration 应用程序之外,一切都运行良好。具体到功能应用程序,我使用以下 Azure CLI 命令来删除它,您会注意到,我在删除资源本身之前将其与虚拟网络断开连接,以确保我不会使其处于奇怪的状态:
az webapp vnet-integration remove --name $resource.name --resource-group $resourceGroup.name
az resource delete --ids $resource.id
将相同的 Function App 部署到同一子网失败,并出现以下错误:
Internal Server Error
错误本身并不是特别有用,但是当您尝试删除或编辑子网时,您会收到更有用的错误:
Failed to delete subnet 'xxxx'. Error: Subnet xxxx is in use by /subscriptions/xxxx/resourceGroups/xxxx/providers/Microsoft.Network/virtualNetworks/xxxx/subnets/xxxx/serviceAssociationLinks/legionservicelink and cannot be deleted. In order to delete the subnet, delete all the resources within the subnet.
它告诉我正在使用的资源,legionservicelink,似乎是原始链接到 Function App 的遗留问题,据我所知,并不是由我管理的实际资源。我当然在订阅中找不到它来删除它。
我已经向 Microsoft 开具了票证,他们建议我在删除该应用程序之前应该从网络中删除该应用程序,但你可以看到我确实这么做了。
有谁知道子网处于这种状态后如何删除它?显然我需要先删除使用它的任何内容,但我找不到删除它的资源。
删除子网“xxxx”失败。错误:子网 xxxx 已被 /subscriptions/xxxx/resourceGroups/xxxx/providers/Microsoft.Network/virtualNetworks/xxxx/subnets/xxxx/serviceAssociationLinks/legionservicelink 使用,无法删除。要删除子网,请删除子网内的所有资源。
由于与子网关联的服务链接而遇到的错误。请使用下面的 cmdlet 检查子网详细信息。
az network vnet subnet show -g my-resource-group -n kamsubnet3 --vnet-name kamvnet3
输出:
删除 Function App 后,请等待几分钟,然后再尝试将其删除或重新部署到子网。
如果仍有服务链接连接到子网,请删除委派并等待几分钟以正确更新子网。
删除委派后,请尝试再次删除子网或在同一子网中创建函数应用。
az network vnet subnet delete --name kamsubnet3 --resource-group my-resource-group --vnet-name kamvnet3
参考:
https://learn.microsoft.com/en-us/answers/questions/140197/unable-to-delete-vnet-due-to-serviceassociationlin作者:suvasara-MSFT