Terraform - AWS Route53 防止域删除
Terraform - AWS Route53 Prevent Domain Deletion
我将 terraform 与 AWS 结合使用来管理环境,并希望能够引用现有的 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 而无需在其中硬编码随机字符串,但不会触及域本身的基础。
谢谢!
我将 terraform 与 AWS 结合使用来管理环境,并希望能够引用现有的 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 而无需在其中硬编码随机字符串,但不会触及域本身的基础。
谢谢!