クラウド
EC2インスタンスタイプとは?種類と名前の読み方、選び方
- EC2 インスタンスタイプ
- インスタンスタイプの選び方
- Arm
- x86
- クラウド
- AWS
- Graviton
- インスタンスファミリー
- EBS
- AMI
- Compute Optimizer
- バースト可能
- Well-Architected
- パフォーマンス効率
- インスタンスストア
目次
Amazon EC2 は、AWS の上で仮想のサーバーを借りるサービスで、借りた一台一台をインスタンスと呼ぶ。インスタンスを起動するときに選ぶインスタンスタイプは、そのインスタンスが動く機械のハードウェアを決める。タイプごとに CPU、メモリ、ストレージの能力が違い、似た能力のタイプはインスタンスファミリーにまとめられている1。
インスタンスは、ほかの二つと組み合わせて使う。一つは AMI(Amazon Machine Image)で、OS などの、インスタンスを起動するのに要るソフトウェアをまとめたイメージである2。もう一つは EBS(Elastic Block Store)のボリュームで、インスタンスにつなぐディスクとして使う。EBS のボリュームは、インスタンスが動いているかどうかと関係なく保たれる3。
インスタンスタイプの一覧には、非常に多くのタイプが並ぶ1。初めて選ぶ人は、正しい一つを最初に選ばなければならないと考えやすい。
EC2 のインスタンスタイプは、どう読み、どう選べばよいのか。一度選んだタイプは、後から替えられるのか。
インスタンスタイプは CPU やメモリの組み合わせを名前で表し、m7i.large は「汎用・第 7 世代・Intel・large」と読める。タイプは、ディスクの EBS や起動に使う AMI と分かれているので、ルートボリュームが EBS なら、止めて後から替えられる。ただし、替え先は今の構成と互換でなければならず、とくに AMI は CPU のアーキテクチャごとに分かれるので、x86 から Arm の Graviton へは同じインスタンスのまま替えられない。AWS の Well-Architected フレームワークは、見込みで決め切らず、測って選び、新しい世代が出たら試して見直すよう勧めている。
動いているサーバーのタイプを替える
※ この節の数値は説明のための仮定で、測定値ではありません。
ある会社の予約サイトは、web-01 という一台のインスタンスで動いている。タイプは m7i.large で、ディスクは EBS、起動には x86 用の AMI を使った。予約が増え、CPU の使用率が高い日が続いたので、管理者は一回り大きいタイプに替えることにした。
- 管理者EC21. web-01 を m7i.xlarge に替えたい
- EC2管理者2. 動いている間は替えられない。先に止める
- 管理者EC23. web-01 を止めて、m7i.xlarge に替える
- EC2管理者4. 替えた
- 管理者EC25. web-01 を起動する
- EC2管理者6. 起動した。EBS のデータはそのまま。公開 IPv4 アドレスは新しくなった
- 管理者EC27. web-01 を止めて、Graviton の m8g.xlarge に替えたい
- EC2管理者8. 止めても替えられない。AMI が x86 用なので、Arm のタイプは選べない
大きさを替えるのに要ったのは、止めているあいだのサービスの停止と、変わった公開アドレスへの対応だった。固定の公開アドレス(Elastic IP)を付けておけば、アドレスは変わらない4。Graviton に移るには、Arm 用の AMI で新しいインスタンスを作り、そこでアプリが動くことと速さを確かめてから、切り替える必要がある。
インスタンスタイプの名前の読み方
インスタンスタイプの名前は、ファミリーとサイズからなる。たとえば c7gn.4xlarge では、ピリオドの前の c7gn がファミリーで、先頭の英字がシリーズ、続く数字が世代、その後ろの英字がオプションを表す。ピリオドの後ろはサイズである5。
| 位置 | c7gn.4xlarge での |
|---|---|
| シリーズ | 計算に |
| 世代 | 第 7 世代 |
| オプション | Graviton の |
| サイズ | CPU と |
主なシリーズは、汎用の M、計算に向く C、メモリの多い R である。汎用には、CPU をふだん控えめに使う、バースト可能な T もある5。オプションには CPU を表す文字があり、a は AMD、g は Graviton、i は Intel である。d が付くタイプは、インスタンスストアという、機械に直接つながる一時的なディスクを持つ5。一覧の上では、ファミリーは汎用、コンピューティング最適化、メモリ最適化などの用途ごとに並ぶ1。
T シリーズは、ふだんは決まった水準(ベースライン)の CPU で動き、必要なときだけその上まで使える。平均では暇で、ときどき忙しくなる処理に向く6。ベースラインより下で動くあいだはクレジットがたまり、ベースラインより上で動くと減る。T3 などは既定で Unlimited モードで、クレジットを使い切っても上で動き続けるが、24 時間の平均がベースラインを超えると追加の料金がかかる。Standard モードにすると、使い切ったときにベースラインまで下がる7。
後から替えられるのは、ディスクと起動イメージが分かれているから
インスタンスタイプは、後から替えられる。AWS は、処理に対してインスタンスが大きすぎたり小さすぎたりしたら、タイプを替えて大きさを直せると説明している8。替えられるのは、タイプが主に決めるのは動かす機械で、データはタイプと別の EBS のボリュームにあるからである。ルートボリューム(起動に使うディスク)が EBS のインスタンスは、止めて再び起動しても、つないだ EBS のボリュームのデータは変わらない。止めているあいだに、タイプを替えることもできる9。
替えるときには、次のことが起きる4。
- 止める必要がある。 止めているあいだはサービスが止まる。
- 別の機械に移る。 止めて起動すると、インスタンスは新しいハードウェアに移り、Elastic IP でない公開 IPv4 アドレスは新しくなる。
- インスタンスストアのデータは消える。 インスタンスストアは元の機械に直接つながるディスクで、そのデータは、止めたときにも、タイプを替えたときにも消える1011。
同じインスタンスのままでは替えられない:x86 から Graviton へ
替えられない場合もある。AMI は CPU のアーキテクチャごとに作られているので、今のタイプと同じアーキテクチャのタイプしか選べない12。x86 の CPU(Intel や AMD)のタイプと、Arm の CPU のタイプのあいだでは、同じインスタンスのままでは替えられない。
AWS が自社で設計した Arm の CPU が Graviton である。AWS は 2018 年 11 月に、Graviton を使う最初のインスタンス A1 を出した13。2019 年 12 月に発表した Graviton2 では、汎用の M6g、計算向けの C6g、メモリの多い R6g に広がり、AWS は、当時の x86 の M5 などより価格当たりの性能が最大 40% 高いとした14。2026 年 6 月には Graviton5 の M9g が使えるようになった15。
Graviton への移り方は、AWS の移行ガイドがまとめている16。
- 使っているライブラリやエージェントが Arm に対応しているかを、先に調べる。
- インタプリタ型の言語や JIT の言語(Java、PHP、Node.js など)で書いたアプリは、そのまま、または少しの変更で動く。
- コンパイル型の言語(C、C++、Go など)で書いたアプリは、Arm 用にコンパイルし直す。
- AMI は Arm 用のものを使う。 AWS が用意する Arm 用の AMI から始めるか、それをもとに自分の AMI を作る。
- 性能を測ってから、一部の台数から順に切り替える。
最大 40% という数は、AWS が示す上限である。Honeycomb の Liz Fong-Jones は 2020 年に、社内の検証用の環境で、データを取り込むサービスの台数の 20% を M6g にして C5 と並べて比べた。M6g だけにすれば台数を 30% 減らせ、一台の費用も 10% 下がると報告している。移行の作業は、主に依存するソフトの対応で、約 15 時間かかった。本番は、M6g がまだ十分に買えなかったので、当時は C5 のままだった17。一方、計算機科学者の Daniel Lemire は 2022 年に、一つのコアで測ったメモリの帯域と遅延では、Intel の Ice Lake が Graviton3 を上回ったと報告した。そのうえで、どちらが自分のアプリに合うかを知りたいなら、ベンチマークを取るよう勧めている18。
測って選び、新しい世代が出たら見直す
AWS の Well-Architected フレームワークのパフォーマンス効率の柱は、設計原則の一つに「より頻繁に実験する」を挙げる。仮想のリソースは自動で用意できるので、インスタンスのタイプを替えた比較の試験をすぐに行える、という理由である19。コンピューティングのリソースの選び方では、次のことを求めている。
- 試して選ぶ。 本番でない環境で実験とベンチマークを行って選ぶ。オンプレミスで使っていたのと同じ方式をそのまま使うことは、避けるべきこととして挙げている20。
- 測る。 CPU とメモリの使用率、ディスクとネットワークの入出力を集め、データに基づいて調整する。メモリとディスクの値は、CloudWatch エージェントを入れて集める21。
- 見直す。 新しいタイプが出ても処理に合うかを見直さないことを、避けるべきこととして挙げ、新しいコンピューティングの選択肢を見直し続けるよう求めている。設定を変えるときは、本番の前に、本番でない環境で試す22。
コスト最適化の柱は、4 週間を通して CPU とメモリの使用率の最大値が 40% に届かないインスタンスを、小さくする対象として挙げている23。AWS は 2019 年 12 月に、使用率からタイプを推薦する Compute Optimizer を公開した24。使うには申し込みが要り、申し込むと、直近 14 日の CloudWatch の値から分析を始める25。
測るときの注意もある。性能の専門家 Brendan Gregg は、ベンチマークを手早く済ませると、A を測ったつもりで実は B を測り、C を測ったと結論しやすいと書いている。そして、その結果で会社がサーバーの基盤を選ぶことがあると警告している26。Honeycomb の別の記事も、タイプが違えば同じ CPU 使用率で遅れ始めるとは限らないので、処理が追いつかなくなるところまで負荷を上げて確かめるよう勧めている27。
インスタンスタイプは、測って選び、後から替える
インスタンスタイプは、CPU やメモリの組み合わせを、シリーズ・世代・オプション・サイズの名前で表す。タイプはディスクの EBS や起動に使う AMI と分かれているので、ルートボリュームが EBS なら、止めて後から替えられる。替え先は今の構成と互換でなければならず12、替えられない主な場合は、x86 と Arm のように CPU のアーキテクチャが変わるときで、Graviton へ移るには Arm 用の AMI で新しいインスタンスを作る。
そのため、AWS が勧めるインスタンスタイプの選び方は、最初の一つを見込みで決め切ることではない。本番でない環境で試して選び、使用率を測り、新しい世代が出たら試して見直すことである。
出典27件
-
AWS「Amazon EC2 instance types」(Amazon EC2 Instance Types)2026年10月17日取得. https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-types.html ↩ ↩2 ↩3
-
AWS「Amazon Machine Images in Amazon EC2」(Amazon EC2 ユーザーガイド)2026年10月17日取得. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html ↩
-
AWS「Amazon EBS volumes」(Amazon EBS ユーザーガイド)2026年10月17日取得. https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes.html ↩
-
AWS「Change the instance type for your Amazon EC2 instance」(Amazon EC2 ユーザーガイド)2026年10月17日取得. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/change-instance-type-of-ebs-backed-instance.html — スポットは替えられず、Auto Scaling グループでは置き換えられうる。 ↩ ↩2
-
AWS「Amazon EC2 instance type naming conventions」(Amazon EC2 Instance Types)2026年10月17日取得. https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html ↩ ↩2 ↩3
-
AWS「Burstable performance instances」(Amazon EC2 ユーザーガイド)2026年10月17日取得. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html ↩
-
AWS「Key concepts for burstable performance instances」(Amazon EC2 ユーザーガイド)2026年10月17日取得. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html ↩
-
AWS「Amazon EC2 instance type changes」(Amazon EC2 ユーザーガイド)2026年10月17日取得. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-resize.html ↩
-
AWS「Root volumes for your Amazon EC2 instances」(Amazon EC2 ユーザーガイド)2026年10月17日取得. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/RootDeviceStorage.html ↩
-
AWS「Instance store temporary block storage for EC2 instances」(Amazon EC2 ユーザーガイド)2026年10月17日取得. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html ↩
-
AWS「Data persistence for Amazon EC2 instance store volumes」(Amazon EC2 ユーザーガイド)2026年10月17日取得. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-store-lifetime.html ↩
-
AWS「Compatibility for changing the instance type」(Amazon EC2 ユーザーガイド)2026年10月17日取得. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resize-limitations.html — ほかにドライバ(ENA・NVMe)やボリュームの数の上限などの条件がある。 ↩ ↩2
-
AWS「Introducing Amazon EC2 A1 Instances Powered By New Arm-based AWS Graviton Processors」2018年11月26日、2026年10月17日取得. https://aws.amazon.com/about-aws/whats-new/2018/11/introducing-amazon-ec2-a1-instances/ ↩
-
AWS「Announcing New Amazon EC2 M6g, C6g, and R6g Instances Powered by Next-Generation Arm-based AWS Graviton2 Processors」2019年12月3日、2026年10月17日取得. https://aws.amazon.com/about-aws/whats-new/2019/12/announcing-new-amazon-ec2-m6g-c6g-and-r6g-instances-powered-by-next-generation-arm-based-aws-graviton2-processors/ ↩
-
About Amazon「AWS Graviton5 is now generally available」2025年12月4日(2026年6月10日更新)、2026年10月17日取得. https://www.aboutamazon.com/news/aws/aws-graviton-5-cpu-amazon-ec2 ↩
-
AWS「Transition guide」(aws-graviton-getting-started、GitHub)2026年10月17日取得. https://github.com/aws/aws-graviton-getting-started/blob/main/transition-guide.md ↩
-
Liz Fong-Jones「Observations on ARM64 & AWS’s Amazon EC2 M6g Instances」Honeycomb ブログ、2022年9月1日更新、2026年10月17日取得. https://www.honeycomb.io/blog/observations-on-arm64-awss-amazon-ec2-m6g-instances ↩
-
Daniel Lemire「Memory-level parallelism : Intel Ice Lake versus Amazon Graviton 3」2022年6月7日、2026年10月17日取得. 著者はケベック大学 TELUQ の教授。 https://lemire.me/blog/2022/06/07/memory-level-parallelism-intel-ice-lake-versus-amazon-graviton-3/ ↩
-
AWS「Design principles」(Well-Architected パフォーマンス効率の柱)2026年10月17日取得. https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/design-principles.html ↩
-
AWS「PERF02-BP01 Select the best compute options for your workload」(Well-Architected)2026年10月17日取得. https://docs.aws.amazon.com/wellarchitected/latest/framework/perf_compute_hardware_select_best_compute_options.html ↩
-
AWS「PERF02-BP03 Collect compute-related metrics」(Well-Architected)2026年10月17日取得. https://docs.aws.amazon.com/wellarchitected/latest/framework/perf_compute_hardware_collect_compute_related_metrics.html ↩
-
AWS「PERF02-BP04 Configure and right-size compute resources」(Well-Architected)2026年10月17日取得. https://docs.aws.amazon.com/wellarchitected/latest/framework/perf_compute_hardware_configure_and_right_size_compute_resources.html ↩
-
AWS「COST06-BP03 Select resource type, size, and number automatically based on metrics」(Well-Architected)2026年10月17日取得. https://docs.aws.amazon.com/wellarchitected/latest/framework/cost_type_size_number_resources_metrics.html ↩
-
AWS「Introducing AWS Compute Optimizer」2019年12月3日、2026年10月17日取得. https://aws.amazon.com/about-aws/whats-new/2019/12/introducing-aws-compute-optimizer/ ↩
-
AWS「What is AWS Compute Optimizer?」2026年10月17日取得. https://docs.aws.amazon.com/compute-optimizer/latest/ug/what-is-compute-optimizer.html ↩
-
Brendan Gregg「Active Benchmarking」2014年4月20日更新、2026年10月17日取得. 著者は性能工学の専門家。 https://www.brendangregg.com/activebenchmarking.html ↩
-
Ian Smith「The Present and Future of Arm and AWS Graviton at Honeycomb」Honeycomb ブログ、2022年5月23日更新、2026年10月17日取得. https://www.honeycomb.io/blog/present-future-arm-aws-graviton-honeycomb ↩
この記事はAIを使用して執筆されました。内容には誤りが含まれる可能性があります。事実や数字の出典は脚注から確かめられます。