Amazon RDS 的配額和條件限制 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon RDS 的配額和條件限制

您可以在下面找到 Amazon RDS 的資源配額和命名限制的說明。

Amazon RDS 中的配額

每個 AWS 帳戶對於每個 AWS 區域,都有可建立的 Amazon RDS Amazon 資源數量的配額。在達到資源的配額後,建立該資源的額外呼叫便會失敗並發生例外狀況。

下表列出每個 AWS 區域的資源及其配額。

名稱 預設 可調整 描述
每個資料庫安全群組的授權 每個受支援的區域:20 每個資料庫安全群組的安全群組授權數
自訂引擎版本 每個受支援的區域:40 在目前區域中,此帳戶所允許的自訂引擎版本數量上限
資料庫叢集參數群組 每個受支援的區域:50 資料庫叢集參數群組的數量上限
資料庫叢集 每個受支援的區域:40 在目前區域中,此帳戶允許地的 Aurora 叢集數量上限
資料庫執行個體 每個受支援的區域:40 在目前區域中,此帳戶允許地的資料庫執行個體數量上限
資料庫子網路群組 每個受支援的區域:50 資料庫子網路群組的數量上限
資料 API HTTP 要求主體大小 每個受支援的區域:4 MB HTTP 請求內文允許的大小上限。
資料 API 並行叢集密碼配對上限 每個受支援的區域:30 目前帳戶和 AWS 區域的並行資料 API 請求中,Aurora 無伺服器資料庫叢集和機密的唯一對數目上限。
資料 API 並行請求上限 每個受支援的區域:500 對 Aurora 無伺服器資料庫叢集提出的資料 API 請求數量上限,這些請求使用相同的秘密,且系統會同時處理這些請求。其他請求會排入佇列,並在同處理序請求完成時進行處理。
資料 API 結果集大小上限 每個受支援的區域:1 MB 資料 API 可傳回的資料庫結果集大小上限。
JSON 回應字串的資料 API 大小上限 每個受支援的區域:10 MB RDS 資料 API 傳回的簡化 JSON 回應字串大小上限。
每秒的資料 API 請求數 每個受支援的區域:每秒 1,000 在目前 AWS 區域中,此帳戶每秒允許的資料 API 要求數目上限。
事件訂閱 每個受支援的區域:20 事件訂閱的數量上限
每個資料庫叢集的 IAM 角色 每個受支援的區域:5 與資料庫叢集相關聯之 IAM 角色的數量上限
每個資料庫執行個體的 IAM 角色 每個受支援的區域:5 與資料庫執行個體相關聯的 IAM 角色數量上限
手動資料庫叢集快照 每個受支援的區域:100 手動資料庫叢集快照的數量上限
資料庫執行個體手動快照 每個受支援的區域:100 手動資料庫執行個體快照的數量上限
選項群組 每個受支援的區域:20 選項群組的數量上限
參數群組 每個受支援的區域:50 參數群組的數量上限
代理 每個受支援的區域:20 此帳戶在當 AWS 前區域中允許的最大代理數量
每個主要項目的僅供讀取複本 每個受支援的區域:15 每個主資料庫執行個體的僅供讀取複本數量上限 此配額無法針對 Amazon Aurora 調整。
預留資料庫執行個體 每個受支援的區域:40 目前 AWS 區域中此帳戶允許的預留資料庫執行個體數目上限
每個安全群組的規則數 每個受支援的區域:20 每個資料庫安全群組的規則上限
安全群組 每個受支援的區域:25 資料庫安全群組數量上限
安全群組 (VPC) 每個受支援的區域:5 每個 Amazon VPC 之資料庫安全群組數量上限
每個資料庫子網路群組的子網路 每個受支援的區域:20 每個資料庫子網路群組的子網路數目上限
每個資源的標籤 每個受支援的區域:50 每個 Amazon RDS 資源的標籤數量上限
所有資料庫執行個體的儲存總量 所有受支援的區域:100,000 GB EBS 磁碟區上所有 Amazon RDS 資料庫執行個體加在一起的儲存體總量上限 (以 GB 為單位) 此配額不適用於 Amazon Aurora,因為每個資料庫叢集的叢集磁碟區上限為 128 TiB。
注意

