全部產品
Search
文件中心

:通過CLB轉寄流量到RDS Custom執行個體

更新時間:May 21, 2026

通過阿里雲傳統型負載平衡(CLB,Classic Load Balancer),可以將訪問流量高效地轉寄至RDS Custom,確保流量的均衡分配。此外,該方案還支援RDS Custom執行個體與外部公網的串連,有效保護了內部網路的安全性,同時提升了服務的可用性和擴充性。

資料準備

已在目標RDS Custom中成功部署應用服務。本文將以Nginx服務為例進行說明,請在目標RDS Custom中執行以下命令:

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

步驟一:擷取RDS Custom執行個體彈性網卡資訊

通過DescribeNetworkInterfaces API介面,擷取RDS Custom執行個體的彈性網卡資訊。請求參數配置如下,其中VpcIdVSwitchIdPrimaryIpAddress為選擇性參數,通過這些參數可以快速擷取到目標RDS Custom執行個體的彈性網卡資訊。

參數

描述

樣本值

RegionId

RDS Custom執行個體所屬地區ID。

cn-hangzhou

ServiceManaged

本文查詢RDS Custom執行個體的彈性網卡,該參數配置為true。

true

VpcId

彈性網卡所屬的Virtual Private Cloud ID,即RDS Custom執行個體的Virtual Private Cloud ID。

說明

您可以在RDS Custom執行個體的基本資料頁的設定資訊地區,查看RDS Custom執行個體的網路資訊。

vpc-bp16sm1hwzyutuohe****

VSwitchId

彈性網卡所屬的交換器 ID,即RDS Custom執行個體的交換器 ID。

vsw-bp1nb3pv03878tgnj****

PrimaryIpAddress

彈性網卡主私網IP地址,即RDS Custom執行個體的私網IP地址。

172.16.XX.XX

返回參數中PrivateIpAddress彈性網卡IP地址NetworkInterfaceId彈性網卡ID,例如:

{
  ...
    "NetworkInterfaceSets": {
      "NetworkInterfaceSet": [
        {
          ...
          "PrivateIpAddress": "172.16.XX.XX",   //彈性網卡IP
          "ServiceManaged": true,
          "DeleteOnRelease": true,
          "ResourceGroupId": "",
          "Attachment": {},
          "NetworkInterfaceId": "eni-bp1j7sqxlbjnnccf****",  //彈性網卡ID
          ...
        }
      ]
    }
  }

步驟二:建立公網CLB執行個體

  1. 登入傳統型負載平衡CLB控制台,頂部功能表列選擇執行個體所屬地區。

  2. 單擊建立傳統型負載平衡。在購買頁面,選擇CLB所在地區與可用性區域,並配置執行個體名稱。

    重要選項說明與配置建議

    選項

    說明

    配置建議

    SLB地區編號/主可用性區域

    CLB執行個體所屬的地區和承載流量的可用性區域。

    • 選擇支援多可用性區域類型的地區

    • CLB與RDS Custom在同一個地區

    可用區類型

    CLB執行個體所屬地區內的可用性區域類型。

    • 單可用性區域:地區僅支援單個可用性區域部署CLB。

    • 多可用性區域:地區支援多個可用性區域部署CLB。預設通過主可用性區域CLB提供服務,當主可用性區域故障時系統會自動切換到備可用性區域CLB繼續提供負載平衡服務。詳情可參考同城容災 (多可用性區域容災)

    实例计费方式

    • 按使用量計費:適用於業務測試或波峰波穀效應明顯的情境,執行個體效能根據用量自動彈性無需指定執行個體規格。

    • 按規格計費:適用於業務量較平穩的情境,需要根據購買執行個體規格收取固定規格費。

    按使用量計費

    執行個體類型

    • 公網:CLB提供公網IP服務地址,可被公網用戶端訪問。

    • 私網:CLB提供VPC內的私網IP地址,無法轉寄來自公網的請求。

    本文以私網為例。

    VpcIdvswitchId

    選擇專用網路和交換器。

    選擇與RDS Custom執行個體相同專用網路和交換器。

    IP 版本

    CLB提供的服務地址的IP類型。

    • IPv4:對外CLB僅提供IPv4地址。

    • IPv6:對外CLB僅提供IPv6地址。

    IPv4

    公網流量費

    僅公網CLB執行個體收取公網流量費用。

    • 按使用流量計費:適用于波峰波穀效應明顯的業務。

    • 按固定頻寬計費:適用於頻寬較為平穩的業務。

    按使用流量計費

    CLB執行個體計費詳情您可參考計費文檔:隨用隨付

  3. 完成執行個體購買與建立。傳統型負載平衡CLB控制台頁面將展示新建立的執行個體。

步驟三:建立虛擬伺服器組

  1. 在CLB的執行個體管理頁面,單擊CLB執行個體ID,進入執行個體詳情頁。

  2. 虛擬伺服器組頁簽,單擊建立虛擬伺服器組

  3. 輸入虛擬伺服器組名稱後,單擊建立

步驟四:將RDS Custom執行個體添加到虛擬伺服器組

使用AddVServerGroupBackendServers API介面,將RDS Custom執行個體添加到虛擬伺服器組。請求參數配置如下。其中,BackendServersServerIdServerIp取值,為步驟一中擷取的RDS Custom執行個體的彈性網卡ID和IP地址。

參數

描述

樣本值

RegionId

CLB執行個體的地區ID。

cn-hangzhou

VServerGroupId

