我有一个Ansible手册,用于启动和构建一个全新的GNU / Linux盒子并安装vsftpd。
我有一个客户端需要通过SFTP发送每晚文件。我已经指示发送到ftp.example.com。
我需要能够非常快速地针对任何基础设施提供商(例如DigitalOcean,AWS,Rackspace等)运行游戏手册,并且即使客户端仍然没有任何变化,即使(如果是这样的话)也会收到夜间文件上传)服务器的IP已更改。因此,有一天晚上,服务器可能位于NewYork的DigitalOcean盒子上,下一个位于爱尔兰的AWS盒子上。
现在,显然我可以使用具有良好API的DNS名称服务器提供程序来编写代码并将A记录重置为playbook运行的一个阶段。但是,这可能意味着在刷新客户端的DNS缓存之前,他们仍然会将ftp.example.com视为先前的服务器。
那么,我怎样才能保证在没有客户任何互动的情况下这样做。
非常感谢
答案 0 :(得分:0)
就DNS而言,你不能。 Evan如果你在DNS记录上设置了低TTL(生存时间/到期时间)许多DNS服务缓存短TTL,最长可达72小时。
我的建议是不要有一个需要不断更改IP的基础设施。
可能更好的解决方案是使用像BitTorrentSync这样的分布式服务。
您还可以托管自己的BIND服务器,并要求您的客户将其DNS指向您的BIND服务器,避免使用任何第三方DNS。
真正的解决方案是坚持保持持久的实例。如果资金存在问题,您可以暂停在Amazon AWS中保存计算的实例