Azure-docs: 删除子网服务时出错,AssociationLinks AppServiceLink

创建于 2020-02-25  ·  28评论  ·  资料来源: MicrosoftDocs/azure-docs

尝试在Azure中删除子网时,出现以下消息:无法保存子网'devops-subnet'。 错误:“子网GumSite-rg-devops / providers / Microsoft.Network / virtualNetworks / Devopsvnet / subnets / devops-subnet”> Devopsvnet / devops-subnet需要以下任何委托[Microsoft.Web / serverFarms]进行引用服务关联链接/ subscriptions / * * * * /resourceGroups/GumSite-rg-devops/providers/Microsoft.Network/virtualNetworks/Devopsvnet/subnets/devops-subnet/serviceAssociationLinks/AppServiceLink。


文件详细资料

请勿编辑此部分。

Pri3 cxp product-question triaged virtual-networsvc

最有用的评论

我遇到过同样的问题。 我将App Service连接到了子网。 我与App Service一起删除了App Service计划,这破坏了我的VNet,并且不允许删除关联的子网。 为了解决方案:

  1. 使用与已删除的名称相同的名称创建应用服务计划
  2. 创建与已删除应用名称相同的应用服务
  3. 将App Service与VNET子网链接
  4. 断开VNet与App Service的连接->网络-> VNet集成->断开连接
  5. 删除子网

@blendsdk这可能对您有帮助

所有28条评论

@yvesgermain感谢您与我们联系! 为了最好地解决您的问题,是否可以向我们提供您正在关注的MS Doc的URL(如果有)?

这是类似于我的情况的文章:由于serviceAssociationLinks / AppServiceLink而无法删除VNet: https

@yvesgermain感谢您的回复。 我已将其发送给适当的团队进行调查和更新。

@yvesgermain这是一个已知问题,您唯一可以删除此方法的方法是联系Azure支持。 如果您没有支持计划,请通过[email protected]给我

现在,我们将关闭该线程。 如果对此问题还有其他疑问,请在回复中标记我。 我们将很高兴继续讨论,并将重新讨论该问题。

似乎有一个相关的问题,即当我尝试删除子网时,出现错误:

Failed to delete subnet 'xxx'. Error: Subnet xxx is in use by my-resource-group/providers/Microsoft.Network/virtualNetworks/my-vnet/subnets/xxx/serviceAssociationLinks/AppServiceLink'>my-vnet/xxx/AppServiceLink and cannot be deleted. In order to delete the subnet, delete all the resources within the subnet. See aka.ms/deletesubnet.

这也是只能通过拨打技术支持电话才能解决的问题吗?

@sergevm如果您删除了App Service和链接,但是仍无法删除子网,则需要创建支持请求。

如果您没有支持计划,请通过[email protected]给我

知道何时可以修复此错误?

我遇到过同样的问题。 我将App Service连接到了子网。 我与App Service一起删除了App Service计划,这破坏了我的VNet,并且不允许删除关联的子网。 为了解决方案:

  1. 使用与已删除的名称相同的名称创建应用服务计划
  2. 创建与已删除应用名称相同的应用服务
  3. 将App Service与VNET子网链接
  4. 断开VNet与App Service的连接->网络-> VNet集成->断开连接
  5. 删除子网

@blendsdk这可能对您有帮助

@sergevm如果您删除了App Service和链接,但是仍无法删除子网,则需要创建支持请求。

如果您没有支持计划,请通过[email protected]给我

我向[email protected]发送了一条消息,但似乎没有人响应。

@frehnejc我在Azure门户中创建了一个支持请求,此问题很快得到了支持的修复。 不必发送邮件。

@frehnejc感谢您的跟进! 我能够找到您的电子邮件,并为免费支持请求启用了您的订阅。

@frehnejc感谢您的跟进! 我能够找到您的电子邮件,并为免费支持请求启用了您的订阅。

谢谢,还有在天青防火墙存在时无法删除组IP的问题,我也可以在该日志上记录票证吗?

@frehnejc您可以,但是通过相同的支持请求让工程师来解决这个问题会更容易。 如果工程师要求您再做一张票,而您却无能为力,请回复我的电子邮件,如果需要,我将启用另一个支持请求。

我在容器实例中遇到了这个问题,这是在删除容器实例并且无法删除委托时我要删除的操作。

将az cli与登录的用户一起使用以获得jwt令牌

az account get-access-token --resource https://management.azure.com/

然后使用邮递员发出以下呼叫:

添加到标题:“授权:承载|来自cli的访问令牌”

DELETE  Service Association
 https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/providers/Microsoft.ContainerInstance/serviceAssociationLinks/default?api-version=2018-10-01

DELETE Network Profle
 https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}?api-version=2020-05-01

在此之后,我可以使用门户网站,cli或powershell删除委托

如果是应用服务,则需要清除“应用服务计划”>“网络”下的关联,该关联将列出您的网络与任何应用(包括插槽)的所有链接。
将vnet与应用程序服务和插槽断开连接后,您应该可以将委派设置回无,并取消选择服务端点,最后可以分别删除子网。

@dgcaron

@dgcaron
在您的帮助下,我能够使用PowerShell删除VNet。
非常感谢你!

[string]$ResourceGroupName = 'MyResourceGroupName'
[string]$VirtualNetworkName = 'VNetName'
[string]$SubnetName = 'SubnetName'

$CurrentAzureContext = Get-AzContext
$AzureRmProfile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile
$ProfileClient = New-Object Microsoft.Azure.Commands.ResourceManager.Common.RMProfileClient($AzureRmProfile)
$Token = $ProfileClient.AcquireAccessToken($CurrentAzureContext.Tenant.TenantId)
[string]$AccessToken = $Token.AccessToken
[string]$ManagementEp = $CurrentAzureContext.Environment.ResourceManagerUrl

