全部產品
Search
文件中心

Server Load Balancer:ALB配置安全性群組實現基於監聽/連接埠粒度的存取控制

更新時間:Jul 30, 2025

為了提高雲上流量入口安全性,如果您需要對ALB進行基於協議/連接埠/IP的存取控制,可以通過為ALB執行個體配置安全性群組來實現。相較於ACL,ALB通過安全性群組能實現更全面的存取控制,不僅能配置基於協議/連接埠的存取控制,而且支援IPv6地址類型的存取控制策略。

情境說明

當您的ALB執行個體有存取控制的訴求,希望控制ALB執行個體的入流量時,您可以選擇為ALB執行個體添加安全性群組,同時可基於業務設定相應的安全性群組規則。

重要
  • 負載平衡的出方向流量為使用者請求的回包。為了保證您的業務正常運行,ALB的安全性群組對出流量不做限制,您無需額外配置安全性群組出方向規則。

  • 在ALB執行個體建立完成後,系統會在執行個體所在的VPC網路下自動產生一個託管安全性群組,由ALB執行個體進行管理,您只有查看許可權,沒有操作許可權。ALB託管安全性群組包括以下2類安全性群組規則:

    • 優先順序為1的規則:預設放通Local IP(用於與後端伺服器通訊)。

      新增安全性群組規則時,建議您避免對ALB的Local IP添加優先順序為1的拒絕策略,以確保新增的安全性群組規則不會與ALB託管安全性群組策略衝突,因為這可能會影響ALB與您後端服務之間的正常通訊。您可以登入應用型負載平衡ALB控制台,在執行個體詳情頁面查看Local IP。

    • 優先順序為100的規則:預設放通所有IP,即ALB加入安全性群組且未設定任何拒絕策略時,ALB監聽連接埠預設對所有請求放通。

      普通安全性群組或企業安全性群組的預設存取控制規則(不可見)中存在1條拒絕其他任何流量的規則,此時,ALB託管安全性群組的預設放通規則會優先生效。

本文從以下三種情境來說明ALB執行個體加入安全性群組對連接埠的存取控制,以ALB執行個體配置HTTP 80監聽和HTTP 81監聽為例說明。

情境

安全性群組規則

預期效果

相關連結

ALB執行個體未加入安全性群組

ALB監聽連接埠預設對所有請求允許存取

  • 允許用戶端訪問ALB執行個體的HTTP 80連接埠

  • 允許用戶端訪問ALB執行個體的HTTP 81連接埠

步驟五:ALB未加入安全性群組並驗證結果

ALB執行個體加入安全性群組

拒絕訪問HTTP協議的81連接埠

說明

此處僅列出與本文強相關的安全性群組規則,其餘預設規則未列出。

  • 允許用戶端訪問ALB執行個體的HTTP 80連接埠

  • 拒絕用戶端訪問ALB執行個體的HTTP 81連接埠

步驟六:ALB執行個體加入安全性群組並驗證結果

修改ALB執行個體加入的安全性群組

  • 拒絕訪問HTTP協議的80連接埠

  • 拒絕訪問HTTP協議的81連接埠

說明

此處僅列出與本文強相關的安全性群組規則,其餘預設規則未列出。

  • 拒絕用戶端訪問ALB執行個體的HTTP 80連接埠

  • 拒絕用戶端訪問ALB執行個體的HTTP 81連接埠

步驟七:修改安全性群組並驗證結果

使用限制

重要

ALB升級執行個體支援通過安全性群組或ACL來管理訪問流量。升級前的ALB執行個體,僅支援通過ACL來進行存取控制。若您需要使用安全性群組,請建立執行個體或向商務經理申請存量執行個體的升級。

分類

安全性群組類型

說明

ALB支援加入的安全性群組

  • 普通安全性群組

  • 企業級安全性群組

  • 要求安全性群組為專用網路類型,且安全性群組和ALB執行個體屬於同一個Virtual Private Cloud(Virtual Private Cloud)。

  • ALB執行個體可加入的安全性群組數量及可關聯的安全性群組規則數量,均遵循ECS安全性群組相關配額的限制:

  • 同一個ALB執行個體加入的安全性群組類型需保持一致,即不支援同時加入普通安全性群組和企業級安全性群組。

    某個ALB執行個體已加入普通安全性群組,如果需要加入企業級安全性群組,可解除綁定當前ALB執行個體的所有普通安全性群組後再行操作,反之亦然。

普通安全性群組和企業安全性群組詳情請參見普通安全性群組與企業級安全性群組

