Amazon RDS のクォータと制約 - Amazon Relational Database Service

Amazon RDS のクォータと制約

Amazon RDS のリソースのクォータと名前付け制約の説明は次のとおりです。

Amazon RDS のクォータ

各 AWS アカウントには、AWS リージョン別に、作成できる Amazon RDS リソースの数に適用されるクォータがあります。リソースのクォータに達すると、そのリソースを作成するための追加の呼び出しは、失敗して例外が発生します。

次の表に、AWS リージョンごとのリソースとそのクォータを示します。

名前 デフォルト 引き上げ可能 説明
DB セキュリティグループごとの承認 サポートされている各リージョン: 20 不可 DB セキュリティグループあたりのセキュリティグループ認可数
カスタムエンジンバージョン サポートされている各リージョン: 40 可能 現在のリージョンでこのアカウントに許可されるカスタムエンジンバージョンの最大数
DB クラスターのパラメータグループ サポートされている各リージョン: 50 不可 DB クラスターパラメータグループの最大数
DB クラスター サポートされている各リージョン: 40 可能 現在のリージョンでこのアカウントに許可される Aurora クラスターの最大数
DB インスタンス サポートされている各リージョン: 40 可能 現在のリージョンでこのアカウントに許可される DB インスタンスの最大数
DB サブネットグループ サポートされている各リージョン: 50 可能 DB サブネットグループの最大数
Data API HTTP リクエスト本文のサイズ サポートされている各リージョン: 4 MB 不可 HTTP リクエスト本文に許可される最大サイズ。
Data API 最大同時実行クラスターシークレットペア サポートされている各リージョン: 30 不可 AWS リージョンの現在のアカウントにおける同時実行 Data API リクエストでの Aurora Serverless v1 DB クラスターとシークレットの一意のペアの最大数。
Data API 最大同時実行リクエスト サポートされている各リージョン: 500 不可 Aurora Serverless v1 DB クラスターに対する Data API リクエストのうち、同じシークレットを使用し、同時に処理可能であるものの最大数。追加のリクエストはキューに入れられ、処理中のリクエストが完了すると処理されます。
データ API の結果セットの最大サイズ サポートされている各リージョン: 1 MB 不可 Data API によって返されるデータベース結果セットの最大サイズ。
データ API の JSON レスポンス文字列の最大サイズ サポートされている各リージョン: 10 MB 不可 RDS データ API によって返される簡略化された JSON レスポンス文字列の最大サイズ。
1 秒あたりのデータ API リクエスト数 サポートされている各リージョン: 1,000/秒 不可 現在の AWS リージョンで、このアカウントで実行できる 1 秒あたりの Data API へのリクエストの最大数
イベントサブスクリプション サポートされている各リージョン: 20 可能 イベントサブスクリプションの最大数
DB クラスターごとの IAM ロール サポートされている各リージョン: 5 可能 DB クラスターに関連付けられる IAM ロールの最大数
DB インスタンスごとの IAM ロール サポートされている各リージョン: 5 可能 DB インスタンスに関連付けられる IAM ロールの最大数
統合 サポートされている各リージョン: 100 不可 現在の AWS リージョンでこのアカウントに許可される統合の最大数。
手動 DB クラスタースナップショット サポートされている各リージョン: 100 可能 手動 DB クラスタースナップショットの最大数
手動の DB インスタンスのスナップショット サポートされている各リージョン: 100 可能 手動 DB インスタンススナップショットの最大数
オプショングループ サポートされている各リージョン: 20 可能 オプショングループの最大数
パラメータグループ サポートされている各リージョン: 50 可能 パラメータグループの最大数
プロキシ サポートされている各リージョン: 20 可能 現在の AWS リージョンでこのアカウントに許可されるプロキシの最大数
プライマリあたりのリードレプリカ数 サポートされている各リージョン: 15 可能 プライマリ DB インスタンスあたりのリードレプリカの最大数。このクォータは、Amazon Aurora 用に調整できません。
リザーブド DB インスタンス サポートされている各リージョン: 40 可能 現在の AWS リージョンでこのアカウントに許可される予約 DB インスタンスの最大数
セキュリティグループあたりのルールの数 サポートされている各リージョン: 20 不可 DB セキュリティグループあたりのルールの最大数
セキュリティグループ サポートされている各リージョン: 25 可能 DB セキュリティグループの最大数
セキュリティグループ (VPC) サポートされている各リージョン: 5 不可 Amazon VPC あたりの DB セキュリティグループの最大数
DB サブネットグループあたりのサブネット サポートされている各リージョン: 20 不可 DB サブネットグループあたりのサブネットの最大数
リソースあたりのタグ サポートされている各リージョン: 50 不可 Amazon RDS リソースあたりのタグの最大数
すべての DB インスタンスの合計ストレージ サポートされている各リージョン: 100,000 GB 可能 一緒に追加されたすべての Amazon RDS DB インスタンスの EBS ボリュームの最大ストレージ合計 (GB 単位)。このクォータは、各 DB クラスターの最大クラスターボリュームが 128 TiB である Amazon Aurora には適用されません。
注記

