Terraform - AWS Route53 防止域删除

Terraform - AWS Route53 Prevent Domain Deletion

我将 terraform 与 A​​WS 结合使用来管理环境,并希望能够引用现有的 route53 域、add/modify 域中的记录等。

如果我 运行 "terraform destroy" 我想删除在 terraform 代码中添加的所有记录,但我不想删除域本身。

在 terraform 配置中是否有 "proper" 方法来完成此操作?目前,我将域信息(区域 ID 等)硬编码到 .tf 文件中,但如果有一种方法可以从资源本身引用它,而不允许 TF 破坏看起来很理想的域。

如有任何帮助,我们将不胜感激!

谢谢,

克里斯

我认为您只是在寻找 terraform 资源生命周期选项,防止破坏。 https://www.terraform.io/docs/configuration/resources.html#prevent_destroy。将此添加到您的 aws_route53_zone 资源。

我相信我找到了我正在寻找的答案,即将域定义为 "data" 而不是我的 TF 代码中的资源。

data "aws_route53_zone" "my_zone" {
  name = "myzone.net"
}

resource "aws_route53_record" "myzone_net_mx_record" {
  zone_id = "${data.aws_route53_zone.my_zone.zone_id}"
  name    = "*.myzone.net."
  type    = "MX"

  records = [
    "10 inbound-smtp.us-west-1.amazonaws.com"
  ]

  ttl = "300"
}

这允许我引用区域 ID 而无需在其中硬编码随机字符串,但不会触及域本身的基础。

谢谢!