我正在进行的项目要求我们使用自己的子域掩盖AWS EC2主机名.
例如:
ec2-176-34-163-40.eu-west-1.compute.amazonaws.com
会映射到
gf53ef.domain.com
和
ec2-123-31-124-60.eu-west-1.compute.amazonaws.com
会映射到
sdfrh5.domain.com
将始终存在可用于存储域之间关系的列表.
这个清单一直在变化.意思是在一分钟内我们可以启动100个新的ec2实例,然后下一个可以终止.
我想知道如何设置我们的ubuntu服务器来处理这种情况.
谢谢
解决方法
我在openstack云上有类似的东西,例如DNS名称更新(可能不像你的要求那样动态;-),基本上我们有一个接受动态更新的绑定命名实例.
我使用webmin配置使用RNDC的远程控制和基本绑定配置.
然后生成一个用于远程访问的密钥,并将其分发给您的控制节点;
dnssec-keygen -a hmac-md5 -b 128 -n HOST remote-key
zone-file最终会像这样;
zone "mydomain.com" { type master; file "master/mydomain.com"; allow-update { key "remote-key"; }; };
allow-update提供the permission更新主区域,allow-notify是从属区域等效.
然后你可以做这样的事情(来自bind-utils的nsupdate)来更新客户端的记录,我没有测试过CNAME更新,但它应该看起来像这样;
cat <<EOF | nsupdate -d -k "$KEY" server ns1.mynameserver.com zone domain.com update delete gf53ef.domain.com. update add gf53ef.domain.com. IN CNAME ec2-176-34-163-40.eu-west-1.compute.amazonaws.com. send EOF
(您可能需要仔细检查CNAME示例的格式…)
这似乎是命名的配置参考文档;
http://www.zytrax.com/books/dns/ch7/xfer.html
可以从这些教程中获得示例;
http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-bind-rndc.html
http://dag.wieers.com/howto/bits/bind-ddns.php
http://linux.yyz.us/nsupdate/
http://www.semicomplete.com/articles/dynamic-dns-with-dhcp/