最近円安で AWS のコストが上がっているため、DBのインスタンスタイプを見直したら、db.t4g が db.t3 よりも安いことに気づきました。
| インスタンス | vCPU | メモリ | 月額目安 |
|---|---|---|---|
| db.t4g.micro | 2 | 1 GiB | $18.25/月 |
| db.t3.micro | 2 | 1 GiB | $18.98/月 |
| db.t4g.small | 2 | 2 GiB | $36.50/月 |
| db.t3.small | 2 | 2 GiB | $37.96/月 |
私の中では「RDSの最安は db.t3」という認識だったのですが... db.t4g が登場したのは 2021 年なので、私の知識が古すぎたようです...。
ちなみに、db.t4 というのはありません。t4"g" です。g は Graviton の G で、AWS が開発した Graviton という CPU が使われていることを意味します。この CPU はARMベース(詳細は後述)となっており、従来のものより性能が向上していると思われます。
db.t4 などの g がついていないものは Intel の CPU です。
CPU性能 は、https://www.vpsbenchmarks.com/posts/ec2_t4g_graviton2_benchmarks のベンチマークが参考になります。これは EC2 を使ったベンチマークですが、t4g は t3 の性能を大きく上回っていそうです。
AWS によるとコストパフォーマンスが約40%改善しているそうなので、例えば、同じ small だとしても db.t3.small より db.t4g.small の方が CPU 性能が良いことは間違いなさそうです。
メモリ については AWS 公式から言及はなく、メモリ性能を比較したような参考資料も見つかりませんでした。 AWS 公式も明確にうたっていないことを考えると、個人的には、メモリの劇的な性能改善には期待できません。
つまり、CPU 性能が上がったので db.t3.small -> db.t4g.micro にしてコストを大幅削減しようと思っても、メモリがボトルネックになっている場合はインスタンスタイプを下げるのは厳しいと思われます。
補足
ARM とは何?
Mac を使っているとイメージしやすいです。Mac は元々 Intel の CPU を使っていましたが、途中から Apple M1 という Apple 独自の CPU になったと思います。
元々利用していた Intel の CPU は x86-64 という名前のアーキテクチャ(設計方式)を利用していましたが、Apple M1 以降は ARM64 という設計方式を採用しました。
最近は ARM 系の CPU が増えてきており、どれも性能と消費電力のバランスに優れています。Intel のチップが搭載された MacBook と、 Apple M1 チップが搭載された MacBook を両方使ったことがある人は、その違いを実感しているでしょう。
ARM というアーキテクチャは昔から存在していたのですが、ARM に対応したソフトが少なかったので普及していませんでした。
2007年に iPhone が発売されましたが、この iPhone に搭載されていたのは ARM の CPU でした。iPhone はこれまでのパソコンとは全く違ったものだったので、これまでのソフトが動く必要がなく、ARM を採用しやすかったと思われます。
2020年、Apple M1 を搭載した MacBook シリーズが登場しました。これが ARM 普及に一番のきっかけになったと思います。MacBook には、これまでの x86 のソフトウェアも動かせる仕組みが搭載されていたため、Apple M1 への乗り換えがスムーズに進みました。
すると ARM に対応するソフトウェアも増えていき、今では Mac やクラウドのサーバーを中心に ARM の CPU が増えてきました。