Aurora Serverless v2 の要件と制限
Aurora Serverless v2 DB インスタンスを使用する予定のクラスターを作成する際には、以下の要件と制限に注意してください。
トピック
利用可能なリージョンとバージョン
利用できる機能とそのサポートは、各 Aurora データベースエンジンの特定のバージョン、および AWS リージョン によって異なります。Aurora と Aurora Serverless v2 でのバージョンとリージョン可用性については、「Aurora Serverless v2 でサポートされているリージョンと Aurora DB エンジン」を参照してください。
以下の例では、特定の AWS リージョン に Aurora Serverless v2 で使用できる正確な DB エンジンの値を確認するための AWS CLI コマンドを示しています。Aurora Serverless v2 の --db-instance-class パラメータは常に db.serverless です。--engine パラメータには aurora-mysql または aurora-postgresql が使用できます。適切な --region および --engine 値を代入して、使用可能な --engine-version の値を確認します。コマンドによって何も出力されない場合は、Aurora Serverless v2 は、その AWS リージョン と DB エンジンの組み合わせでは使用できません。
aws rds describe-orderable-db-instance-options --engine aurora-mysql --db-instance-class db.serverless \ --regionmy_region--query 'OrderableDBInstanceOptions[].[EngineVersion]' --output text aws rds describe-orderable-db-instance-options --engine aurora-postgresql --db-instance-class db.serverless \ --regionmy_region--query 'OrderableDBInstanceOptions[].[EngineVersion]' --output text
Aurora Serverless v2 を使用するクラスターは、容量範囲を指定する必要があります
db.serverless DB インスタンスクラスを使用する DB インスタンスを追加する前に、Aurora クラスターが ServerlessV2ScalingConfiguration 属性を持っている必要があります。この属性には容量範囲を指定します。Aurora Serverless v2 容量は、最小 0 Aurora 容量単位 (ACU) から最大 256 ACU までの範囲で、0.5 ACU 単位で指定します。指定可能な最小値は、Aurora のバージョンによって異なります。各 ACU は、約 2 ギビバイト (GiB) の RAM と、関連する CPU とネットワーキングに相当します。Aurora Serverless v2 の容量範囲設定の使用方法についての詳細は、「Aurora Serverless v2 の仕組み」を参照してください。
さまざまな DB エンジンバージョンやプラットフォームバージョンの許容される容量範囲については、「Aurora Serverless v2 の容量」を参照してください。特定のクラスターで使用可能なスケーリング範囲は、エンジンバージョンとハードウェア (プラットフォームバージョン) の両方の影響を受けます。
ACU の最小値と最大値は、クラスターと関連する Aurora Serverless v2 DB インスタンスを作成するときに AWS マネジメントコンソール で指定できます。AWS CLI の --serverless-v2-scaling-configuration オプションでも指定できます。または、Amazon RDS API で ServerlessV2ScalingConfiguration パラメータを指定します。この属性は、クラスターの作成時、または既存のクラスターの変更時に指定できます。容量範囲を設定する手順については、「Aurora Serverless v2 クラスターの容量設定」を参照してください。最小容量と最大容量値を選択する方法と、それらの設定が一部のデータベースパラメータに与える影響の詳細については、「Aurora クラスターの Aurora Serverless v2 での容量範囲の選択」を参照してください。
互換性のないスケーリング設定
Aurora PostgreSQL クラスターの最大容量を低く変更すると、各インスタンスは新しい設定に合わせてスケールダウンされます。Aurora は、インスタンスのスケールダウンに問題があることを検出した場合、スケーリング設定の更新をキャンセルしてロールバックすることがあります。その結果、インスタンスは以前の設定にスケールアップされます。この問題は、新しい最大容量が現在のワークロードを処理するのに不十分な場合、またはクラスターまたはインスタンスのデータベースパラメータグループに適用されるカスタムパラメータの設定が高すぎる場合に発生する可能性があります。
ロールバックが開始されると、Amazon RDS イベントを介して通知されます。このイベントには、必要なスケーリング設定を適用できなかったインスタンスに関する情報が含まれています。ロールバックが完了すると、スケーリング設定の最大容量は元のより高い値に戻ります。ロールバックの結果、クラスターのすべてのインスタンスの Aurora Serverless データベース容量も増加し、コストが高くなる可能性があります。
例えば、単一のインスタンスを持つ Aurora PostgreSQL Aurora Serverless クラスターがあり、スケーリング設定が minCapacity=0.5、maxCapacity=128、および secondsUntilAutopause=null に設定されているとします。さらに、データベースパラメータ track_activity_query_size はカスタム値である 40960 に設定されています。次に、クラスターのスケーリング設定を変更して最大容量を 1 ACU にすると、数時間経っても変更が完了していないことに気づくかもしれません。track_activity_query_size パラメータの値が大きいほど、新しい最大容量が提供できるリソースよりも多くのリソースが必要です。その結果、ワークロードがない場合でも、インスタンスの ServerlessDatabaseCapacity は新しい最大容量である 1 ACU に合わせてスケールダウンできません。Aurora Serverless v2 はスケーリング設定の変更をキャンセルし、以前のスケーリング設定である minCapacity=0.5、maxCapacity=128、secondsUntilAutopause=null を再適用します。その後、インスタンスは以前のスケーリング設定に合わせてスケールアップし、クラスターの変更を終了します。Amazon RDS イベントが発行され、互換性のないスケーリング設定の更新が検出され、そのキャンセルが行われ、以前の設定にロールバックされたことが通知されます。
問題と修復
- 新しいスケーリング設定はワークロードと互換性がありません
-
新しい Aurora Serverless v2 スケーリング設定の最大容量が低すぎて、現在のワークロードを処理できません。
推奨事項:
-
低い最大容量を再適用する前に、ワークロードを削減します。
-
ワークロードの削減が選択肢にない場合は、希望する最大容量を再評価します。適切な最大容量を選択するには、スケーリング設定の更新がキャンセルされてロールバックされる前に、Aurora PostgreSQL クラスターの
ServerlessDatabaseCapacityCloudWatch メトリクスの最大値を確認します。次に、新しいスケーリング設定の最大容量を観測された ServerlessDatabaseCapacity 値以上に設定します。最大容量の選択に関するガイダンスについては、「Aurora クラスターの Aurora Serverless v2 での容量範囲の選択」を参照してください。
-
- 新しいスケーリング設定はカスタムデータベースパラメータと互換性がありません
-
クラスターまたはインスタンスのカスタムデータベースパラメータグループには、新しいスケーリング設定の最大容量を超える追加のリソースが必要です。
互換性のない可能性のある Aurora PostgreSQL データベースパラメータ。
-
max_connections
-
track_activity_query_size
-
min_dynamic_shared_memory
推奨事項:
-
適切なデータベースパラメータ値を選択するには、上記の各パラメータのデフォルトのパラメータ値を確認します。設定値がデフォルト値を超える場合は、スケーリング設定を変更する前に、パラメータをデフォルト値に戻し、最大容量を同じように減らします。
-
データベースパラメータを減らすことが選択肢にない場合は、上記の「新しいスケーリング設定はワークロードと互換性がありません」で概説した手順と同じ手順に従って、適切な最大容量を選択します。
-
一部のプロビジョン済み機能は Aurora Serverless v2 でサポートされていません。
Aurora プロビジョン済み DB インスタンスの以下の機能は、現在 Amazon Aurora Serverless v2 では使用できません。
-
データベースアクティビティストリーム (DAS)。
-
Aurora PostgreSQL のクラスターキャッシュ管理。
apg_ccm_enabled設定パラメータは Aurora Serverless v2 DB インスタンスには適用されません。
Aurora 機能の一部は Aurora Serverless v2 で動作するものもありますが、容量範囲が特定のワークロードの機能に必要なメモリに必要な容量よりも小さい場合は、問題が発生する可能性があります。その場合、通常よりもデータベースのパフォーマンスが低下するか、メモリ不足のエラーが発生する可能性があります。適切な容量範囲の設定に関する推奨事項については、「Aurora クラスターの Aurora Serverless v2 での容量範囲の選択」を参照してください。容量範囲の設定が間違っているためにデータベースでメモリ不足のエラーが発生した場合のトラブルシューティング情報については、「メモリ不足エラーを回避する」を参照してください。
Aurora Auto Scaling はサポートされていません。これは、CPU の使用率に基づき、新しいリーダーを追加して、読み取り回数の多いワークロードを追加で処理するタイプのスケーリングです。ただし、CPU 使用率に基づくスケーリングは、Aurora Serverless v2 に対しては意味を持ちません。代わりに、事前に Aurora Serverless v2 リーダー DB インスタンスを作成して、小容量にスケールダウンすることもできます。これは、クラスターの読み取り容量をスケーリングするために、新しい DB インスタンスを動的に追加するよりも高速で、中断の少ない方法です。