При попытке удалить подсеть в Azure я получаю следующее сообщение: Не удалось сохранить подсеть «DevOps-subnet». Ошибка: «Подсеть GumSite-rg-DevOps / Provider / Microsoft.Network / virtualNetworks / Devopsvnet / subnets / DevOps-subnet»> Devopsvnet / DevOps-subnet требует любого из следующих делегаций [Microsoft.Web / serverFarms] для ссылки ссылка на сервисную ассоциацию / подписки / * * * * /resourceGroups/GumSite-rg-devops/providers/Microsoft.Network/virtualNetworks/Devopsvnet/subnets/devops-subnet/serviceAssociationLinks/AppServiceLink. '
⚠ Не редактируйте этот раздел.
@yvesgermain Спасибо за
Вот статья Microsoft «Невозможно удалить виртуальную сеть из-за serviceAssociationLinks / AppServiceLink», которая напоминает мою ситуацию:
https://social.msdn.microsoft.com/Forums/en-US/f3fa0fb2-d930-484c-90a5-6860e360d87f/unable-to-delete-vnet-due-to-serviceassociationlinksappservicelink?forum=WAVirtualMachinesVirtualNetwork
Вот статья, которая напоминает мою ситуацию: Невозможно удалить виртуальную сеть из-за serviceAssociationLinks / AppServiceLink: https://social.msdn.microsoft.com/Forums/en-US/f3fa0fb2-d930-484c-90a5-6860e360d87f/unable-to- delete-vnet-due-to-serviceassociationlinksappservicelink? forum = WAVirtualMachinesVirtualNetwork
Вот ссылка на статью, которая напоминает мою ситуацию:
Невозможно удалить виртуальную сеть из-за serviceAssociationLinks / AppServiceLink
@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 Если вы удалили службу приложений и ссылку, но подсеть не может быть удалена, вам нужно будет создать запрос в службу поддержки.
Если у вас нет плана поддержки, напишите мне по адресу [email protected], указав свой идентификатор подписки и ссылку на этот пост, и я
Есть идеи, когда эта ошибка будет исправлена?
Я была такая же проблема. У меня была служба приложений, подключенная к подсети. Я удалил план службы приложений вместе со службой приложений, что нарушило мою виртуальную сеть и не позволило удалить связанную подсеть. Чтобы исправить решение:
@blendsdk это может вам помочь
@sergevm Если вы удалили службу приложений и ссылку, но подсеть не может быть удалена, вам нужно будет создать запрос в службу поддержки.
Если у вас нет плана поддержки, напишите мне по адресу [email protected], указав свой идентификатор подписки и ссылку на этот пост, и я
Я отправил сообщение на адрес [email protected], но,
@frehnejc Я создал запрос в служба поддержки исправила это. Не нужно было отправлять почту.
@frehnejc Спасибо за
@frehnejc Спасибо за
Спасибо, также есть проблемы с невозможностью удаления группового IP-адреса при наличии лазурного брандмауэра, могу ли я зарегистрировать билет и на нем?
@frehnejc Можно, но будет проще попросить инженера позаботиться об этом с тем же запросом в
Я столкнулся с этим с экземплярами контейнера, и вот что я сделал, чтобы удалить это, когда мой экземпляр контейнера был удален, и я не мог удалить делегирование.
использование az cli с зарегистрированным пользователем для получения токена jwt
az account get-access-token --resource https://management.azure.com/
затем с помощью почтальона выполните следующие вызовы:
добавить в заголовки: "Авторизация: Bearer | accesstoken from 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
В случае службы приложений вам необходимо очистить связь в разделе План службы приложений> Сеть, в котором будут перечислены все ссылки, которые ваша сеть имеет на любое из приложений, включая слоты.
После того, как вы отключите виртуальную сеть от службы приложения и слота, вы сможете снова установить для делегирования значение Нет, отменить выбор конечной точки службы и, наконец, удалить подсеть соответственно.
@dgcaron, это сработало! Большое спасибо.
@dgcaron ,
С вашей помощью мне удалось удалить виртуальную сеть с помощью PowerShell.
Большое спасибо!
[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) }
Я была такая же проблема. У меня была служба приложений, подключенная к подсети. Я удалил план службы приложений вместе со службой приложений, что нарушило мою виртуальную сеть и не позволило удалить связанную подсеть. Чтобы исправить решение:
- Создайте план службы приложений с тем же именем, что и удаленный
- Создайте службу приложений с тем же именем, что и удаленная
- Связывание службы приложений с подсетью VNET
- Отключить виртуальную сеть от службы приложений -> Сеть -> Интеграция виртуальной сети -> Отключить
- Удалить подсеть
@blendsdk это может вам помочь
@ybutkevych, это сработало для меня! Большое спасибо.
Я была такая же проблема. У меня была служба приложений, подключенная к подсети. Я удалил план службы приложений вместе со службой приложений, что нарушило мою виртуальную сеть и не позволило удалить связанную подсеть. Чтобы исправить решение:
- Создайте план службы приложений с тем же именем, что и удаленный
- Создайте службу приложений с тем же именем, что и удаленная
- Связывание службы приложений с подсетью VNET
- Отключить виртуальную сеть от службы приложений -> Сеть -> Интеграция виртуальной сети -> Отключить
- Удалить подсеть
@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/
затем с помощью почтальона выполните следующие вызовы:
добавить в заголовки: "Авторизация: Bearer | accesstoken from 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. Работает успешно, но ссылку не удаляет.
Можем ли мы исправить это? Если вы не предоставляете способ отключения vnet в случае удаления службы приложения и ASP, то вы, вероятно, создадите для нас довольно много билетов поддержки в непроизводственных средах, где удаляются целые группы ресурсов. и повторное развертывание более распространено.
Почему это закрыто? Это существующая ошибка / проблема / проблема.
Самый полезный комментарий
Я была такая же проблема. У меня была служба приложений, подключенная к подсети. Я удалил план службы приложений вместе со службой приложений, что нарушило мою виртуальную сеть и не позволило удалить связанную подсеть. Чтобы исправить решение:
@blendsdk это может вам помочь