[string]$NetworkProfileName = (Get-AzNetworkProfile -ResourceGroupName $ResourceGroupName).Name

[string]$Uri1 = "$($ManagementEp)subscriptions/$($CurrentAzureContext.Subscription.Id)/resourceGroups/$ResourceGroupName/providers/Microsoft.Network/virtualNetworks/$VirtualNetworkName/subnets/$SubnetName/providers/Microsoft.ContainerInstance/serviceAssociationLinks/default?api-version=2018-10-01"
[string]$Uri2 = "$($ManagementEp)subscriptions/$($CurrentAzureContext.Subscription.Id)/resourceGroups/$ResourceGroupName/providers/Microsoft.Network/networkProfiles/$($NetworkProfileName)?api-version=2020-05-01"

Invoke-RestMethod -Method Delete -Uri $Uri1 -Headers @{"Authorization" = ("Bearer " + $AccessToken) }

Invoke-RestMethod -Method Delete -Uri $Uri2 -Headers @{"Authorization" = ("Bearer " + $AccessToken) }

我遇到过同样的问题。 我将App Service连接到了子网。 我与App Service一起删除了App Service计划,这破坏了我的VNet,并且不允许删除关联的子网。 为了解决方案:

  1. 使用与已删除的名称相同的名称创建应用服务计划
  2. 创建与已删除应用名称相同的应用服务
  3. 将App Service与VNET子网链接
  4. 断开VNet与App Service的连接->网络-> VNet集成->断开连接
  5. 删除子网

@blendsdk这可能对您有帮助

@ybutkevych这对我

我遇到过同样的问题。 我将App Service连接到了子网。 我与App Service一起删除了App Service计划,这破坏了我的VNet,并且不允许删除关联的子网。 为了解决方案:

  1. 使用与已删除的名称相同的名称创建应用服务计划
  2. 创建与已删除应用名称相同的应用服务
  3. 将App Service与VNET子网链接
  4. 断开VNet与App Service的连接->网络-> VNet集成->断开连接
  5. 删除子网

@blendsdk这可能对您有帮助

以后遇到同样问题的人,请按照以下步骤操作,我只是尝试了一下,然后解决了我的问题。

@dgcaron ,感谢您进行API文档的挖掘:)这是清理的bash脚本:

#!/bin/bash
# Requires "httpie" command line tool

# Set variables with your identifiers...
subscriptionId=""
resourceGroupName=""
virtualNetworkName=""
subnetName=""

# To get the profile name, try subnet delete with CLI or portal and check the error message
# Should be something like this:
networkProfileName="aci-network-profile-vnet-foo-01-subnet-bar-01"

token=$(az account get-access-token --resource https://management.azure.com/ --query accessToken -o tsv)
http DELETE https://management.azure.com/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.Network/virtualNetworks/${virtualNetworkName}/subnets/${subnetName}/providers/Microsoft.ContainerInstance/serviceAssociationLinks/default?api-version=2018-10-01 \
"Authorization: Bearer ${token}"

http DELETE https://management.azure.com/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.Network/networkProfiles/${networkProfileName}?api-version=2020-05-01 \
"Authorization: Bearer ${token}"

@jannekeskitalo的解决方案对我来说效果很好。 但是我的环境中没有httpie,因此以下是使用curl的相同实现。

#!/bin/bash

# Set variables with your identifiers...
subscriptionId=""
resourceGroupName=""
virtualNetworkName=""
subnetName=""

# To get the profile name, try subnet delete with CLI or portal and check the error message
# Should be something like this:
networkProfileName="aci-network-profile-vnet-foo-01-subnet-bar-01"

token=$(az account get-access-token --resource https://management.azure.com/ --query accessToken -o tsv)

curl -H "Authorization: Bearer ${token}" -X DELETE https://management.azure.com/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.Network/virtualNetworks/${virtualNetworkName}/subnets/${subnetName}/providers/Microsoft.ContainerInstance/serviceAssociationLinks/default?api-version=2018-10-01
curl -H "Authorization: Bearer ${token}" -X DELETE https://management.azure.com/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.Network/networkProfiles/${networkProfileName}?api-version=2020-05-01

@dgcaron非常感谢! 由于您的帮助,我能够删除子网委派。

@jannekeskitalo @boonwj

我认为最简单的解决方案是像这样使用az rest

az rest --method delete --uri https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/providers/Microsoft.ContainerInstance/serviceAssociationLinks/default?api-version=2018-10-01

我在容器实例中遇到了这个问题,这是在删除容器实例并且无法删除委托时我要删除的操作。

将az cli与登录的用户一起使用以获得jwt令牌

az account get-access-token --resource https://management.azure.com/

然后使用邮递员发出以下呼叫:

添加到标题:“授权:承载|来自cli的访问令牌”

DELETE  Service Association
 https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/providers/Microsoft.ContainerInstance/serviceAssociationLinks/default?api-version=2018-10-01

DELETE Network Profle
 https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkProfiles/{networkProfileName}?api-version=2020-05-01

在此之后,我可以使用门户网站,cli或powershell删除委托

这行得通,谢谢!

@ TravisCragg-MSFT是否可以正确解决此问题,而不是强迫所有这些人与支持人员联系?

az cli命令对于AppServiceLinks似乎不起作用。 它运行成功,但是链接不会删除。

我们可以为此得到实际的解决方法吗? 如果在删除应用程序服务和ASP的情况下没有提供断开vnet的方法,那么在删除整个资源组的非生产环境中,您可能会为我们生成很多支持票证再次部署更为常见。

为什么关闭? 这是一个现有的错误/问题/问题。

此页面是否有帮助?
0 / 5 - 0 等级