如何删除由我不拥有的域锁定的 Front Door 资源

How to delete a Front Door resource locked by a domain I don't own

如果端点的域仍然使用 CNAME 记录指向前门,Azure Front Door 不允许删除前端端点。即使只有验证域(afdverify)也是如此。

409 Conflict
Cannot delete frontend endpoint "www.example.com" because it is still directly or indirectly (using "afdverify" prefix) CNAMEd to front door "example.azurefd.net". Please remove the DNS CNAME records and try again.

虽然我讨厌无法删除这样的前端,但即使 Front Door 所有者无法更改 DNS 区域,也有一种方法可以解决这个问题——只是不要分配前端端点任何路由规则,不介意;它只占用了开发人员的一点注意力,这使得它有点可以忍受。

问题在于这样的前端甚至阻止了整个前门的删除,这反过来又阻止了整个资源组的删除。

为什么这是个问题?考虑到单个订阅由整个开发团队共享,并且有人创建了一个 Front Door 实例用于实验,使用他自己的域然后离开了团队。现在资源消耗金钱,因为默认前端端点必须至少有一个路由规则,并且路由规则按时间单位付费,并且没有明显的方法可以摆脱它。

除了联系 Microsoft 支持或要求域所有者漂亮地删除指向 Front Door 的记录之外,还有其他方法可以删除这样的 Front Door 实例吗?

2021 年 4 月 5 日,我收到了 Microsoft 的电子邮件,称 Azure 中引入了以下更改:

On 9 April 2021, we're updating Azure Front Door and Content Delivery Network to help prevent dangling DNS entries and the security risks they create. At that time, we'll start requiring the removal of canonical name (CNAME) records for Azure Front Door and Content Delivery Network resource endpoints from DNS before the resources can be deleted.

To delete Azure Front Door or Content Delivery Network resources, you must first remove the resource endpoint CNAME records from DNS starting on 9 April 2021.

If you have questions, get answers from community experts in Microsoft Q&A. If you have a support plan and you need technical help, please create a support request.

如果您根本不拥有该域,您可以做的最好的事情是通过支持计划或您的 CSP 提供商联系 Microsoft,并要求从您的前门实例中删除或移除该域。

我遇到了同样的问题,但已解决。像这样 重新创建 dns 区域,为其添加 CNAME 记录。就像你的情况 afdverify.example.com CNAME,然后去frontdoor资源,删除它。 我想这对你有帮助

我们遇到了同样的问题。在查看 Microsoft 文档时,我们发现 Microsoft 引入了此重大更改 (Terraform provider for ARM issue #11231)。

但似乎可以通过 Azure CLI 为订阅禁用 CNAME 检查 az feature:

az feature register --namespace Microsoft.Network --name BypassCnameCheckForCustomDomainDeletion

首先,运行上述命令,然后转到 Front Door 资源并尝试删除它。

如果您需要再次启用 CNAME 检查:

az feature unregister --namespace Microsoft.Network --name BypassCnameCheckForCustomDomainDeletion

如果您需要检查功能的状态:

az feature list -o table --query "[?contains(name, 'Microsoft.Network/BypassCnameCheckForCustomDomainDeletion')].{Name:name,State:properties.state}"