使用 Terraform,如何将多个搜索域添加到 AWS EC2 实例的 /etc/resolve.conf?

使用 Terraform,如何将多个搜索域添加到 AWS EC2 实例的 /etc/resolve.conf?

在我的 AWS ec2 Linux 实例中,我需要我的 /etc/resolve.conf 文件看起来像

search my.domain my.other.domain
nameserver 10.10.10.10

我的地形物体看起来像

resource "aws_vpc_dhcp_options" "dns_option" {
    domain_name = "${var.environment}.my.domain"
    domain_name_servers = ["${split(",", var.vpc_dns_server)}"]
}

我想我需要添加多个 domain_name 对象?

答案1

您需要执行以下操作:

  1. 将 aws_vpc_dhcp_options_association 添加到您的代码中:

    resource "aws_vpc_dhcp_options_association" "vpc_dhcp_association" { vpc_id = "vpc-abcdefab" dhcp_options_id = "${aws_vpc_dhcp_options.dns_option.id}" }

    • 对于您的 VPC ID,您可以使用类似的方式引用它 ${aws_vpc.myvpc.id}
  2. 要在 resolv.conf 文件中拥有多个域,您需要将多个域名用space以下方式分隔:

    resource "aws_vpc_dhcp_options" "dns_option" { domain_name = "${var.environment1}.my.domain ${var.environment2}.my.other.domain" }

答案2

由于 AWS 限制,无法指定多个搜索域。

AWS DHCP domain_name值(正确地)发送给客户端DHCP 选项 15,仅支持单个域名(无空格)。

DHCP 选项 119需要支持domain search列表,但 AWS DHCP 实现不支持

相关内容