在完整的资源组部署期间,如果模板中未指定资源,则预期资源将被删除。
但是,在我的情况下(使用带有 CNAME 的 DNS 区域部署 RSG),如果通过 copy/copyIndex 迭代器指定 CNAME,则不会删除从数组参数投影后丢失的 CNAME。
我有一个基本模板可以重现这个问题。
- 将 CNAME 记录添加到参数文件。
- 部署模板(完成)并验证 CNAME 是否已创建。
- 从参数文件中删除 1 个或多个 CNAME 记录。
- 部署模板(完成)并观察已删除的 CNAME 资源没有被删除。
我找不到任何解释此行为警告的文档,所以我不确定这是错误还是预期行为?
编辑/跟进:
如果我采取“严厉”的方法对整个 DNS 区域进行核攻击,然后立即使用新模板重新部署它,这是否会导致 DNS 服务出现问题,假设重新部署没有问题并且此操作发生在在受影响资源的 TTL 下?
虽然这听起来很合理,但我的直觉告诉我,这将永远是一个无法保证的竞争条件。即: - 如果“客户端”TTL 在我核对区域后立即过期,则 DNS 查找将失败,直到发生重新部署并且记录在 Azure DNS 中生效。
但这提出了问题:
- 如果我删除区域,Azure DNS 是否仍会缓存 TTL?
编辑:根据这里的内容,答案似乎“不是真的” :对现有 DNS 记录的更改可能需要更长的时间,但仍应在 60 秒内反映在 Azure DNS 名称服务器上
- 如果我在 nuking 之前重新部署当前版本,是否可以有效地重置 Azure DNS 缓存(如果存在)?
- 编辑:基于 ^^^,这给了我 <= (60 sec - TimeToRegisterInAzureDNS)。