我正在进行的项目要求我们使用自己的子域掩盖AWS EC2主机名.
@H_301_2@例如:
@H_301_2@ec2-176-34-163-40.eu-west-1.compute.amazonaws.com
会映射到
gf53ef.domain.com @H_301_2@和 @H_301_2@ec2-123-31-124-60.eu-west-1.compute.amazonaws.com
会映射到
sdfrh5.domain.com @H_301_2@将始终存在可用于存储域之间关系的列表. @H_301_2@这个清单一直在变化.意思是在一分钟内我们可以启动100个新的ec2实例,然后下一个可以终止. @H_301_2@我想知道如何设置我们的ubuntu服务器来处理这种情况. @H_301_2@谢谢
会映射到
gf53ef.domain.com @H_301_2@和 @H_301_2@ec2-123-31-124-60.eu-west-1.compute.amazonaws.com
会映射到
sdfrh5.domain.com @H_301_2@将始终存在可用于存储域之间关系的列表. @H_301_2@这个清单一直在变化.意思是在一分钟内我们可以启动100个新的ec2实例,然后下一个可以终止. @H_301_2@我想知道如何设置我们的ubuntu服务器来处理这种情况. @H_301_2@谢谢
解决方法
我在openstack云上有类似的东西,例如DNS名称更新(可能不像你的要求那样动态;-),基本上我们有一个接受动态更新的绑定命名实例.
@H_301_2@我使用webmin配置使用RNDC的远程控制和基本绑定配置.
@H_301_2@然后生成一个用于远程访问的密钥,并将其分发给您的控制节点;
http://www.zytrax.com/books/dns/ch7/xfer.html @H_301_2@可以从这些教程中获得示例; @H_301_2@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/
dnssec-keygen -a hmac-md5 -b 128 -n HOST remote-key@H_301_2@zone-file最终会像这样;
zone "mydomain.com" { type master; file "master/mydomain.com"; allow-update { key "remote-key"; }; };@H_301_2@allow-update提供the permission更新主区域,allow-notify是从属区域等效. @H_301_2@然后你可以做这样的事情(来自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@H_301_2@(您可能需要仔细检查CNAME示例的格式…) @H_301_2@这似乎是命名的配置参考文档;
http://www.zytrax.com/books/dns/ch7/xfer.html @H_301_2@可以从这些教程中获得示例; @H_301_2@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/