【アップデート】メモリ最適化インスタンス Amazon EC2 R8i / R8i-flex が東京リージョンを除く一部のリージョンで利用可能になりました!
クラウド事業本部のおつまみです。
Amazon EC2インスタンスタイプに関してアップデート情報があったので、お届けします!!
3行まとめ
- カスタム Intel Xeon 6 プロセッサー(AWS専用)を搭載した新しいメモリ最適化インスタンス
- R7i インスタンスと比較して最大20%の性能向上、15%優れた価格性能比を実現
- R8i-flex は初のメモリ最適化Flexインスタンスとして、柔軟なリソース利用が可能
これまで
これまで、メモリ最適化インスタンスとしては R7i ファミリーが最新の Intel ベースのインスタンスでした。R7i インスタンスは第4世代 Intel Xeon Scalable プロセッサーを搭載し、SAP ワークロードやデータベースなどのメモリ集約型アプリケーションで広く利用されていました。
しかし、以下のような課題がありました。
- メモリ帯域幅の制限により、特定のワークロードでボトルネックが発生
- CPUリソースを完全に使い切らないアプリケーションでも、フルスペックのインスタンスコストが必要
今回のアップデート
R8i インスタンスの特徴
主要スペック:
- プロセッサー: カスタム Intel Xeon 6 プロセッサー(AWS専用)
- メモリ帯域幅: 前世代 Intel ベースインスタンスの 2.5倍
- インスタンスサイズ: 13種類(ベアメタル2種類を含む、新しい 96xlarge サイズも追加)
- SAP認証: 142,100 aSAPS を実現
性能向上:
- PostgreSQL データベース: 最大 30% 高速化
- NGINX Webアプリケーション: 最大 60% 高速化
- AI深層学習レコメンデーションモデル: 最大 40% 高速化
適用シナリオ:
- 大規模なインスタンスサイズが必要なメモリ集約型ワークロード
- 継続的に高いCPU使用率を必要とするアプリケーション
- SAP HANA、Oracle Database、Microsoft SQL Server などのエンタープライズアプリケーション
R8i-flex インスタンスの特徴
主要スペック:
- 初のメモリ最適化 Flex インスタンス
- サイズ範囲: large から 16xlarge
- 柔軟なリソース利用により、コスト最適化が可能
適用シナリオ:
- コンピュートリソースを完全に活用しないアプリケーション
- 一時的なバーストトラフィックに対応するWebアプリケーション
- 開発・テスト環境でのコスト削減
利用可能リージョンと購入オプション
利用可能リージョン:
- 米国東部(バージニア北部)
- 米国東部(オハイオ)
- 米国西部(オレゴン)
- ヨーロッパ(スペイン)
購入オプション:
- Savings Plans
- オンデマンドインスタンス
- スポットインスタンス
前世代のインスタンスタイプとの比較
R8i と R7i の比較
項目 | R7i | R8i | 改善率 |
---|---|---|---|
プロセッサー | Intel Xeon Scalable (4th Gen) | カスタム Intel Xeon 6 | - |
メモリ帯域幅 | ベースライン | 2.5倍 | +150% |
全体的なパフォーマンス | ベースライン | 最大20%向上 | +20% |
価格性能比 | ベースライン | 15%改善 | +15% |
PostgreSQL性能 | ベースライン | 最大30%向上 | +30% |
NGINX性能 | ベースライン | 最大60%向上 | +60% |
実際に R8i と R7i を比較してみた
前述の性能向上を実際に検証するため、R8i.2xlarge と R7i.2xlarge インスタンスを起動して各種ベンチマークテストを実施しました。
テスト環境のセットアップ
両インスタンスとも以下の環境で構築しました。
- リージョン: 米国東部(バージニア北部)us-east-1b
- インスタンスタイプ: R8i.2xlarge と R7i.2xlarge
- OS: Amazon Linux 2023(ami:ami-0a232144cf20a27a5)
- ストレージ: gp3 EBS ボリューム(100GB、3000 IOPS、125 MB/s)
# インスタンスの起動
aws ec2 run-instances \
--image-id ami-0a232144cf20a27a5 \
--instance-type r8i.2xlarge \
--subnet-id subnet-xxxxx \
--security-group-ids sg-xxxxx \
--tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=r8i-benchmark}]'
# ベンチマークツールのインストール
sudo dnf update -y
sudo dnf install -y gcc make git fio iperf3
# sysbench のインストール(Amazon Linux 2023)
# 依存パッケージのインストール
sudo dnf install -y autoconf automake libtool mariadb105-devel openssl-devel
# ソースからコンパイル
git clone https://github.com/akopytov/sysbench.git
cd sysbench
./autogen.sh
./configure --with-mysql
make -j $(nproc)
sudo make install
# インストール確認
sysbench --version
1. CPU性能比較(sysbench)
CPUの計算性能を測定するために sysbench
を使用しました。
# CPU ベンチマークの実行(素数計算)
sysbench cpu --cpu-max-prime=20000 --threads=8 run
測定結果:
メトリクス | R7i.2xlarge | R8i.2xlarge | 改善率 |
---|---|---|---|
イベント/秒 | 4,422 | 5,421 | +20.0% |
レイテンシ(平均) | 1.81ms | 1.48ms | -16.9% |
レイテンシ(95%ile) | 1.82ms | 1.50ms | -16.6% |
詳細(R8i.2xlarge)
sysbench 1.1.0-3ceba0b (using bundled LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 8
Initializing random number generator from current time
Prime numbers limit: 20000
Initializing worker threads...
Threads started!
CPU speed:
events per second: 5421.29
Throughput:
events/s (eps): 5421.2923
time elapsed: 10.0008s
total number of events: 54217
Latency (ms):
min: 0.78
avg: 1.48
max: 3.81
95th percentile: 1.50
sum: 79990.02
Threads fairness:
events (avg/stddev): 6777.1250/1.96
execution time (avg/stddev): 9.9988/0.00
詳細(R7i.2xlarge)
sysbench 1.1.0-3ceba0b (using bundled LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 8
Initializing random number generator from current time
Prime numbers limit: 20000
Initializing worker threads...
Threads started!
CPU speed:
events per second: 4422.49
Throughput:
events/s (eps): 4422.4926
time elapsed: 10.0016s
total number of events: 44232
Latency (ms):
min: 0.91
avg: 1.81
max: 16.08
95th percentile: 1.82
sum: 79982.54
Threads fairness:
events (avg/stddev): 5529.0000/30.06
execution time (avg/stddev): 9.9978/0.00
2. メモリ性能比較(STREAM)
メモリ帯域幅を測定するために STREAM
ベンチマークを実施しました。
# STREAM ベンチマークのコンパイルと実行
git clone https://github.com/jeffhammond/STREAM.git
cd STREAM
gcc -O3 -fopenmp stream.c -o stream
export OMP_NUM_THREADS=8
./stream
測定結果:
操作 | R7i.2xlarge (MB/s) | R8i.2xlarge (MB/s) | 改善率 |
---|---|---|---|
Copy | 62,473.3 | 96,908.1 | +55.1% |
Scale | 61,971.4 | 104,157.8 | +68.1% |
Add | 60,255.8 | 94,007.6 | +56.0% |
Triad | 60,058.0 | 96,457.7 | +60.6% |
公式では2.5 倍のメモリ帯域幅を提供しますとありましたが、測定結果からは約1.5〜1.7倍の改善を確認できました。
詳細(R8i.2xlarge)
Function Best Rate MB/s Avg time Min time Max time
Copy: 96908.1 0.001675 0.001651 0.001778
Scale: 104157.8 0.001592 0.001536 0.001742
Add: 94007.6 0.002603 0.002553 0.002773
Triad: 96457.7 0.002545 0.002488 0.002588
詳細(R7i.2xlarge)
Function Best Rate MB/s Avg time Min time Max time
Copy: 62473.3 0.002691 0.002561 0.002940
Scale: 61971.4 0.002778 0.002582 0.003182
Add: 60255.8 0.004109 0.003983 0.004701
Triad: 60058.0 0.004218 0.003996 0.004824
3. ディスクI/O性能比較(fio)
ストレージのI/O性能を fio
で測定しました。
# ランダム読み取りテスト
sudo fio --name=randread --ioengine=libaio --iodepth=16 \
--rw=randread --bs=4k --direct=1 --size=1G --numjobs=4 \
--runtime=60 --group_reporting
測定結果:
操作 | R7i.2xlarge | R8i.2xlarge | 改善率 |
---|---|---|---|
ランダム読み取り IOPS | 3,049 | 3,049 | ±0.0% |
ランダム読み取り帯域幅 (MB/s) | 12.5 | 12.5 | ±0.0% |
平均レイテンシ (ms) | 20.99 | 20.98 | -0.05% |
95%ile レイテンシ (ms) | 30.02 | 30.02 | ±0.0% |
EBSボリュームの性能はインスタンスタイプに依存しないため、ほぼ同等の結果となりました。両インスタンスとも gp3 ボリュームの設定した IOPS(3000)を安定して達成しています。
詳細(R8i.2xlarge)
fio-3.32
Starting 4 processes
randread: Laying out IO file (1 file / 1024MiB)
randread: Laying out IO file (1 file / 1024MiB)
randread: Laying out IO file (1 file / 1024MiB)
randread: Laying out IO file (1 file / 1024MiB)
Jobs: 4 (f=0): [f(4)][100.0%][r=11.5MiB/s][r=2955 IOPS][eta 00m:00s]
randread: (groupid=0, jobs=4): err= 0: pid=39545: Wed Aug 20 01:36:59 2025
read: IOPS=3049, BW=11.9MiB/s (12.5MB/s)(715MiB/60022msec)
slat (nsec): min=832, max=5061.6k, avg=7214.66, stdev=119839.64
clat (usec): min=381, max=40029, avg=20975.05, stdev=5619.83
lat (usec): min=394, max=40039, avg=20982.27, stdev=5620.86
clat percentiles (usec):
| 1.00th=[ 1004], 5.00th=[10552], 10.00th=[10683], 20.00th=[20317],
| 30.00th=[21103], 40.00th=[21365], 50.00th=[21365], 60.00th=[21365],
| 70.00th=[21365], 80.00th=[21627], 90.00th=[29754], 95.00th=[30016],
| 99.00th=[30278], 99.50th=[30278], 99.90th=[30802], 99.95th=[31065],
| 99.99th=[32113]
bw ( KiB/s): min=11360, max=36000, per=100.00%, avg=12207.87, stdev=554.85, samples=476
iops : min= 2840, max= 9002, avg=3051.98, stdev=138.76, samples=476
lat (usec) : 500=0.01%, 750=0.16%, 1000=0.81%
lat (msec) : 2=0.75%, 4=0.01%, 10=0.03%, 20=13.62%, 50=84.62%
cpu : usr=0.14%, sys=0.59%, ctx=178606, majf=0, minf=109
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=100.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0%
issued rwts: total=183047,0,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=16
Run status group 0 (all jobs):
READ: bw=11.9MiB/s (12.5MB/s), 11.9MiB/s-11.9MiB/s (12.5MB/s-12.5MB/s), io=715MiB (750MB), run=60022-60022msec
Disk stats (read/write):
nvme0n1: ios=182425/17, merge=0/0, ticks=3822870/473, in_queue=3823343, util=95.23%
詳細(R7i.2xlarge)
fio-3.32
Starting 4 processes
randread: Laying out IO file (1 file / 1024MiB)
randread: Laying out IO file (1 file / 1024MiB)
randread: Laying out IO file (1 file / 1024MiB)
randread: Laying out IO file (1 file / 1024MiB)
Jobs: 4 (f=4): [r(4)][100.0%][r=11.7MiB/s][r=3004 IOPS][eta 00m:00s]
randread: (groupid=0, jobs=4): err= 0: pid=35811: Wed Aug 20 01:37:06 2025
read: IOPS=3049, BW=11.9MiB/s (12.5MB/s)(715MiB/60022msec)
slat (nsec): min=915, max=6993.2k, avg=4223.62, stdev=42654.00
clat (usec): min=425, max=41934, avg=20981.77, stdev=5368.01
lat (usec): min=428, max=41936, avg=20985.99, stdev=5367.51
clat percentiles (usec):
| 1.00th=[ 701], 5.00th=[10683], 10.00th=[15795], 20.00th=[16057],
| 30.00th=[20317], 40.00th=[20317], 50.00th=[21365], 60.00th=[21365],
| 70.00th=[24511], 80.00th=[24773], 90.00th=[26870], 95.00th=[30016],
| 99.00th=[30016], 99.50th=[30278], 99.90th=[31065], 99.95th=[31589],
| 99.99th=[32637]
bw ( KiB/s): min=11184, max=35992, per=100.00%, avg=12208.87, stdev=585.28, samples=476
iops : min= 2796, max= 8998, avg=3052.22, stdev=146.32, samples=476
lat (usec) : 500=0.01%, 750=1.36%, 1000=0.29%
lat (msec) : 2=0.03%, 4=0.01%, 10=0.06%, 20=23.24%, 50=75.00%
cpu : usr=0.22%, sys=0.58%, ctx=180630, majf=0, minf=115
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=100.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0%
issued rwts: total=183018,0,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=16
Run status group 0 (all jobs):
READ: bw=11.9MiB/s (12.5MB/s), 11.9MiB/s-11.9MiB/s (12.5MB/s-12.5MB/s), io=715MiB (750MB), run=60022-60022msec
Disk stats (read/write):
nvme0n1: ios=182779/51, merge=0/1, ticks=3832253/1606, in_queue=3833858, util=96.18%
4. コスト効率の分析
実際の料金(2025年8月時点、us-east-1)での比較
インスタンス | オンデマンド料金/時間 | 性能向上 | 価格性能比改善 |
---|---|---|---|
R7i.2xlarge | $0.5292 | ベースライン | - |
R8i.2xlarge | $0.55568 | +20〜30% | 約15% |
R8i は若干高価ですが、性能向上を考慮すると優れた価格性能比を実現しています。
検証結果のまとめ
実際の検証により、以下の点を確認できました。
- CPU性能: 約20%の性能向上を確認
- メモリ帯域幅: 1.5~1.7倍の改善
- 価格性能比: 約15%の改善を実現
特にメモリ帯域幅の向上により、メモリ集約型ワークロードでは顕著な性能改善が期待できます。
データベースやインメモリ処理を行うアプリケーションでは、R8i への移行により大きなメリットが得られそうです。
まとめ
今回はAmazon EC2 R8i および R8i-flex インスタンスの一般提供開始について紹介しました。
特にメモリ帯域幅の大幅な向上により、データベースやリアルタイム処理などのワークロードで大きなメリットが期待できます。
R8i-flex は初のメモリ最適化Flexインスタンスとして、より柔軟なリソース利用とコスト最適化を可能にします。
詳しい仕様は、公式ドキュメントをご参照ください。
最後までお読みいただきありがとうございました!
以上、おつまみ(@AWS11077)でした!