EC2のインスタンスタイプの `m4` と `m5` の違い
インフラ担当者にご教示頂いたこと
m4とm5の違い
m4
と m5
の違いはスケールアップではなくバージョンの違いです。
m4
系は Xen
ベース、 m5
系は KVM
ベースの Nitro
と呼ばれる基盤で動いています。
元々、 A
サーバは Amazon Linux 2
で構築していますが、 m5.large
のインスタンスタイプが選べるので m5.large
で構築しています。
CPUが良くなっていたり、 ENA
が有効なことからNW周りのパフォーマンス、コストなど諸々考慮して新しいインスタンスタイプを選択している形です。
※m3.largeなど古いインスタンスタイプを使い続けていると、AWSサポートに問い合わせをした時に「新しいインスタンスタイプが推奨構成となっております」と回答されたりもするので、新しいインスタンスタイプで動かせるなら新しいインスタンスタイプで動かすのが良いとの考えです。
Nitro システムを使用する Amazon EC2 インスタンスで、Amazon EBS 最適化インスタンスのパフォーマンスの高速化をサポート
インスタンスタイプについて
EC2は、インスタンスタイプの先頭文字列(英字)によってリソース特性が異なります。
m(汎用タイプ)
CPU/メモリがそこそこのバランスで設定されている
r(メモリ最適化タイプ)
CPU性能よりもメモリ容量が重視されている
c(コンピューティング最適化タイプ)
メモリ容量よりもCPU性能が重視されている
その他、用途に応じて i とか o とか色々あるのでこの辺のドキュメントを読んでいただけると違いが解るかと思います。 また、インスタンスタイプの先頭文字列(英字)に続くインスタンスタイプのバージョンごとの違いについても一部補足が記載されているので、見てみると良いです。
参考: Amazon EC2 インスタンスタイプ https://aws.amazon.com/jp/ec2/instance-types/