根據預設,您最多可以擁有 40 個資料庫執行個體。RDS 資料庫執行個體、Aurora 資料庫執行個體、Amazon Neptune 執行個體和 Amazon DocumentDB 執行個體皆適用此配額。

下列限制適用於 Amazon RDS 資料庫執行個體:

  • 每個 SQL Server 資料庫版本 (Enterprise、Standard、Web 和 Express) 最多有 10 個「已包含授權」模式的執行個體

  • "license-included" 模式下的 10 for Oracle

  • 「bring-your-own-license」授權模式下的 Db2 為 40

  • 40 個資料庫執行個體可以是 MySQL、MariaDB 或 PostgreSQL

  • 40 適用於甲骨文在 "bring-your-own-license" (BYOL) 授權模式下

如果您的應用程式需要更多資料庫執行個體,您可以透過開啟 Service Quotas 主控台來請求額外的資料庫執行個體。在導覽窗格中,選擇 AWS services (AWS 服務)。選擇 Amazon Relational Database Service (Amazon RDS),再選擇配額,然後按照指示請求增加配額。如需詳細資訊,請參閱《Service Quotas 使用者指南》中的請求提高配額

對於 RDS for Oracle 和 RDS for SQL Server,每個區域每個來源資料庫的僅供讀取複本限制為 5。

由管理的備份視 AWS Backup 為手動資料庫快照,但不會計入手動快照配額中。如需相關資訊 AWS Backup,請參閱開AWS Backup 發人員指南

如果您使用任何 RDS API 操作,且超過每秒呼叫次數的預設配額,Amazon RDS API 會發出類似下面的錯誤。

ClientError:呼叫 API_name 作業時發生錯誤 (ThrottlingException):超過速率。

在這裡,減少每秒呼叫次數。配額旨在涵蓋大多數使用案例。如果需要更高的限制,請聯絡以申請增加配額 AWS Support。開啟 AWS Support 中心頁面,如有必要請登入,然後選擇 Create case (建立案例)。選擇 Service limit increase (提高服務限制)。填妥並提交表格。

注意

此配額無法在 Amazon RDS Service Quotas 主控台中變更。

Amazon RDS 中的命名限制

下表說明 Amazon RDS 中的命名限制。

資源或項目 限制

資料庫執行個體識別符

識別符具有這些命名條件限制:

  • 必須包含 1–63 個英數字元或連字號。

  • 第一個字元必須是字母。

  • 不能以一個連字號結尾或是連續包含兩個連字號。

  • 每個 AWS 帳戶每個 AWS 區域的所有資料庫執行個體必須是唯一的。

資料庫名稱

資料庫名稱條件限制會因每個資料庫引擎而有所不同。如需更多詳細資訊,請參閱建立每個資料庫執行個體時的可用設定。

注意

這種方法不適用於 SQL Server。針對 SQL Server,您可以在建立資料庫執行個體之後建立資料庫。

主要使用者名稱

每個資料庫引擎都有不同的主要使用者名稱限制。如需更多詳細資訊,請參閱建立每個資料庫執行個體時的可用設定。

Master password (主要密碼)

資料庫主要使用者密碼可包含任何可印刷的 ASCII 字元,但 /'"@ 或空格除外。對於 Oracle,& 是額外的字元限制。密碼會有下列數量的可列印 ASCII 字元,取決於資料庫引擎:

  • 二級分貝:八至五十五

  • MariaDB 及 MySQL:8–41

  • Oracle:8–30

  • SQL Server 及 PostgreSQL:8–128

資料庫參數群組名稱

這些名稱具有下列條件限制:

  • 必須包含 1–255 個英數字元。

  • 第一個字元必須是字母。

  • 允許連字號,但名稱不得以連字號為結尾或包含兩個連續的連字號。

資料庫子網路群組名稱

這些名稱具有下列條件限制:

  • 必須包含 1–255 個字元。

  • 允許英數字母、空格、連字號、底線和句點。

