Amazon Aurora / RDS で AMD EPYC 搭載の db.r8a がサポートされました
はじめに
Amazon Aurora と Amazon RDS で、第 5 世代 AMD EPYC プロセッサを搭載した db.r8a インスタンスクラスがサポートされました。対象は MySQL と PostgreSQL 系のエンジンです。
この記事では db.r8a の特徴と、db.r8a.large で Aurora PostgreSQL 17.4 を実際に起動して Data API で確認した結果を紹介します。
DB インスタンスファミリーの比較
r7i / r8a / r8g の large サイズで比較すると次のとおりです。料金は AWS Price List API(aws pricing get-products)で取得した、東京リージョン・Aurora PostgreSQL・標準ストレージ・オンデマンドの値です(2026-10-01 時点)。
| インスタンス | vCPU | 物理コア数 | メモリ | プロセッサ | 料金($/時) |
|---|---|---|---|---|---|
| db.r7i.large | 2 | 1 | 16 GiB | Intel Xeon Scalable(Sapphire Rapids) | $0.35 |
| db.r8a.large | 2 | 2 | 16 GiB | AMD EPYC 5th Gen | $0.4226 |
| db.r8g.large | 2 | 2 | 16 GiB | AWS Graviton4 | $0.333 |
r7i は SMT(ハイパースレッディング)が有効で、1 物理コアを 2 vCPU として提供しています。一方、r8a と r8g は SMT が無効で、1 vCPU = 1 物理コアです。r8a は r7i より約 2 割高いものの、x86 のまま同じ vCPU 数で物理コア数が 2 倍になる点が特徴です。
db.r8a のサイズは large から 48xlarge までで、料金は vCPU 数に比例しています。
| インスタンス | vCPU | メモリ | 料金($/時) |
|---|---|---|---|
| db.r8a.large | 2 | 16 GiB | $0.4226 |
| db.r8a.xlarge | 4 | 32 GiB | $0.8452 |
| db.r8a.2xlarge | 8 | 64 GiB | $1.6904 |
| db.r8a.4xlarge | 16 | 128 GiB | $3.3808 |
| db.r8a.8xlarge | 32 | 256 GiB | $6.7616 |
| db.r8a.12xlarge | 48 | 384 GiB | $10.1424 |
| db.r8a.16xlarge | 64 | 512 GiB | $13.5232 |
| db.r8a.24xlarge | 96 | 768 GiB | $20.2848 |
| db.r8a.48xlarge | 192 | 1536 GiB | $40.5696 |
Aurora PostgreSQL を起動する
Aurora PostgreSQL で db.r8a を利用できるバージョンは、14.17 / 15.10 / 16.8 / 17.4 / 18.3 以降です。
CloudFormation では、AWS::RDS::DBInstance の DBInstanceClass に db.r8a.large を指定します。また、Data API を利用するため、AWS::RDS::DBCluster で EnableHttpEndpoint: true を指定しています(いずれも抜粋)。
DBCluster:
Type: AWS::RDS::DBCluster
Properties:
Engine: aurora-postgresql
EngineVersion: "17.4"
EnableHttpEndpoint: true
DBInstance:
Type: AWS::RDS::DBInstance
Properties:
DBClusterIdentifier: !Ref DBCluster
DBInstanceClass: db.r8a.large
Engine: aurora-postgresql
Data API で確認する
Aurora PostgreSQL のデフォルトパラメータには、インスタンスの vCPU 数をもとに決まるものがあります。物理コア数の違いがこれらの値に反映されるかを確かめるため、Data API でワーカー関連の 4 パラメータを取得しました。接続にはクラスター ARN とシークレット ARN を使います。
aws rds-data execute-statement \
--resource-arn "$CLUSTER_ARN" \
--secret-arn "$SECRET_ARN" \
--database postgres \
--sql "SELECT name, setting FROM pg_settings WHERE name IN ('max_worker_processes','max_parallel_workers','max_parallel_workers_per_gather','max_parallel_maintenance_workers') ORDER BY name" \
--region ap-northeast-1
| name | setting |
|---|---|
| max_parallel_maintenance_workers | 2 |
| max_parallel_workers | 8 |
| max_parallel_workers_per_gather | 2 |
| max_worker_processes | 8 |
Aurora PostgreSQL 17 のデフォルトパラメータグループでは、max_worker_processes に GREATEST(vCPU×2, 8) という式が適用されます。2 vCPU では下限の 8 になります。
この式は物理コア数ではなく vCPU 数で決まるため、vCPU 数が同じであればインスタンスファミリーに関係なく同じ値になります。物理コア数が 2 倍の r8a でも、r7i と同じ既定値です。
つまり、デフォルトパラメータグループのまま使う場合は、r7i から移行してもワーカー系の既定値は変わりません。一方、r7i などの SMT 有効なインスタンスで物理コア数に合わせてワーカー数を手動で調整していた場合は、r8a では物理コア数が 2 倍になるため、その設定が過小になる可能性があります。移行時にパラメータを見直すことをおすすめします。
あわせて version() も確認したところ、x86_64 向けビルドで動作していました。
PostgreSQL 17.4 on x86_64-pc-linux-gnu, compiled by x86_64-pc-linux-gnu-gcc (GCC) 10.5.0, 64-bit
まとめ
Amazon RDS / Amazon Aurora で初めて AMD EPYC プロセッサを搭載した db.r8a インスタンスクラスが利用可能になりました。
x86 アーキテクチャが必要なワークロードで r7i 以前を使っている場合、db.r8a に移行すると同じ vCPU 数で物理コア数が 2 倍になります。ただし r8a は r7i より約 2 割高く、エンジンバージョンによっては対応版への更新が必要になる場合があります。CPU 特性の違いも含めて、価格差に見合う性能が得られるかを検証することをおすすめします。
今回の対応は MySQL と PostgreSQL 系のエンジンに限られます。今後は、CPU のコア数でライセンス費用が決まる商用エンジンへの対応にも期待したいところです。







