全部產品
Search
文件中心

ApsaraDB RDS:開通資料庫代理

更新時間:Oct 26, 2024

RDS MySQL資料庫代理支援讀寫分離、串連保持、就近訪問、事務拆分、串連池、SSL加密等功能,能夠降低主執行個體負載,提高執行個體可用性和安全性。本文介紹通過RDS控制台和API介面開通RDS MySQL資料庫代理的方法以及推薦代理規格的計算方式。

前提條件

主執行個體需滿足以下條件:

  • 版本:

    資料庫引擎及版本

    執行個體系列

    核心小版本

    MySQL 8.0

    高可用系列

    20190915或以上

    叢集系列

    無要求

    MySQL 5.7

    高可用系列

    20190925或以上

    叢集系列

    無要求

    MySQL 5.6

    高可用系列

    20200229或以上

  • 地區:執行個體不處於華東1(杭州)可用性區域C和D。

說明

您可以前往執行個體基本資料頁面查看以上資訊。如果配置資訊地區有升級核心小版本按鈕,您可以單擊按鈕查看目前的版本;如果沒有按鈕,表示已經是最新版。詳情請參見升級核心小版本

費用說明

使用限制

資料庫代理暫不支援壓縮協議。

注意事項

  • 對於叢集系列執行個體,您可以直接使用執行個體的主備節點搭建讀寫分離結構。

  • 開通資料庫代理後,不建議遷移RDS主執行個體可用性區域。如果遷移主執行個體可用性區域,將會導致主執行個體與資料庫代理不在同一可用性區域,從而使資料庫訪問延遲增高,響應變慢。

    說明

    如果因業務故障導致RDS執行個體主備切換,您可以手動切換主備執行個體遷移代理可用性區域,使RDS主執行個體主可用性區域與代理可用性區域保持一致,降低訪問延遲。

操作步驟

說明

本節介紹如何在執行個體詳情頁開啟或關閉資料庫代理服務,您也可以在建立唯讀執行個體的同時開啟資料庫代理服務,詳情請參見建立MySQL唯讀執行個體

開啟資料庫代理

  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。

  2. 在左側導覽列,單擊資料庫代理

  3. 在目標代理類型下方,單擊立即開通

  4. 開通資料庫代理彈窗頁面,配置以下代理資訊。

    參數

    說明

    代理類型

    分為通用型和獨享型,詳情請參見代理類型介紹

    部署方案

    支援雙可用性區域部署和單可用性區域部署,詳情請參見代理部署架構

    說明

    建議您開啟雙可用性區域部署的資料庫代理,以具備跨可用性區域容災能力,進一步提升系統可用性。

    節點總個數

    1個資料庫代理執行個體包含多個代理節點,支援:

    • 2個:單可用性區域部署、雙可用性區域部署

    • 4個:雙可用性區域部署

    可用性區域

    代理節點所在的可用性區域,建議資料庫代理可用性區域和RDS執行個體的可用性區域保持一致。

    單節點代理規格CPU(核)

    重要
    • 同一可用性區域內的代理節點規格必須一致。

    • 雙可用性區域部署,且代理節點總個數為2時,兩個節點規格必須一致。

    • 通用型:1~8核。

    • 獨享型:1~16核。

    您可以參考下述說明內容選擇合適的單節點代理規格。

    代理串連地址可用性區域

    開通代理時,會預設為您建立1個代理串連地址,您需要指定代理串連地址網路可用性區域,建議和RDS主執行個體的主可用性區域保持一致。

    如何選擇合適的單節點代理規格

    推薦單個代理節點規格計算方式如下:

    代理類型

    高可用系列執行個體

    叢集系列執行個體

    通用型

    (主執行個體CPU核心數+該主執行個體下所有隻讀執行個體CPU核心數)/4(向上取整)。

    (主節點CPU核心數+該主節點下所有備節點CPU核心數)/4(向上取整)。

    獨享型

    (主執行個體CPU核心數+該主執行個體下所有隻讀執行個體CPU核心數)/8(向上取整)。

    (主節點CPU核心數+該主節點下所有備節點CPU數)/8(向上取整)。

    例如,RDS高可用系列執行個體:主執行個體為8核CPU,該執行個體下有1個4核CPU唯讀節點和1個6核CPU唯讀節點,推薦單個代理節點規格為(8+4+6)/8=3核。

  5. 單擊確定

    開啟資料庫代理後,您可以在資料庫代理頁簽看到資料庫代理的基本資料和串連資訊。

    類別

    參數

    說明

    基本資料

    主執行個體

    RDS MySQL執行個體ID。

    代理執行個體狀態

    代理執行個體的運行狀態。

    代理類型

    代理類型,分為通用型和獨享型。通用型代理和獨享型代理的差異,請參見代理類型介紹

    可用性區域

    代理執行個體的可用性區域資訊,與主執行個體的主可用性區域相同。

    代理規格

    當前代理規格。

    • 代理規格和代理單節點規格的關係:代理規格 = 所有代理節點規格求和

    • 代理個數和代理規格的關係:代理個數 = 代理規格 / 單位代理規格

    代理小版本

    代理的核心小版本。

    說明

    各小版本的更新詳情,請參見資料庫代理小版本發布記錄。若您需要升級資料庫代理小版本,請參見升級資料庫代理核心小版本

    代理節點

    節點ID

    代理節點ID。

    可用性區域

    代理節點所在可用性區域。

    代理節點規格CPU(核)

    單個代理節點規格。

    串連資訊

    代理串連地址(終端)ID

    • 每個RDS MySQL資料庫執行個體支援申請1~7個代理串連地址,每個代理串連地址都可以申請1個內網地址和1個外網地址,支援為每個代理串連地址配置不同的存取原則。

    • 開通時系統會自動分配1個代理串連地址,您可以直接使用。如需修改配置,請參見設定資料庫代理串連地址存取原則

    讀寫屬性

    • 讀寫(讀寫分離)(預設):同時串連主執行個體和唯讀執行個體,可以接受寫請求。

    • 唯讀(不串連主執行個體,無法接受寫請求):僅串連唯讀執行個體,不接受寫請求。

    更多資訊,請參見設定讀寫屬性和讀權重

    就近訪問

    僅雙可用性區域4代理節點的部署形式支援就近訪問,詳情請參見設定就近訪問

    網路資訊

    代理的可用性區域、VPC及交換器資訊。

    支援切換交換器。切換交換器前,請先瞭解切換交換器的影響。單擊切換交換器,選擇目標交換器變更時間,並單擊確定

    內網地址/連接埠

    外網地址/連接埠

    代理外網串連地址和連接埠。

    通過該地址可以從外網串連RDS MySQL資料庫執行個體,使用資料庫代理功能。

    說明
    • 資料庫代理預設提供內網串連地址,您可以申請外網地址。

    • 申請外網地址後,您可以單擊串連地址右側的image.png按鈕,修改串連地址首碼和連接埠號碼。更多資訊,請參見設定資料庫代理串連地址

(可選)關閉資料庫代理

注意事項

關閉資料庫代理可能產生以下影響:

  • 讀寫分離失效:如您通過資料庫代理實現讀寫分離,關閉代理後,應用程式將無法區分並路由讀請求至唯讀執行個體,所有請求都將發送至主執行個體,引起主執行個體負載過高,影響資料庫效能和穩定性。

  • 串連失效:如您通過資料庫代理串連資料庫,關閉代理後,通過Proxy 位址訪問資料庫的應用程式將會斷開。

  • 串連管理問題:阿里雲資料庫代理提供串連池管理、長串連保持等功能。關閉代理後,需在應用側建立程式管理資料庫串連,可能會增加串連建立和銷毀的開銷,影響效能。

  • 安全風險:資料庫代理作為一道安全屏障,提供存取控制、安全性原則等功能。關閉代理可能直接暴露資料庫執行個體,增加被攻擊的風險。

  • 營運複雜度增加:代理通常提供監控、日誌收集、故障檢測等功能,關閉後這些功能可能需要通過其他手段實現,增加了營運的複雜度和工作量。

  • 效能影響:雖然直接連接資料庫可以減少一次網路跳轉,提高局部通訊效率,但失去代理的最佳化能力,如查詢快取、串連複用等,在高並發情境下對效能產生負面影響。

  • 相容性問題:如果應用程式依賴於代理提供的特殊功能或協議轉換,直接連接可能導致相容性問題。

  • 故障切換和高可用性:資料庫代理在一些情境中可能參與故障檢測和自動容錯移轉。關閉代理則需要手動處理這些情況,影響服務的高可用性。

  • 資料庫連接:關閉資料庫代理會釋放代理串連地址(原代理終端),應用程式將不能通過內網或外網代理串連地址串連資料庫執行個體,已存在串連將會斷開。RDS MySQL執行個體地址不受影響。

  • 關閉後如果再次開通,代理串連地址會改變。

操作步驟

  1. 訪問RDS執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。

  2. 在左側導覽列,單擊資料庫代理

  3. 在頁面右上方,單擊關閉代理服務

  4. 單擊確定

相關API

API

描述

ModifyDBProxy

開啟RDS MySQL執行個體的資料庫代理功能時,您需要將ConfigDBProxyService參數設定為Startup,其他參數請按需配置。

DescribeDBProxy

查詢RDS MySQL執行個體的資料庫代理詳情。