Amazon Aurora / RDS で AMD EPYC 搭載の db.r8a がサポートされました

Amazon Aurora / RDS で AMD EPYC 搭載の db.r8a がサポートされました

db.r8a.large(AMD EPYC 5th Gen / SMT 無効)で Aurora PostgreSQL 17.4 を起動し、Data API でワーカー関連パラメータの既定値を確認しました
2026.10.01

はじめに

Amazon Aurora と Amazon RDS で、第 5 世代 AMD EPYC プロセッサを搭載した db.r8a インスタンスクラスがサポートされました。対象は MySQL と PostgreSQL 系のエンジンです。

https://aws.amazon.com/about-aws/whats-new/2026/09/aurora-rds-amd-r8a/

この記事では 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 倍になる点が特徴です。

https://aws.amazon.com/rds/instance-types/

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 以降です。

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.SupportAurora.html

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 のコア数でライセンス費用が決まる商用エンジンへの対応にも期待したいところです。

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事