如何让Route 53域名服务器在terraform destroy后留存以复用?
可行实现方案
拆分Route53资源配置,单独保留不销毁
将Route53托管区域的定义抽离成独立的Terraform配置文件(比如route53-static.tf),只包含托管区域和基础NS记录。首次部署时先执行这个配置的terraform apply,之后仅对站点相关资源的配置执行apply和destroy操作。这样托管区域会一直保留,对应的NS服务器不会变更,无需重复修改域名的DNS设置。复用历史NS记录创建Route53区域
首次创建Route53区域时,把生成的NS记录值存入Terraform远程状态(如S3存储的状态文件)。下次执行terraform apply重建站点时,从远程状态中读取之前的NS值,在创建新的Route53区域时通过name_servers参数强制指定这些NS服务器。注意要确认这些NS服务器仍属于AWS可用的Route53集群,避免服务异常。预创建托管区域并导入Terraform保护
先在AWS控制台手动创建好Route53托管区域,记录对应的NS服务器。然后用terraform import命令将该托管区域导入到你的Terraform配置中,同时在资源定义里添加prevent_destroy = true参数防止被误销毁。后续销毁站点资源时,托管区域会被保留,NS设置无需重复配置。
内容的提问来源于stack exchange,提问作者Zubin
相关产品推荐
相关产品推荐

