是否有一个aws提供的功能来自动添加私人DNS到route53

时间:2014-07-23 09:51:44

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

我们在aws中有一个vpc,aws提供了一些功能,可以在手动启动实例时自动将私有DNS添加到route53。

3 个答案:

答案 0 :(得分:1)

如果您已安装boto,则可以添加/更新DNS设置,如下所示:

DNS_ADDRESS="`ec2metadata | grep 'public-hostname:' | cut -d ' ' -f 2`"
/usr/local/bin/route53 change_record <Hosted zone ID> foo.bar.com. CNAME $DNS_ADDRESS 300

DNS_ADDRESS是实例的AWS DNS名称,例如 ec2-1-2-3-4.eu-west-1.compute.amazonaws.com

第二行创建一个带有5分钟TTL的CNAME。您需要添加要更改的域的托管区域ID。

如果您将此代码段放入/etc/rc.local,则实例会在启动时自动更新/创建CNAME。

我不确定你对“私人”DNS的意思。 Route53提供(公共)DNS服务。但是,如果您的实例位于VPC内部,那么将DNS条目公开是没有害处的,因为无论如何都无法访问它们。

答案 1 :(得分:1)

示例脚本:

/usr/local/bin/route53 change_record $Hosted_zone_ID $DNS-Name A $IP 300

$Hosted_zone_ID$DNS-Name$IP是占位符。将它们替换为实际值以运行脚本

答案 2 :(得分:0)

AWS内置的功能不会自动执行此操作,但AWS提供的功能允许您使用简单的工作流程和一些Javascript来自定义各种事物。

例如,我们使用自动缩放组根据需要启动实例,我们使用this blog article作为如何设置AWS Lambda函数的示例,该函数在自动缩放组接收来自自动缩放组的SNS通知时实例上下移动,并为路由53区域添加自定义DNS名称。根据您的需要定制它应该非常简单。