資料庫連線數上限

同時資料庫連線的最大數量取決於資料庫引擎類型和資料庫執行個體類別的記憶體配置。連線數目上限通常會在與資料庫執行個體相關聯的參數群組中設定。例外狀況是 Microsoft SQL Server,它是在 SQL Server Management Studio (SSMS) 中資料庫執行個體的伺服器屬性中設定。

資料庫連線會耗用記憶體。如果其中一個參數的設定值過高,則可能會導致記憶體不足的情況出現,進而導致資料庫執行個體處於 incompatible-parameters (不相容參數) 狀態。如需詳細資訊,請參閱 診斷和解決記憶體限制的不相容參數狀態

如果您的應用程式經常開啟和關閉連線,或者保持大量長期連線開啟,我們建議您使用 Amazon RDS Proxy。RDS 代理是個完全受管、高可用性的資料庫代理,其使用連線集區,安全且高效地共用資料庫連線。如要進一步了解 RDS 代理,請參閱 使用 Amazon RDS Proxy

注意

對於 Oracle,您可以設定使用者程序,以及使用者與系統工作階段的數量上限。

對於 Db2,您無法設定最大連線數。限制是 64 萬。

資料庫連線數上限
資料庫引擎 參數 允許的值 預設值 描述
MariaDB 及 MySQL max_connections 1–100000

所有 MariaDB 和 MySQL 版本的預設值,但 MariaDB 10.5 和 10.6 版除外:

{資料庫 InstanceClassMemory /12582880}

MariaDB 10.5 和 10.6 版的預設值:

最少 ({分貝 InstanceClassMemory /25165760}

注意

無論是哪一種情況,如果預設值計算結果是大於 16,000 的值,則 Amazon RDS 會將 MariaDB 和 MySQL 資料庫執行個體的限制設定為 16,000。

允許的同時用戶端連線數目
Oracle processes 80–20000 最少 (分貝 InstanceClassMemory /9868951} 使用者程序
sessions 100–65535 使用者和系統工作階段
PostgreSQL max_connections 6–8388607 最少 ({分貝 InstanceClassMemory /9531392} 同時連線的數目上限
SQL Server 同時連線的數目上限 0–32767 0 (無限制) 同時連線的數目上限

DBInstanceClassMemory 是以位元組為單位。如需如何計算此值的詳細資訊,請參閱 指定資料庫參數。由於為作業系統和 RDS 管理程序保留了記憶體,此記憶體大小會小於 的資料庫執行個體類別的硬體規格 中顯示的值 (單位為 gibibyte (GiB))。

例如,某些資料庫執行個體類別具有 8 GiB 的記憶體,也就是 8,589,934,592 個位元組。對於在具有 8 GiB 記憶體 (例如 db.m7g.large) 的資料庫執行個體類別上執行的 MySQL 資料庫執行個體,則使用總記憶體的方程式會是 8589934592/12582880=683。然而,變數 DBInstanceClassMemory 會自動減去為作業系統和管理資料庫執行個體的 RDS 程序所預留的數量。然後將剩餘部分除以 12,582,880。此計算得出的 max_connections 值大約為 630,而不是 683。此值取決於資料庫執行個體類別和資料庫引擎。

當 MariaDB 或 MySQL 資料庫執行個體在小型資料庫執行個體類別 (例如 db.t3.micro 或 db.t3.small) 上執行時,可用的記憶體總數較少。對於這些資料庫執行個體類別,RDS 會預留記憶體的一大部分,而這會影響值 max_connections。例如,在 db.t3.micro 資料庫執行個體類別上執行的 MySQL 資料庫執行個體,其預設最大連線數約為 60。您可以透過連線至資料庫 MariaDB 或 MySQL 資料庫執行個體並執行下列 SQL 命令來判斷其 max_connections 值:

SHOW GLOBAL VARIABLES LIKE 'max_connections';

Amazon RDS 中的檔案大小限制

檔案大小限制適用於特定 Amazon RDS 資料庫執行個體。如需詳細資訊,請參閱下列引擎特定限制: