You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Terraform直接更新AWS Route53已注册域名的Nameservers?

解决方案

完全可以不借助外部脚本或provisioner实现需求,Terraform AWS Provider提供了原生资源aws_route53domains_registered_domain,用于管理在AWS Route53域名服务中注册的域名的基础配置,底层直接调用UpdateDomainNameservers接口更新域名的NS记录。

配置示例

你可以直接在现有配置基础上添加该资源,关联已创建的Route53托管区的名称服务器即可:

resource "aws_route53_zone" "redrebelgames" {
  name = "redrebelgames.com"
}

resource "aws_route53domains_registered_domain" "redrebelgames" {
  domain_name = "redrebelgames.com"

  # 直接引用托管区返回的名称服务器,动态生成配置适配不同数量的返回结果
  dynamic "name_server" {
    for_each = aws_route53_zone.redrebelgames.nameservers
    content {
      name = name_server.value
    }
  }

  # 可选配置,不填则保留域名原有配置
  auto_renew         = true
  registrant_privacy = true
}

注意事项

  • 该资源仅适用于在AWS注册的域名,如果你的域名是从第三方注册商购买的,需要使用对应注册商的Terraform Provider或到注册商控制台手动修改NS配置。
  • 如果该域名已经在你的AWS账号下存在,需要先执行导入命令将资源纳入Terraform状态管理,避免异常操作:
    terraform import aws_route53domains_registered_domain.redrebelgames redrebelgames.com
    
  • NS配置更新后需要等待全球DNS节点同步,通常生效时间为几小时到48小时不等。

内容的提问来源于stack exchange,提问作者Ryan Glenn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 08:45:04