Amazon-Web-Services

無法訪問 EC2 實例,但不能訪問其他 VPC 中的 NLB

  • February 19, 2019

我最近開始了從 AWS ELB 切換到 NLB 的過程,並且遇到了一些連接問題。

我們有 2 個 VPC。在 VPC1 中,EC2 數據庫伺服器、舊 ELB 和 NLB 都位於。在 VPC2 中,我們有一些連接到數據庫伺服器的 EC2 伺服器

在 VPC1 中,我們沒有遇到連接問題。

在 VPC2 中,我無法通過 NLB 訪問數據庫。

  • 我可以通過舊的 ELB 訪問數據庫,它與 EC2 伺服器在同一個 sec 組中
  • 我可以通過直接連接到數據庫伺服器來訪問數據庫(EC2 數據庫伺服器允許來自 VPC2 的流量)
  • NLB、ELB 和 EC2 DB 伺服器在同一個子網中
  • NLB 是內部類型

根據我對 NLB 工作原理的理解,我可以直接連接到 EC2 實例這一事實意味著我應該能夠通過 NLB 連接到它 - NLB 本身沒有安全組並使用 sec 組EC2 實例,因為它轉發源 IP。

有沒有人對可能出現的問題有任何想法?

如果 NLB 是內部類型,則意味著它沒有公共 ip。為了能夠通過 NLB 的私有 IP 從另一個 VPC 將流量路由到它,需要在這些 VPC 之間建立VPC 對等互連。為了使 VPC 對等工作正常,您還需要將對等連接的路由添加到子網的路由表中

NLB自身沒有安全組,使用EC2實例的sec組,因為它轉發源IP。

這是不正確的。NLB 沒有安全組,但它也隱藏了源的安全組。它只適用於 IP 地址。

因此,如果您的數據庫安全組允許來自 EC2 SG 的訪問,您將必須添加另一個基於 IP 的規則,以允許來自客戶端 IP 的訪問。一旦流量通過 NLB,它就會失去其源安全組標籤

無論如何,NLB 適用於非常專業的案例。您確定 ALB(應用程序負載均衡器)不會為您提供更好的服務嗎?它適用於 HTTP / HTTPS 級別,讓您可以更好地控制請求路由等。

希望有幫助:)

引用自:https://serverfault.com/questions/954467