本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Classic Load Balancer 的接聽程式
開始使用 Elastic Load Balancing 之前,您必須為 Classic Load Balancer 設定一或多個接聽程式。接聽程式是檢查連線請求的程序。它是透過一個前端 (用戶端到負載平衡器) 連線的協定和連接埠,以及一個後端 (負載平衡器到後端執行個體) 連線的協定和連接埠進行設定。
Elastic Load Balancing 支援以下通訊協定:
-
HTTP
-
HTTPS(安全HTTP)
-
TCP
-
SSL(安全TCP)
該HTTPS協議使用該SSL協議在該HTTP層上建立安全連接。您也可以使用通SSL訊協定在TCP層上建立安全連線。
如果前端連線使用TCP或SSL,則後端連線可以使用TCP或SSL。如果前端連線使用HTTP或HTTPS,則後端連線可以使用HTTP或HTTPS。
後端執行個體可以在連接埠 1-65535 上監聽。
可以在以下連接埠上接聽負載平衡器:1-65535
通訊協定
一般 Web 應用程式的通訊都會通過硬體和軟體層。每一層提供特定的通訊功能。通訊功能的控制權會從一個 layer 依序傳遞到下一個。開放系統互連(OSI)定義了一個模型框架,用於實現通信的標準格式,稱為協議,在這些層。有關更多信息,請參閱維基百科中的OSI模型
當使用 Elastic Load Balancing 時,您需要對 Layer 4 和 Layer 7 有基本了解。第 4 層是說明用戶端與後端執行個體之間透過負載平衡器之間的傳輸控制通訊協定 (TCP) 連線的傳輸層。第 4 層是負載平衡器是可設定的最低層級。第 7 層是一個應用程式層,說明如何使用從用戶端到負載平HTTP衡器,以及從負載平衡器到後端執行個體的超文字傳輸通訊協定 HTTPS (HTTP) 和 (安全) 連線。
安全通訊端層 (SSL) 通訊協定主要用於透過不安全的網路 (例如網際網路) 加密機密資料。該SSL協議在客戶端和後端服務器之間建立安全連接,並確保客戶端和服務器之間傳遞的所有數據都是私有且整合的。
TCP/SSL協議
當您同時針對前端和後端連線使用 TCP (第 4 層) 時,負載平衡器會將要求轉送至後端執行個體,而不需修改標頭。負載平衡器收到要求之後,它會嘗試在接聽程式組態中指定的TCP連接埠上開啟後端執行個體的連線。
因為負載平衡器會攔截用戶端與後端執行個體的流量,所以後端執行個體存取日誌 (適用於包含負載平衡器的 IP 地址,而不包含來源用戶端的後端執行個體)。您可以啟用 Proxy Protocol,其新增含用戶端連線資訊的標題,例如來源 IP 地址、目的地 IP 地址和連接埠號碼。然後標頭會做為請求的一部分傳送到後端執行個體。您可以剖析請求中的第一行以擷取連線資訊。如需詳細資訊,請參閱設定 Classic Load Balancer 的代理通訊協定。
使用此組態時,您不會收到工作階段黏著性或 X-Forwarded 標頭的 Cookie。
HTTP/HTTPS協議
當您同時針對前端和後端連線使用 HTTP (第 7 層) 時,負載平衡器會先剖析要求中的標頭,再將要求傳送至後端執行個體。
對於HTTP/HTTPS負載平衡器後面的每個已註冊且運作良好的執行個體,Elastic Load Balancing 會開啟並維護一或多個TCP連線。這些連接確保始終有一個已建立的連接準備好接收HTTP/HTTPS請求。
HTTP請求和HTTP響應使用標題字段發送有關HTTP消息的信息。Elastic Load Balancing 支援 X-Forwarded-For
標頭。由於負載平衡器攔截用戶端和伺服器之間的流量,您的伺服器存取日誌僅包含負載平衡器的 IP 地址。若要查看用戶端的 IP 地址,請使用 X-Forwarded-For
請求標頭。如需詳細資訊,請參閱X-Forwarded-For。
當您使用HTTP/時HTTPS,您可以在負載平衡器上啟用黏性工作階段。黏性工作階段會將使用者工作階段繫結至特定的後端執行個體。這樣能確保該工作階段期間所有來自使用者的請求都能傳送到相同的後端執行個體。如需詳細資訊,請參閱為 Classic Load Balancer 設定黏性工作階段。
並非所有HTTP擴充功能都受到負載平衡器的支援。如果負載平衡器由於非預期的方法、回應代碼或其他非標準 HTTP 1.0/1.1 實作而無法終止要求,您可能需要使用TCP偵聽程式。
HTTPS/SSL聽眾
您可以使用以下安全功能建立負載平衡器。
SSL伺服器憑證
如果您SSL為前端連線使用HTTPS或,則必須在負載平衡器上部署 X.509 憑證 (SSL伺服器憑證)。負載平衡器會先將用戶端的要求解密,然後再將其傳送至後端執行個體 (稱為SSL終止)。如需詳細資訊,請參閱SSLClassic Load Balancer 的 /TLS 憑證。
如果您不希望負載平衡器處理SSL終止 (稱為SSL卸載),您可以同時用TCP於前端和後端連線,並在處理要求的已註冊執行個體上部署憑證。
SSL談判
Elastic Load Balancing 提供預先定義的SSL交SSL涉組態,用於在用戶端與負載平衡器之間建立連線時進行交涉。SSL協商組態提供與廣泛用戶端的相容性,並使用稱為加密的高強度加密演算法。不過,一些使用案例可能需要網路上的所有資料進行加密,並且僅允許特定加密。某些安全性符合標準 (例如PCISOX、等) 可能需要用戶端提供一組特定的通訊協定和密碼,以確保符合安全性標準。在這種情況下,您可以根據您的特定需求建立自訂SSL交涉組態。您的加密和通訊協定應該會在 30 秒內生效。如需詳細資訊,請參閱SSL Classic Load Balancer 的交涉組態。
後端伺服器身分驗證
如果您使用HTTPS或SSL進行後端連線,則可以啟用已註冊執行個體的驗證。然後,您可以使用身分驗證程序來確保執行個體只接受加密的通訊,並確保每個註冊執行個體具有正確的公有金鑰。
如需詳細資訊,請參閱設定後端伺服器驗證。