ALB不支援加入的安全性群組

託管安全性群組

託管安全性群組詳情請參見託管安全性群組

前提條件

  • 您已建立了Virtual Private Cloud1。具體操作,請參見建立和管理專用網路

  • 您已在VPC1中建立ECS01和ECS02執行個體,ECS01和ECS02執行個體作為ALB執行個體的後端伺服器,且ECS01和ECS02執行個體中部署了2個不同的應用服務。

    • 關於如何建立ECS執行個體,請參見自訂購買執行個體

      如果您需要測試ALB配置安全性群組對IPv6地址存取控制能力,請確保ECS01和ECS02支援IPv6通訊

    • 本文ECS01和ECS02部署測試應用服務樣本如下:

      ECS01服務部署命令

      yum install -y nginx
      systemctl start nginx.service
      cd /usr/share/nginx/html/
      echo "Hello World ! This is ECS01." > index.html

      ECS02服務部署命令

      yum install -y nginx
      systemctl start nginx.service
      cd /usr/share/nginx/html/
      echo "Hello World ! This is ECS02." > index.html

操作步驟

步驟一:建立伺服器組

  1. 登入應用型負載平衡ALB控制台

  2. 在頂部功能表列,選擇伺服器組所屬的地區。本文選擇華東1(杭州)

  3. 在左側導覽列,選擇應用型負載平衡ALB > 伺服器組

  4. 伺服器組頁面,單擊建立伺服器組

  5. 建立伺服器組對話方塊中,完成以下配置,然後單擊建立

    此處僅列出與本文強相關的配置項,其餘部分參數可保持預設值。更多資訊,請參見建立和管理伺服器組

    配置

    說明

    伺服器群組類型

    選擇一種伺服器群組類型。本文選擇伺服器類型

    伺服器組名稱

    輸入伺服器組名稱。

    VPC

    從VPC下拉式清單中選擇一個VPC。本文選擇已建立的VPC1。

    選擇後端協議

    選擇一種後端協議。本文選擇HTTP

    選擇調度演算法

    選擇一種調度演算法。本文選擇加權輪詢

  6. 伺服器組建立成功對話方塊中單擊添加後端伺服器

  7. 後端伺服器頁簽單擊添加後端伺服器

  8. 添加後端伺服器面板,選擇已建立的ECS01和ECS02執行個體,然後單擊下一步

  9. 為已添加的伺服器設定連接埠和權重,然後單擊確定

步驟二:建立ALB執行個體並配置監聽

  1. 登入應用型負載平衡ALB控制台

  2. 執行個體頁面,單擊建立應用型負載平衡

  3. 在購買頁面,完成以下配置。

    此處僅列出和本文強相關的配置項,其他未列出的配置項使用預設值。關於參數的更多資訊,請參見建立和管理ALB執行個體

    • 地區:本文選擇華東1(杭州)

    • 執行個體網路類型:本文選擇公網

    • VPC:本文選擇已建立的VPC1。

    • 協議版本:預設為IPv4,如需同時支援用戶端使用IPv4和IPv6地址訪問,請選擇雙棧

  4. 單擊立即購買,然後根據控制台提示完成執行個體開通。

  5. 返回執行個體頁面,找到已建立的ALB執行個體,單擊該ALB執行個體ID。

  6. 單擊監聽頁簽,然後單擊快速建立監聽

  7. 快速建立監聽對話方塊中,配置以下參數,完成HTTP 80監聽的建立,然後單擊確定

    配置

    說明

    選擇監聽協議

    選擇監聽的協議類型。本文選擇HTTP

    監聽連接埠

    輸入監聽連接埠。本文輸入80

    轉寄的後端伺服器組

    伺服器類型下選擇目標伺服器組。本文選擇已建立的伺服器組。

  8. 監聽頁簽,單擊快速建立監聽

  9. 快速建立監聽對話方塊中,配置以下參數,完成HTTP 81監聽的建立,然後單擊確定

    配置

    說明

    選擇監聽協議

    選擇監聽的協議類型。本文選擇HTTP

    監聽連接埠

    輸入監聽連接埠。本文輸入81

    轉寄的後端伺服器組

    伺服器類型下選擇目標伺服器組。本文選擇已建立的伺服器組。

步驟三:設定網域名稱解析

