【问题标题】:Terraform - AWS Route53 Prevent Domain DeletionTerraform - AWS Route53 防止域删除
【发布时间】:2018-10-07 12:37:13
【问题描述】:

我正在使用 terraform 和 AWS 来管理环境,并希望能够引用现有的 route53 域、添加/修改域中的记录等。

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

在 terraform 配置中是否有“正确”的方法来完成此任务?目前,我将域信息(区域 ID 等)硬编码到 .tf 文件中,但是如果有办法从资源本身引用它,而不会允许 TF 破坏看起来很理想的域。

任何帮助将不胜感激!

谢谢,

克里斯

【问题讨论】:

    标签: amazon-web-services terraform amazon-route53


    【解决方案1】:

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

    【讨论】:

    • 谢谢,这通常很有帮助,但在这种情况下,我不希望它抛出错误,我只是希望它离开域并以看起来成功的方式销毁其他所有内容(一个错误无疑会迷惑别人)。我想我已经找到了解决方案(请参阅下面对我的问题的回答)。
    【解决方案2】:

    我相信我找到了我正在寻找的答案,即将域定义为“数据”而不是我的 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 而无需在其中硬编码随机字符串,但不会触及域本身的基础。

    谢谢!

    【讨论】:

      猜你喜欢
      • 2018-05-06
      • 2017-07-25
      • 1970-01-01
      • 1970-01-01
      • 2022-01-26
      • 2017-07-05
      • 2019-06-25
      • 2015-12-06
      • 2020-08-07
      相关资源
      最近更新 更多