デフォルトでは、最大で合計 40 の DB インスタンスを持つことができます。RDS DB インスタンス、Aurora DB インスタンス、Amazon Neptune インスタンス、および Amazon DocumentDB インスタンスは、このクォータに該当します。

Amazon RDS DB インスタンスには、次の制限が適用されます。

  • 「ライセンス込み」のモデルでは、各 SQL Server のエディション (Enterprise、Standard、Web、および Express) ごとにインスタンスをそれぞれ最大 10 使用することができます。

  • 「ライセンス込み」モデルに基づく Oracle 向けの 10

  • 「Bring-Your-Own-License (BYOL)」ライセンスモデルの Db2 の場合は 40

  • MySQL、MariaDB、または PostgreSQL では、40 使用できます。

  • 「Bring-Your-Own-License (BYOL)」 モデルの Oracle では、40 使用できます。

アプリケーションでさらに多くの DB インスタンスが必要な場合は、Service Quotas コンソールを開いて、追加の DB インスタンスをリクエストできます。ナビゲーションペインで、[AWS のサービス] を選択します。[Amazon Relational Database Service (Amazon RDS)] を選択してクォータを選択し、指示に従ってクォータの引き上げをリクエストします。詳細については、「Service Quotas ユーザーガイド」の「クォータの引き上げのリクエスト」を参照してください。

RDS for Oracle の場合、リードレプリカの制限は、各リージョンのソースデータベースごとに 5 つです。

AWS Backup によって管理されるバックアップは手動 DB スナップショットと見なされますが、手動スナップショットクォータにはカウントされません。AWS Backup の詳細については、『AWS Backup デベロッパーガイド』を参照してください。

いずれかの RDS API オペレーションを使用して、1 秒あたりの呼び出し数のデフォルトのクォータを超えると、Amazon RDS API では次のようなエラーを発行します。

ClientError: API_Name オペレーションの呼び出し時にエラー (ThrottlingException) が発生しました (レート超過)。

この場合、1 秒あたりのコール回数を減らします。クォータは、ほとんどのユースケースをカバーするようにしてあります。より大きなクォータが必要な場合は、次のいずれかのオプションを使用してクォータの引き上げをリクエストできます。

詳細については、Service Quotas ユーザーガイドを参照してください。

Amazon RDS の命名に関する制約

