Route 53 執行狀況檢查 FTP 伺服器
我們想在埠 21 上使用 TCP 執行狀況檢查,以對執行在具有彈性 IP 的 EC2 實例上的一對 FTP 伺服器進行 Route 53 故障轉移。
問題是我們的安全組中的 FTP 伺服器只允許來自 CIDR 塊的小白名單的連接(FTP 已經夠糟糕了,但全開放的 FTP 很可怕)。
安全組正在阻止來自 Route 53 的執行狀況檢查程序的連接。我知道有一些方法可以輪詢目前的健康檢查器列表,理論上你可以相應地更新你的安全組,但這似乎很老套。
所以我什至嘗試通過 PHP 建構一個小的 HTTP 狀態頁面,它將連接到埠 21(理論上甚至可以傳輸文件以確保一切正常)。我想我可以讓 Route 53 訪問此狀態頁面(不幸的是,它必須向世界開放,但這仍然比讓 FTP 伺服器完全開放要好)。
由於我事先不知道 EC2 實例的 IP 地址,因此我將安全組配置為允許來自安全組內所有主機的連接。
但顯然,如果您嘗試連接到彈性 IP 地址,則安全組設置不會轉換(這是有道理的,但它讓我的方法望而卻步)。
所以我開始沒有想法了。有人有什麼好的方法來處理限制 CIDR 塊訪問的實例上的 TCP 健康檢查的一般問題嗎?
跟踪從 2015-07(我在下面查詢的系統中最早的快照)到 2017-03(我擁有的最新)的AWS 發布的 IP 範圍的歷史——一年半多的時間——你發現Route 53 執行狀況檢查器的 IPv4 地址範圍的 更改完全為零。
在您的安全組中將這些列入白名單似乎是一個非常合理的策略。
在 Route 53 可以從中獲取檢查的 8 個區域中的每一個中,分配了兩個小塊 IPv4 地址用於發起執行狀況檢查。(Route 53 並非來自所有 AWS 區域的檢查)。
對於正在測試您的端點的每個區域(預設情況下所有這些區域都測試您的端點),您的健康檢查將與每個區域的每個塊中的一個檢查器相關聯……當您查看“健康檢查器”時在控制台中,您可以單獨查看檢查器報告的結果,包括檢查器的 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 方面,所以我不能肯定地說這也是如此,但有理由認為同樣的情況也將適用於那裡。