Amazon EC2 インスタンスタイプとは?種類・命名規則・選び方を徹底解説
Amazon EC2(Amazon Elastic Compute Cloud)には t3.medium、m5.large、c5.xlarge、m7g.large など、数百種類のインスタンスタイプがあります。Web サーバー、データベース、機械学習など、用途によって最適なタイプは異なりますが、命名規則や特性を理解していないと適切な選択が難しいのが実情です。
インスタンスタイプの命名規則が理解できない、自社のワークロードに最適なタイプがわからない、過剰なスペックでコストが無駄になっていないか不安、こうした課題を抱える方は多いでしょう。
本記事では、Amazon EC2 インスタンスタイプの5つのカテゴリと命名規則、過去データ分析に基づく最適な選び方を解説します。
Amazon EC2 インスタンスタイプとは
Amazon EC2 インスタンスタイプとは、CPU、メモリ、ストレージ、ネットワーク性能の組み合わせにより定義される、仮想サーバーの構成です。
それぞれのインスタンスタイプは特定の用途やアプリケーションに最適化されています。
適切なインスタンスタイプを選択することでアプリケーションの性能を最大限に引き出し、コスト削減が可能です。
過剰なリソース構成による無駄を削減し、実際の利用状況に応じたインスタンスタイプを選ぶことが重要です。また、AWS Graviton プロセッサを搭載したインスタンスも提供されており、コストパフォーマンスの向上が図られています。
インスタンスタイプの5つのカテゴリ
Amazon EC2 インスタンスタイプは主に5つのカテゴリに分類されます。
1. 汎用インスタンス
M シリーズ(M5、M6i、M7g など)はバランスの取れた CPU、メモリ、ネットワーク性能を提供し、幅広いアプリケーションに対応します。
T シリーズ(T3、T4g など)はバースト機能を持ち、通常時は低コストで必要な時に CPU 性能を発揮します。
Web サーバー、アプリケーションサーバー、小規模データベースなどに適しています。
2. コンピューティング最適化インスタンス
C シリーズ(C5、C6g、C7g など)は高い CPU 性能を必要とするワークロード向けに設計されています。
バッチ処理、メディアトランスコーディング、ハイパフォーマンスコンピューティング、科学技術計算などに適しています。
CPU 使用率が継続的に高いワークロードに最適です。
3. メモリ最適化インスタンス
R シリーズ(R5、R6g、R7g など)は大容量メモリを搭載し、メモリ集約型のワークロードに最適化されています。
X シリーズ(X1e、X2gd など)はさらに大容量のメモリを提供します。
インメモリデータベース(Redis、Memcached)、リアルタイムビッグデータ分析、キャッシュサーバーなどに適しています。
4. ストレージ最適化インスタンス
I シリーズ(I3、I4i、I4g など)は高速な NVMe SSD を搭載し、高いディスク I/O 性能を提供します。
D シリーズ(D2、D3 など)は大容量のローカルストレージを提供します。
データウェアハウジング、分散ファイルシステム(Hadoop、HDFS)、ビッグデータ処理などに適しています。
5. 高速コンピューティングインスタンス
P シリーズ(P3、P4、P5 など)は NVIDIA の GPU を搭載し、機械学習のトレーニングや推論に最適化されています。
G シリーズ(G4、G5、G6 など)はグラフィック処理や機械学習の推論に適した GPU を搭載しています。
F シリーズ(F1 など)は FPGA を搭載し、カスタムハードウェアアクセラレーションが可能です。
機械学習、3D レンダリング、科学シミュレーション、動画処理などに適しています。
インスタンスタイプの命名規則
インスタンスタイプの名称は、ファミリー、世代、サフィックス、サイズで構成されます。
- ファミリー: 用途を示すアルファベット。C はコンピューティング最適化、M は汎用、R はメモリ最適化を意味します。
- 世代: 数字で表され、数字が大きいほど新しい世代です(例:第7世代は「7」)。
- サフィックス: 追加機能を示します。g は AWS Graviton プロセッサ、a は AMD プロセッサ、i は Intel プロセッサを意味します。
- サイズ: large、xlarge、2xlarge などで表され、数字が大きいほど高性能です。
例えば c5.large はコンピューティング最適化の第5世代で large サイズのインスタンスです。
インスタンスタイプの選び方
用途別の推奨タイプとして Web サーバーには T3 や M5、M7g、データベースには R5 や R7g、機械学習には P4 や P5、バッチ処理には C5 や C7g が適しています。
過去データに基づく実践的な選択方法では、Amazon CloudWatch メトリクスを活用し、過去1年間の CPU 使用率、メモリ使用率、ディスク I/O、ネットワークトラフィックを多角的に分析します。これにより過剰なリソース構成を特定し、適切なインスタンスタイプを選択できます。
また、本番環境の構築においては、可用性とビジネス継続性の観点から以下の指標を定義することが重要です。
- RTO(目標復旧時間)/ RPO(目標復旧時点): 障害発生時にどの程度の時間で復旧させ、どの時点のデータまでを保証するかを明確にします。
- 可用性設計: 本番環境では、複数のアベイラビリティーゾーン(AZ)を活用するマルチAZ構成を採用し、耐障害性を高めることがベストプラティクスです。一方、コストを抑えたい検証環境ではシングルAZ構成にするなど、用途に応じた使い分けが有効です。
成長予測を考慮した選択として、今後の利用者増加予測やビジネスの成長フェーズを見据え、短期的なコスト削減と長期的な拡張性を両立します。
ライトサイジングの実施により、サービスの安定稼働後に利用パターンを分析し、適切なインスタンスタイプへ変更します。ライトサイジングと Reserved Instances や Savings Plans を組み合わせることで、大幅なコスト削減が可能です。
主要なインスタンスタイプの詳細と比較
M5 は Intel Xeon Platinum プロセッサを搭載し、M6i は第3世代 Intel Xeon Scalable プロセッサを搭載して高性能です。最新の M7g は AWS Graviton3 プロセッサにより、さらに高い電力効率と性能を誇ります。
T3 はバースト可能で、T4g は AWS Graviton2 プロセッサを搭載しコストパフォーマンスが高くなります。
C5 は高い CPU 性能を持ち、C6g/C7g は AWS Graviton プロセッサを搭載してコストパフォーマンスが高くなります。
R5 は大容量メモリを搭載し、R6g/R7g は AWS Graviton プロセッサを搭載してコストパフォーマンスが高くなります。
AWS Graviton プロセッサを搭載したインスタンスタイプは、x86ベースのインスタンスと比較してコストパフォーマンスに優れています。
インスタンスタイプの変更と継続的な最適化
インスタンスの停止後「インスタンスの設定」から「インスタンスタイプの変更」を選択し、新しいタイプに変更できます。
- ダウンタイムの発生: 変更時には停止・起動に伴うダウンタイムが発生するため、計画的な実施が必要です。
- データの保持: Amazon EBS ボリュームのデータは保持されますが、インスタンスストア(エフェメラルストレージ)のデータは失われるため注意が必要です。
サービスの成長に伴い定期的にインスタンスタイプを見直し、継続的に最適化することで常に最適な状態を維持できます。新しい世代のインスタンスタイプ(第7世代、第8世代など)がリリースされた際は移行を検討し、パフォーマンスの維持と向上を図ります。
よくある質問とその回答
Q. どのインスタンスタイプを選べばよいですか?
A. 用途に応じて選択します。一般的な Web アプリケーションには汎用タイプ(T3、M5)、CPU 集約型の処理にはコンピューティング最適化(C5)、データベースにはメモリ最適化(R5)が適しています。過去のメトリクスを分析し、CPU、メモリ、ディスク I/O の使用状況を確認して選択することをおすすめします。
Q. インスタンスタイプの命名規則はどうなっていますか?
A. ファミリー(C、M、R など)、世代(数字)、サフィックス(g、a など)、サイズ(large、xlarge など)で構成されます。例えば c5.large はコンピューティング最適化の第5世代で large サイズです。
Q. インスタンスタイプを変更できますか?
A. はい、インスタンスを停止してから変更できます。ただし変更時にはダウンタイムが発生し、一部のタイプ間では仮想化方式の違い等により互換性がない場合があります。Amazon EBS ボリュームのデータは保持されますが、インスタンスストアのデータは失われるため注意が必要です。
Q. T3 と M5 の違いは何ですか?
A. T3 はバースト可能な汎用インスタンスで、通常時は低コストで必要な時に CPU 性能を発揮します。M5 は常時安定した性能を提供する汎用インスタンスです。継続的に高い CPU 性能が必要な場合は M5、負荷に変動があるワークロードには T3 が適しています。
Q. コストを削減するにはどうすればよいですか?
A. 過去のメトリクスを分析し、実際の利用状況に応じた適切なインスタンスタイプを選択(ライトサイジング)することで無駄なコストを削減できます。ライトサイジングと Reserved Instances を組み合わせることでコスト削減が可能です。また、AWS Graviton プロセッサを搭載したインスタンスタイプ(T4g、C6g、R7g など)はコストパフォーマンスが高くなります。
Amazon EC2 インスタンスタイプは CPU、メモリ、ストレージ、ネットワーク性能の組み合わせにより定義され、特定の用途に最適化されています。
5つのカテゴリ(汎用、コンピューティング最適化、メモリ最適化、ストレージ最適化、高速コンピューティング)を理解し、自社のワークロードに最適なタイプを選択することが重要です。
過去のメトリクス(CPU 使用率、メモリ使用率、ディスク I/O、ネットワークトラフィック)を Amazon CloudWatch などで多角的に分析し、実際の利用状況に基づいて選択することをおすすめします。本番環境においては、RTO/RPO の指標に基づき、マルチAZ構成等による可用性の確保も併せて検討してください。
今後のビジネス成長も考慮し、短期的なコスト削減と長期的な拡張性を両立することが重要です。
ライトサイジングにより過剰なリソース構成を適正化し、Reserved Instances と組み合わせることでコスト削減を実現できます。AWS Graviton プロセッサを搭載したインスタンスタイプ(T4g、C6g、R7g など)はコストパフォーマンスが高く、積極的に活用することをおすすめします。
サービスの成長に伴い、定期的にインスタンスタイプを見直し、継続的に最適化することで常に最適な状態を維持できます。
cloudpack では Amazon EC2 インスタンスタイプの選定から運用最適化までトータルでサポートしています。過去データの詳細分析、最適なインスタンスタイプの選定、ライトサイジングの実施、継続的な最適化支援まで総合的にサポートします。