Amazon RDS の命名に関する制約を次に示します。

  • DB インスタンス識別子:

    • 1~63 個の英数字またはハイフンを使用する必要があります。

    • 1 字目は文字である必要があります。

    • 文字列の最後にハイフンを使用したり、ハイフンを 2 つ続けて使用したりすることはできません。

    • 1 つの AWS アカウント、1 つの AWS リージョンにつき、すべての DB インスタンスにおいて一意である必要があります。

  • 初期データベース名:

    • データベース名の制約は、データベースエンジンごとに異なります。詳細については、各 DB インスタンスの作成時に使用できる設定を参照してください。

    • SQL Server – DB インスタンスを作成した後、データベースを作成します。

  • マスターユーザー名 – マスターユーザー名の制約は、データベースエンジンごとに異なります。詳細については、DB インスタンスの作成時に使用できる設定を参照してください。

  • マスターパスワード:

    • データベースのマスターユーザーのパスワードには、すべての印刷可能な ASCII 文字 (/'"@、またはスペースを除く) を使用できます。

      Oracle の場合、& は追加の文字制限です。

    • パスワードには、DB エンジンに応じて、次の数の印字可能な ASCII 文字を含めることができます:

      • Db2: 8~255

      • MariaDB および MySQL: 8~41 文字

      • Oracle: 8~30 文字

      • SQL Server および PostgreSQL: 8~128 文字

  • DB パラメータグループ:

    • 1~255 個の英数字を使用する必要があります。

    • 1 字目は文字である必要があります。

    • この名前では、ハイフンを使用できますが、末尾に使用したり、2 つ続けて使用したりすることはできません。

  • DB サブネットグループ:

    • 1~255 文字を使用する必要があります。

    • 英数字、スペース、ハイフン、アンダースコア、ピリオドを使用できます。

データベース接続の最大数

同時データベース接続の最大数は、DB エンジンのタイプと DB インスタンスクラスのメモリ割り当てによって異なります。最大接続数は、通常は DB インスタンスに関連付けられたパラメータグループで設定されます。例外は、Microsoft SQL Server Management Studio (SSMS) の DB インスタンスのサーバープロパティで設定される Microsoft SQL Server です。

データベース接続は、メモリを消費します。これらのパラメータのいずれかを高く設定しすぎると、メモリ不足が発生し、DB インスタンスが互換性のないパラメータステータスになる可能性があります。詳細については、「メモリ制限と互換性のないパラメータの状態の診断と解決」を参照してください。

アプリケーションが頻繁に接続を開いたり閉じたりする場合や、長時間の接続を多数開いたままにする場合は、Amazon RDS Proxy の使用を推奨します。RDS Proxy は、接続プーリングを使用してデータベース接続を安全かつ効率的に共有する、フルマネージドの高可用性データベースプロキシです。RDS Proxy の詳細については、Amazon RDS Proxy の使用 を参照してください。

注記

Oracle の場合は、ユーザープロセス、ユーザーセッションとシステムセッションの最大数を設定します。

Db2 の場合、最大接続数を設定することはできません。上限は 64000 です。

次の表は、さまざまな DB エンジンの最大データベース接続数に関する情報を示しています。

DB エンジン Parameter 許可される値 デフォルト値 説明
MariaDB、および MySQL max_connections 1-100000

MariaDB バージョン 10.5 および 10.6 を除く、すべての MariaDB および MySQL バージョンのデフォルト:

{DBInstanceClassMemory/12582880}

この式は実質的に MB/12 と同等です。

MariaDB バージョン 10.5 および 10.6 のデフォルト:

LEAST({DBInstanceClassMemory/25165760},12000)

この式は実質的に MB/25 と同等です。

いずれにおいても、デフォルト値の計算結果の値が 16,000 を超える場合、Amazon RDS は MariaDB および MySQL DB インスタンスの制限を 16,000 に設定します。

許可されるクライアントの同時接続数
Oracle processes 80-20000 LEAST({DBInstanceClassMemory/9868951}, 20000) ユーザープロセス
Oracle sessions 100-65535 該当しない ユーザーセッションとシステムセッション
PostgreSQL max_connections 6-8388607 LEAST({DBInstanceClassMemory/9531392}, 5000) 同時接続の最大数
SQL Server user connections 0-32767 0 (無制限) 同時接続の最大数 詳細については、「ユーザー接続の設定 (サーバー設定オプション)」を参照してください。

DBInstanceClassMemory の単位はバイトです。この数値の計算方法の詳細については、「DB パラメータの指定」を参照してください。オペレーティングシステムおよび RDS 管理プロセス用に予約されているメモリにより、このメモリサイズは、DB インスタンスクラスのハードウェア仕様 に示すギビバイト (GiB) 単位の値よりも小さくなります。

例えば、一部の DB インスタンスクラスには 8 GiB のメモリがあり、これは 8,589,934,592 バイトです。メモリが 8 GiB の DB インスタンスクラスで実行されている MySQL DB インスタンス (db.m7g.large など) の場合、合計メモリを使用する式は 8589934592/12582880=683 になります。ただし、変数 DBInstanceClassMemory によって、この DB インスタンスを管理するオペレーティングシステムと RDS プロセスに予約されている量が自動的に減算されます。次に、減算した残りが 12,582,880 で除算されます。この計算の結果、max_connections の値は 683 ではなく約 630 になります。この値は、DB インスタンスクラスと DB エンジンによって異なります。

MariaDB または MySQL DB インスタンスが db.t3.micro や db.t3.small などの小さな DB インスタンスクラスで実行されている場合、使用可能な合計メモリは少なくなります。これらの DB インスタンスクラスでは、使用可能なメモリのかなりの部分が RDS によって予約されるため、値 max_connections に影響します。例えば、db.t3.micro DB インスタンスクラスで実行されている MySQL DB インスタンスのデフォルトの最大接続数は約 60 です。DB MariaDB インスタンスまたは MySQL DB インスタンスの max_connections 値を確認するには、そのインスタンスに接続し、次の SQL コマンドを実行します。

SHOW GLOBAL VARIABLES LIKE 'max_connections';

Amazon RDS のファイルサイズ制限

ファイルサイズの制限は、特定の Amazon RDS DB インスタンスに適用されます。詳細については、次のエンジン固有の制限を参照してください。