虛擬伺服器組ID。

rsp-bp1zgr6ci****

BackendServers

要添加的後端伺服器列表。包含以下參數:

  • ServerId:RDS Custom執行個體的彈性網卡ID。

  • Weight:後端伺服器的權重,取值:0~100。預設值:100。 如果值為 0,則不會將請求轉寄給該後端伺服器。

  • Type:後端伺服器類型,本文為eni(彈性網卡執行個體)。

  • ServerIp:RDS Custom執行個體的彈性網卡IP地址。

  • Port:用來接收請求的連接埠。

  • Description:非必選,後端伺服器描述,長度為 1~80 個字元,支援中文、字母、數字、短劃線(-)、正斜線(/)、半形句號(.)和底線(_)。

輸入格式為:[{ "ServerId": "eni-****", "Weight": "100", "Type": "eni", "ServerIp": "192.168.XX.XX", "Port":"80","Description":"test-112" }]

[{
  "ServerId": "eni-bp1j7sqxlbjnnccf****",
  "Weight": "100",
  "Type": "eni",
  "ServerIp": "172.16.XX.XX",
  "Port": "80",
  "Description": "test-RC"
}]

步驟五:配置執行個體監聽

  1. 在CLB的執行個體管理頁面,單擊目標執行個體右側的監聽設定精靈

  2. 配置監聽協議與監聽連接埠,然後單擊下一步

    重要選項說明與配置建議

    選項

    說明

    配置建議

    監聽協議

    CLB對外提供服務的協議。

    • TCP/UDP:通常稱為四層監聽協議。

    • HTTP/HTTPS:通常稱為七層監聽協議。

    說明

    原理簡要說明:

    • 四層監聽:將請求直接轉寄給後端伺服器。以TCP監聽為例,用戶端請求到達CLB後,CLB根據監聽中配置的連接埠修改報文的目的IP和目的連接埠,並將流量轉寄給對應的後端伺服器。

    • 七層監聽:原理上是反向 Proxy的一種實現。用戶端請求到達CLB後,CLB與後端伺服器建立新的TCP串連,即再次通過新TCP串連的HTTP協議訪問後端伺服器,而不是直接轉寄報文到後端伺服器。

    詳情可參考:產品架構

    本文以TCP為例。

    監聽連接埠

    CLB對外提供服務的連接埠。

    80

    詳細配置參數您可參考:CLB監聽

  3. 配置後端伺服器組,選擇已有虛擬伺服器組,確認RDS Custom執行個體的彈性網卡資訊後,單擊下一步

  4. 健全狀態檢查,建議使用預設配置進行健全狀態檢查。

    負載平衡健全狀態檢查功能配置建議

    負載平衡通過健全狀態檢查來判斷後端伺服器的業務可用性。

    開啟健全狀態檢查功能後,當某台後端伺服器健全狀態檢查出現異常時,負載平衡會自動將新的請求分發到其他健全狀態檢查正常的後端伺服器上;而當該後端伺服器恢複正常運行時,負載平衡會將其自動回復到負載平衡服務中進行流量轉寄。

    健全狀態檢查機制提高了使用者業務整體可用性,避免了局部後端伺服器異常對總體服務的影響,是保證業務高可用的重點要素。

    重要

    如果您的業務對負載敏感性高,高頻率的健全狀態檢查探測可能會對正常業務訪問造成影響。您可以結合業務情況,通過降低健全狀態檢查頻率、增大健全狀態檢查間隔、七層檢查修改為四層檢查等方式,來降低對業務的影響。但為了保障業務的持續可用,不建議關閉健全狀態檢查。

    詳情您可參考:CLB健全狀態檢查

  5. 完成組態稽核,並提交。

    當彈出的視窗顯示設定成功時,表示執行個體監聽已配置成功。

步驟六:驗證結果

  1. 在CLB的執行個體管理頁面,擷取CLB的服務地址

    該服務地址為專用網路內網 IP(如 172.x.x.x),顯示在執行個體列表的 服務地址 列中。

  2. 通過與RDS Custom同一地區、同一VPC下的ECS執行個體,執行以下telnet命令,驗證轉寄結果。本文將以CentOS 7的ECS為例。

    說明

    如果未安裝telnet,請執行yum install -y telnet安裝telnet。

    telnet <目標地址> <監聽連接埠>
    • 目標地址:CLB執行個體的服務地址或RDS Custom的私網IP地址。

    • 監聽連接埠:CLB中配置的監聽連接埠,本文以80為例。

    本文以CLB執行個體的服務地址為例:

    telnet 172.16.XX.XX 80

    收到如下的回複報文,則表示CLB可以將請求轉寄至後端伺服器。

    Trying 172.16.XX.XX...
    Connected to 172.16.XX.XX.
    Escape character is '^]'.
  3. 通過curl命令,訪問RDS Custom執行個體中Nginx服務的預設網頁。

    curl http://172.16.XX.XX

    返回結果:

    Hello World ! this is RDS Custom.

(可選)通過公網利用CLB將流量轉寄至RDS Custom執行個體

  1. 建立公網CLB執行個體,其中執行個體類型選擇公網

  2. 建立虛擬伺服器組

  3. 向虛擬伺服器組中添加RDS Custom執行個體

  4. 配置執行個體監聽

  5. 驗證結果。

    通過瀏覽器訪問http://<CLB執行個體的服務地址>,可以正常載入網頁,並顯示Hello World ! this is RDS Custom.

相關文檔