如何在AWS VPC上实现DHCP,DNS,主机名

这就是我想要发生的事情和我想要的。

我在亚马逊创build了一个VPC,把一个公共子网放进去,把一个puppet服务器实例和一个完整的堆栈web服务器实例放到VPC中。

现在,我将puppet服务器“puppet”和web服务器的主机名设置为“webserver”。

然后我设置一个DHCP域名为“my-company-name.com.local”的设置,使用Amazon提供的DNS,并将其与VPC相关联。 我使用Route 53创build了一个具有相同域名的Zonelogging。

然后我强制这两个实例获得新的DHCP租约和VOILA! 他们获得私人IP地址,DNS自动更新为正向和反向DNS查找。

现在“puppet.mycompany.com.local”可以find“webserver.mycompany.com.local”,反之亦然在我的VPCnetworking的私人方面。

这两个问题是:a)DNS和DHCP如何工作(特别是它们之间的自动合作)? 我不必在DNSlogging中手动inputDHCP分配的IP地址,是吗? B)我如何设置这个工作,最有可能的是,我需要创build什么DNSlogging和其他步骤?

我用了上述问题的细节; 这里有一些额外的东西:

在您的内部托pipe区域(例如在这里),创buildCNAME不是您的主机的logging,例如

test.in. CNAME ip-10-0-9.56.us-west-2.compute.internal 

对于DHCP选项设置,请确保您有以下设置

 domain-name = in domain-name-servers = AmazonProvidedDNS 

看起来有两种方法。 但是,备份第二个,路由53中没有dynamicDNS,也就是AWS上的VPC中的DHCP和DNS之间没有合作。

方法1: http ://www.ducea.com/2009/06/01/howto-update-dns-hostnames-automatically-for-your-amazon-ec2-instances/(需要networking中的Bind9 dns服务器)

方法2: http : //cantina.co/automated-dns-for-aws-instances-using-route-53/ (需要一组脚本和下载的库,并加上一个IAMangular色凭证,允许在每个服务器上进行DNS更新你的系统,一个黑盒子,你的networking烤面包。)

我该怎么办? 无论如何,我需要运行木偶,TheForeman带有Bind9和一个DHCP服务器。 所以我只是奉献一个实例。

如果您正在使用脚本来部署ec2实例:您可以在创build它的同时设置DNSlogging,即(terraform)

 resource "aws_route53_record" "ec2_alias_record" { zone_id = "${var.domain_id}" name = "MyComputer" type = "CNAME" ttl = "300" records = ["${aws_instance.ec2_instance.public_ip}"] } 

您正在创build(重新创build)logging更新的实例。 你可以通过一个循环来创buildN个实例和N个带有count.index + 1variables的logging。 希望这可以帮助。