實際業務情境中,建議您使用自有網域名稱,通過CNAME解析的方式將自有網域名稱指向ALB執行個體網域名稱。

  1. 在左側導覽列,選擇應用型負載平衡 ALB > 執行個體

  2. 執行個體頁面,複製已建立的ALB執行個體的DNS名稱。

  3. 執行以下步驟添加CNAME解析記錄。

    說明

    對於非阿里雲註冊網域名稱,需先將網域名稱添加到雲解析控制台,才可以進行網域名稱解析設定。具體操作,請參見網域名稱管理。如果您是阿里雲註冊的網域名稱,請直接執行以下步驟。

    1. 登入網域名稱解析控制台

    2. 權威網域名稱解析頁面,找到目標網域名稱,在操作列單擊解析設定

    3. 解析設定頁面,單擊添加記錄

    4. 添加記錄面板,配置以下資訊完成CNAME解析配置,然後單擊確定

      配置

      說明

      記錄類型

      在下拉式清單中選擇CNAME

      主機記錄

      您的網域名稱的首碼。本文輸入@

      說明

      建立網域名稱為根網域名稱時,主機記錄為@

      解析請求來源

      選擇預設。

      記錄值

      輸入欄位名對應的CNAME地址,即您複製的ALB執行個體的DNS名稱。

      TTL

      全稱Time To Live,表示DNS記錄在DNS伺服器上的緩衝時間,本文使用預設值。

步驟四:建立安全性群組

在ALB執行個體加入安全性群組前,您需要先至ECS管理主控台建立安全性群組。

  1. 登入ECS管理主控台

  2. 在左側導覽列,選擇網路與安全 > 安全性群組

  3. 在頂部功能表列,選擇安全性群組所屬的地區。本文選擇華東1(杭州)

  4. 安全性群組頁面,單擊建立安全性群組

  5. 建立安全性群組頁面,設定安全性群組的基本資料參數。

    此處僅列出和本文強相關的配置項,其餘參數的配置請參見建立安全性群組

    • 網路:本文選擇已建立的Virtual Private Cloud。

    • 安全性群組類型:本文選擇普通安全性群組

  6. 在預設的安全性群組規則上,配置新增的安全性群組的訪問規則參數。

    1. 入方向頁簽,連續單擊兩次手動添加

    2. 按照以下規則分別進行添加,然後單擊建立安全性群組

      配置

      規則1:拒絕所有IPv4及IPv6地址對81連接埠的訪問

      (可選)規則2:允許所有IPv6地址對80連接埠的訪問

      授權策略

      選擇拒絕

      選擇允許

      優先順序

      優先順序保持預設值1

      協議類型

      協議類型選擇自訂TCP

      說明

      在設定QUIC監聽的安全性群組規則時,協議類型選擇自訂UDP

      連接埠範圍

      輸入連接埠號碼81

      選擇連接埠號碼HTTP(80)

      授權對象

      選擇所有IPv4(0.0.0.0/0)所有IPv6(::/0)

      選擇所有IPv6(::/0)

      描述

      輸入安全性群組規則描述資訊。

步驟五:ALB未加入安全性群組並驗證結果

測試用戶端與ECS01和ECS02之間的連通性。

本文以任意一台可以訪問公網的用戶端為例。如果您需要測試ALB配置安全性群組對IPv6地址存取控制能力,請確保該用戶端支援IPv6公網通訊

  1. 開啟命令列視窗,執行curl -4 http://<自有網域名稱>:80,可以看到如下圖所示,表示IPv4用戶端可通過ALB訪問HTTP協議80連接埠。

    未加入安全性群組-IPv4訪問80

  2. 執行curl -4 http://<自有網域名稱>:81,可以看到如下圖所示,表示IPv4用戶端可通過ALB訪問HTTP協議81連接埠。

    未加入安全性群組-IPv4訪問81

  3. (可選)執行curl -6 http://<自有網域名稱>:80,可以看到如下圖所示,表示IPv6用戶端可通過ALB訪問HTTP協議80連接埠。

    未加入安全性群組-IPv6訪問80

  4. (可選)執行curl -6 http://<自有網域名稱>:81,可以看到如下圖所示,表示IPv6用戶端可通過ALB訪問HTTP協議81連接埠。

    未加入安全性群組-IPv6訪問81

步驟六:ALB執行個體加入安全性群組並驗證結果

