【问题标题】:maintaining DNS resolution for connecting clients when using fresh app instances with fresh IPs在使用具有新 IP 的新应用实例时维护用于连接客户端的 DNS 解析
【发布时间】:2015-04-19 16:06:55
【问题描述】:

我有一个 Ansible 手册,用于启动和构建全新的 GNU/Linux 机器并安装 vsftpd。

我有一个需要通过 SFTP 发送夜间文件的客户端。我已指示发送到 ftp.example.com。

我需要能够非常快速地针对任何基础设施提供商(例如 DigitalOcean、AWS、Rackspace 等)运行该剧本,并且即使在客户端没有任何更改的情况下仍会收到每晚的文件上传(情况将如此) ) 服务器的 IP 已更改。因此,某晚服务器可能在纽约的 DigitalOcean 机器上,下一个晚上在爱尔兰的 AWS 机器上。

现在,显然我可以使用具有良好 API 的 DNS 名称服务器提供商来针对和重置 A 记录作为剧本运行的一个阶段。但是,这可能意味着在刷新客户端的 DNS 缓存之前,它们仍会将 ftp.example.com 视为以前的服务器。

那么,我如何保证这在没有客户端任何交互的情况下也能正常工作。

非常感谢

【问题讨论】:

  • 是否没有可靠的来源可以找到与ftp.example.com关联的IP地址?

标签: dns ansible


【解决方案1】:

就 DNS 而言,您不能。 Evan,如果您在 DNS 记录(生存时间/过期时间)上设置较低的 TTL,许多 DNS 服务会将短 TTL 缓存长达 72 小时。

我的建议是不要拥有需要不断更改 IP 的基础架构。

更好的解决方案是使用像 BitTorrentSync 这样的分布式服务。

您还可以托管自己的 BIND 服务器,并要求您的客户端将他的 DNS 指向您的 BIND 服务器,避免使用任何第三方 DNS。

真正的解决方案是坚持保留一个持久实例。如果钱是个问题,您可以暂停您的实例在 Amazon AWS 中的计算上节省

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-26
    • 2019-04-23
    • 2016-04-10
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多