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 コンソール
RDS for Oracle の場合、リードレプリカの制限は、各リージョンのソースデータベースごとに 5 つです。
AWS Backup によって管理されるバックアップは手動 DB スナップショットと見なされますが、手動スナップショットクォータにはカウントされません。AWS Backup の詳細については、『AWS Backup デベロッパーガイド』を参照してください。
いずれかの RDS API オペレーションを使用して、1 秒あたりの呼び出し数のデフォルトのクォータを超えると、Amazon RDS API では次のようなエラーを発行します。
ClientError:
API_Name
オペレーションの呼び出し時にエラー (ThrottlingException) が発生しました (レート超過)。
この場合、1 秒あたりのコール回数を減らします。クォータは、ほとんどのユースケースをカバーするようにしてあります。より大きなクォータが必要な場合は、次のいずれかのオプションを使用してクォータの引き上げをリクエストできます。
-
コンソールで、[Service Quotas コンソール]
を開きます。 -
AWS CLI で、AWS CLI コマンド request-service-quota-increase を使用します。
詳細については、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 インスタンスに適用されます。詳細については、次のエンジン固有の制限を参照してください。