ALB執行個體加入安全性群組,並驗證安全性群組規則是否對ALB執行個體的連接埠的存取控制生效。

  1. 登入應用型負載平衡ALB控制台

  2. 在ALB執行個體頁面,找到目標ALB執行個體,單擊執行個體ID,在執行個體詳情頁面單擊安全性群組頁簽。

  3. 安全性群組頁簽,單擊添加安全性群組,在彈出的ALB執行個體加入安全性群組對話方塊中,選擇步驟四:建立安全性群組建立的安全性群組,然後單擊確定

  4. 在左側列表框單擊目標安全性群組ID,可單擊入方向出方向頁簽分別查看安全性群組規則。

    此處僅列出與本文強相關的安全性群組入方向規則。此時ALB執行個體的安全性群組規則如下:

    授權策略

    優先順序

    協議類型

    連接埠範圍

    授權對象

    允許

    1

    自訂TCP

    目的:80/80

    源:所有IPv4(0.0.0.0/0)

    允許

    1

    自訂TCP

    目的:80/80

    源:所有IPv6(::/0)

    拒絕

    1

    自訂TCP

    目的:81/81

    源:所有IPv4(0.0.0.0/0)

    拒絕

    1

    自訂TCP

    目的:81/81

    源:所有IPv6(::/0)

  5. ALB執行個體加入安全性群組後,測試訪問結果。

    1. 在用戶端的命令列視窗,執行curl -4 http://<自有網域名稱>:80,可以看到如下圖所示,表示IPv4用戶端可通過ALB訪問HTTP協議80連接埠。

      加入安全性群組-IPv4訪問80

    2. (可選)執行curl -6 http://<自有網域名稱>:80,可以看到如下圖所示,表示IPv6用戶端可通過ALB訪問HTTP協議80連接埠。

      加入安全性群組-IPv6訪問80

    3. 執行curl -4 http://<自有網域名稱>:81,可以看到如下圖所示,IPv4用戶端無法訪問HTTP協議的81連接埠,表示ALB執行個體的安全性群組對81連接埠的存取控制已生效。

      加入安全性群組-IPv4訪問81

    4. (可選)執行curl -6 http://<自有網域名稱>:81,可以看到如下圖所示,IPv6用戶端無法訪問HTTP協議的81連接埠,表示ALB執行個體的安全性群組對81連接埠的存取控制已生效。

      加入安全性群組-IPv6訪問81

步驟七:修改安全性群組並驗證結果

修改安全性群組規則,並驗證修改後的安全性群組規則是否對ALB執行個體的連接埠存取控制生效。

  1. 返回ALB執行個體頁面,找到目標ALB執行個體,單擊執行個體ID。在執行個體詳情頁簽,單擊安全性群組頁簽。

  2. 基本資料地區單擊安全性群組ID,或在安全性群組頁簽右上方單擊前往ECS控制台編輯,進入安全性群組規則頁面修改安全性群組規則。

  3. 安全性群組規則頁面,找到允許訪問TCP協議80連接埠的規則,在操作列單擊編輯,修改授權策略拒絕,單擊儲存

    此處僅列出與本文強相關的安全性群組規則。修改後的安全性群組規則如下:

    授權策略

    優先順序

    協議類型

    連接埠範圍

    授權對象

    拒絕

    1

    自訂TCP

    目的:80/80

    源:所有IPv4(0.0.0.0/0)

    拒絕

    1

    自訂TCP

    目的:80/80

    源:所有IPv6(::/0)

    拒絕

    1

    自訂TCP

    目的:81/81

    源:所有IPv4(0.0.0.0/0)

    拒絕

    1

    自訂TCP

    目的:81/81

    源:所有IPv6(::/0)

  4. 修改ALB執行個體加入的安全性群組規則後,測試訪問結果。

    1. 在用戶端的命令列視窗,執行curl -4 http://<自有網域名稱>:80,如果出現如下圖所示,IPv4用戶端無法訪問HTTP協議的80連接埠,表示ALB執行個體的安全性群組對80連接埠存取控制已生效。

      修改安全性群組-IPv4訪問80

    2. (可選)執行curl -6 http://<自有網域名稱>:80,如果出現如下圖所示,IPv6用戶端無法訪問HTTP協議的80連接埠,表示ALB執行個體的安全性群組對80連接埠存取控制已生效。

      修改安全性群組-IPv6訪問80

    3. 執行curl -4 http://<自有網域名稱>:81,如果出現如下圖所示,IPv4用戶端無法訪問HTTP協議的81連接埠,表示ALB執行個體的安全性群組對81連接埠存取控制已生效。

      修改安全性群組-IPv4訪問81

    4. (可選)執行curl -6 http://<自有網域名稱>:81,如果出現如下圖所示,IPv6用戶端無法訪問HTTP協議的81連接埠,表示ALB執行個體的安全性群組對81連接埠的存取控制已生效。

      修改安全性群組-IPv6訪問81

相關文檔

控制台操作文檔

API文檔