在SAE上部署應用後,預設無法從公網訪問應用,而在VPC內部雖然可以通過執行個體的私網IP訪問應用,但應用變更或重啟會導致執行個體的私網IP發生變化。為解決上述問題,您可以為應用綁定公網或私網CLB,實現通過一個固定的公網或私網IP訪問應用,並實現應用執行個體間的負載平衡。
背景資訊
操作步驟
-
在SAE應用列表中,在頂部選擇目標地區和命名空間,點擊目標應用ID跳轉到應用詳情頁。
-
在基礎資訊頁面的應用資訊頁簽,然後在應用訪問設定地區按需配置公網訪問地址或私網訪問地址:
-
公網訪問地址:通過綁定公網CLB實現用戶端通過公網IP訪問應用。
-
私網訪問地址:通過綁定私網CLB實現VPC內部的其他應用或用戶端通過私網IP訪問應用。
說明如需同時實現通過公網IP和私網IP訪問應用,您可以:
-
方案一:跟隨本文指引分別配置公網訪問地址和私網訪問地址。
-
方案二:跟隨本文指引配置私網訪問地址,然後為私網CLB綁定Elastic IP Address。
頁面頂部提示:使用SAE CLB功能前請先查看CLB配置約束;自2020年4月1日起,在SAE中建立或編輯CLB後,若在CLB產品側修改監聽連接埠、協議、SSL認證等受限資源,修改後的配置將被SAE儲存的配置強制覆蓋。此外,頁面還提供小流量預熱選項,需先添加CLB訪問後方可使用。
配置公網訪問地址與私網訪問地址的操作步驟相同,本文以配置公網訪問地址為例。單擊添加公網CLB訪問。
-
-
為應用綁定CLB執行個體:您可以建立CLB執行個體或綁定已有CLB執行個體。
建立CLB執行個體
在添加公網CLB訪問對話方塊,從CLB執行個體下拉式清單中選擇建立CLB執行個體。
SAE自動進行CLB配額檢查和賬戶餘額檢查,完成配置後,SAE將為您代購全新的CLB執行個體並將其綁定到應用。
在 協議配置 地區,選擇協議類型頁簽(HTTP協議、HTTPS協議、TCP協議 或 UDP協議),設定 HTTP 連接埠 和 容器連接埠。如需添加更多連接埠映射,單擊 + 添加下一條監聽。
綁定已有CLB執行個體
在添加公網CLB訪問對話方塊,從CLB執行個體下拉式清單中選擇已有的CLB。
CLB執行個體不能為效能共用型、Container Service獨佔、或其他產品代購或獨佔的CLB執行個體,以防出現監聽配置衝突。
如果是公網CLB執行個體,需確保CLB執行個體與SAE應用處於相同地區;如果是私網CLB執行個體,需確保CLB執行個體與SAE應用處於相同VPC中,否則無法在列表中選取CLB執行個體。
選擇CLB執行個體後,在下方通過 HTTP協議、HTTPS協議、TCP協議、UDP協議 頁簽選擇網路通訊協定,並配置對應的HTTP連接埠和容器連接埠。單擊 + 添加下一條監聽 可添加多條監聽規則。
-
參考以下說明,至少配置一個監聽。如果您需要添加多條監聽,請點擊添加下一條監聽。關於四種監聽的說明及使用情境,請參見CLB監聽。完成配置後,單擊確定。
配置項
說明
樣本值
HTTP協議
-
HTTP連接埠:提供公網訪問應用的CLB連接埠,取值範圍為[1,65535]。
-
容器連接埠:進程監聽連接埠,由程式定義。
-
HTTP連接埠:80
-
容器連接埠:8080(Web服務的預設連接埠)
HTTPS協議
-
HTTPS連接埠:提供公網訪問應用的CLB連接埠,取值範圍為[1,65535]。
-
SSL認證:SSL協議認證,在下拉式清單中選擇已上傳的SSL認證。
-
容器連接埠:進程監聽連接埠,由程式定義。
說明若通過HTTPS協議訪問自訂網域名,則要求該網域名稱必須已在阿里雲備案,詳見ICP備案流程。
-
HTTPS連接埠:443
-
SSL認證:在下拉式清單中選擇已建立的SSL認證。如果您還未建立認證,請參見配置HTTPS監聽前建立認證。
-
容器連接埠:8080(Web服務的預設連接埠)
TCP協議
-
CLB連接埠:提供公網訪問應用的CLB連接埠,取值範圍為[1,65535]。
-
容器連接埠:進程監聽連接埠,由程式定義。
-
CLB連接埠:21
-
容器連接埠:8080(Web服務的預設連接埠)
UDP協議
-
CLB連接埠:提供公網訪問應用的CLB連接埠,取值範圍為[1,65535]。
-
容器連接埠:進程監聽連接埠,由程式定義。
-
CLB連接埠:49152
-
容器連接埠:8080(Web服務的預設連接埠)
如果提示
應用沒有可用執行個體,請擴容後重試,這是由於應用執行個體數已縮容為0,請先手動擴容後,再為應用綁定CLB執行個體。在SAE側建立的監聽將自動同步到CLB側,您可以在負載平衡控制台查看。建議後續僅在SAE側管理這些監聽配置,而不要在CLB側更改配置。更多資訊,請參見避免SAE側與CLB側的配置衝突。
避免SAE側與CLB側的配置衝突
-
-
等待CLB綁定完成,在公網訪問地址地區,可以查看應用的IP地址和連接埠。
如果SAE應用有多個執行個體處理用戶端的請求,CLB預設採用輪詢的調度演算法來實現執行個體間的負載平衡。如需修改調度演算法,請參見添加TCP監聽中的調度演算法。
將產生的IP地址和連接埠資訊複製到瀏覽器中並斷行符號,驗證是否可以通過公網訪問應用。
訪問應用時可能還需要在URL中添加訪問路徑等資訊,這取決於應用程式中的商務邏輯。完整的URL格式為
<訪問協議>://<IP地址>:連接埠/<訪問路徑>,例如http://8.154.xx.xx:80/hello。如果未出現IP地址和連接埠資訊,表示綁定CLB失敗,請查看變更記錄並修複失敗問題。更多資訊,請參見查看變更記錄。
-
(可選)如果期望用戶端通過自訂網域名訪問應用,您需要在DNS控制台添加解析記錄將您擁有的網域名稱指向SAE產生的公網訪問IP地址。
相關操作
刪除或編輯CLB訪問
在刪除公網/私網CLB訪問或直接刪除應用後,會自動釋放SAE代購的CLB執行個體。
-
刪除後將無法找回相同的CLB執行個體和訪問地址,請謹慎操作。
-
刪除後,建議您訪問負載平衡控制台查看,以確保CLB執行個體已釋放。如果CLB執行個體仍處於計費狀態,且確認無需繼續使用CLB執行個體,請手動釋放CLB執行個體,避免持續產生費用。
-
在基礎資訊頁面的應用資訊頁簽,找到應用訪問設定地區的公網訪問地址或私網訪問地址,並根據需求單擊編輯或刪除連結。
-
在彈出的對話方塊中根據提示操作,單擊確認。