路由53健康检查FTP服务器

我们希望在端口21上使用TCP健康状况检查,以便在具有弹性IP的EC2实例上运行的一对FTP服务器的Route 53故障切换。

问题是,我们有一个安全组中的FTP服务器,它只允许来自CIDR块的小白名单的连接(FTP足够糟糕,但是广泛的FTP是可怕的)。

安全组正在阻止来自Route 53的运行状况检查程序的连接。 我知道有很多方法可以查询当前的健康检查者列表,理论上你可以相应地更新你的安全组,但是这看起来很不方便。

所以我甚至尝试通过PHPbuild立一个小的HTTP状态页面,这将连接到端口21(理论上甚至可以传输文件,以确保一切正常)。 我想我可以让路线53打到这个状态页面(不幸的是必须向世界开放,但是这比远离FTP服务器更好)。

由于我不知道EC2实例的IP地址,所以我正在configuration安全组以允许来自安全组内的所有主机的连接。

但显然,如果您尝试连接到弹性IP地址,则安全组设置不会转换(哪种types是有道理的,但是会让我的方法超出窗口)。

所以我开始用尽想法。 任何人有一个很好的方法来处理一个限制CIDR块访问的实例的TCP健康检查的一般问题?

通过2017-03(最新版本)追踪2015-07年度AWS发布IP范围的历史logging(我在下面查询的系统中的最早快照) – 一年半以上 – 您发现Route 53运行状况检查器的IPv4地址范围完全没有变化

白名单列出在你的安全组似乎是一个完全合理的策略。

为了进行健康状况检查,分配了两个IPv4地址的小块,路由53可以从中进行源检查的8个区域中的每一个区域都被分配。 (路由53不会从所有AWS区域发起检查)。

对于每个正在testing端点的区域(默认情况下都是为了testing您的端点)您的健康状况检查将与每个区域的每个区块中的一个检查器相关联……当您查看“健康检查器”在控制台中,您可以单独查看检查者报告的结果,包括检查者的IP地址(当然也会显示在服务器日志中)。

这是相关值的摘录:

+-------------------+----------------+ | ip_prefix | region | +-------------------+----------------+ | 54.183.255.128/26 | us-west-1 | | 54.228.16.0/26 | eu-west-1 | | 54.232.40.64/26 | sa-east-1 | | 54.241.32.64/26 | us-west-1 | | 54.243.31.192/26 | us-east-1 | | 54.244.52.192/26 | us-west-2 | | 54.245.168.0/26 | us-west-2 | | 54.248.220.0/26 | ap-northeast-1 | | 54.250.253.192/26 | ap-northeast-1 | | 54.251.31.128/26 | ap-southeast-1 | | 54.252.79.128/26 | ap-southeast-2 | | 54.252.254.192/26 | ap-southeast-2 | | 54.255.254.192/26 | ap-southeast-1 | | 107.23.255.0/26 | us-east-1 | | 176.34.159.192/26 | eu-west-1 | | 177.71.207.128/26 | sa-east-1 | +-------------------+----------------+ 

我没有理由跟踪IPv6方面,所以我不能确定地说,情况也是如此,但也有理由相同的情况也适用于此。

您也可以使用像dyn-dns这样的服务为dynamic地址提供静态命名。 每次在新IP上激活主机时,会话中运行的代理将使用正确的dynamic地址更新dyn-DNS服务器。

我们发现这增加了我们的一些终点vpn映射的重连率。