AWS EC2 インスタンスタイプとEBSガイド
EC2インスタンスタイプについて
AWS EC2には、様々な用途に合わせた多種多様なインスタンスタイプが存在します。料金計算ツールで選択できる主要なインスタンスファミリーを中心に解説します。
インスタンスファミリーの分類
- 汎用 (General Purpose):
Tシリーズ(T3, T2): バースト性能を持つインスタンス。Webサーバー、小規模データベース、開発環境など、CPU利用率が低いが一時的にスパイクするワークロードに適しています。
Mシリーズ(M6g, M5): CPU、メモリ、ネットワーク性能がバランスの取れたインスタンス。Webアプリケーション、バックエンドサーバー、中規模データベースなど、幅広いワークロードに最適です。 - コンピューティング最適化 (Compute Optimized): Cシリーズ(C6g, C5): CPU性能が非常に高いインスタンス。科学技術計算、バッチ処理、高性能Webサーバー、メディアトランスコーディングなどに適しています。
- メモリ最適化 (Memory Optimized): Rシリーズ(R6g, R5): メモリ容量が豊富なインスタンス。高性能データベース、分散メモリキャッシュ、リアルタイム分析などに適しています。
- ストレージ最適化 (Storage Optimized):
Iシリーズ(I3, I3en): 高速なローカルNVMe SSDを搭載したインスタンス。NoSQLデータベース、データウェアハウスなど、高いI/O性能が求められるワークロードに適しています。
Dシリーズ(D2, D3): 大容量HDDストレージを搭載したインスタンス。分散ファイルシステム、大規模データウェアハウスなどに適しています。 - アクセラレーテッドコンピューティング (Accelerated Computing):
Pシリーズ(P3, P4d): GPUを搭載したインスタンス。機械学習、ディープラーニング、高性能コンピューティング (HPC) に最適です。
Gシリーズ(G4dn, G5): グラフィックス集約型アプリケーション、機械学習の推論、動画処理などに適しています。
汎用インスタンス(推奨)
小規模なWebサイトや開発環境など、様々な用途に柔軟に対応できる汎用インスタンスがおすすめです。特にTシリーズは、コストを抑えつつ一定の性能を確保できます。
- T3 / T2 シリーズ:
バースト可能な性能を持つインスタンス。CPUクレジットを貯めて、必要に応じてCPU性能を一時的に高めることができます。通常時のCPU利用率が低いワークロードに適しています。メリット: コスト効率が良い、柔軟なCPU利用。
デメリット: CPUクレジットを使い切ると性能が低下する(CPUクレジットが無効化されていない場合)。 - M6g / M5 シリーズ:
CPU、メモリ、ネットワーク性能がバランスの取れたインスタンス。幅広いアプリケーションに利用でき、安定した性能を提供します。Graviton2プロセッサ搭載のM6gは、M5に比べてコストパフォーマンスが優れています。メリット: バランスの取れた性能、安定稼働。
デメリット: Tシリーズよりはコストが高い。
インスタンスタイプの命名規則
AWSのインスタンスタイプは、通常「[ファミリー].[世代].[サイズ]
」という形式で命名されます。
- ファミリー: インスタンスの主要な特性(例:
t
,m
,c
,r
など)。 - 世代: インスタンスの世代を表す数字(例:
2
,3
,5
,6
など)。数字が大きいほど新しい世代で、一般的に性能とコスト効率が向上しています。 - サイズ: インスタンスの規模を表すサイズ(例:
nano
,micro
,small
,medium
,large
,xlarge
,2xlarge
,4xlarge
など)。サイズが大きくなるにつれて、CPUコア数、メモリ、ネットワーク性能、ストレージが増加します。
世代の見分け方: インスタンス名の数字が世代を表します(例:T3の「3」)。数字が大きいほど新しい世代で、性能とコストパフォーマンスが向上しています。
例: t3.medium
これはTシリーズの第3世代、ミディアムサイズのインスタンスを意味します。Webサーバーや開発環境など、CPU利用率が一時的に高まるワークロードに適しています。
これはTシリーズの第3世代、ミディアムサイズのインスタンスを意味します。Webサーバーや開発環境など、CPU利用率が一時的に高まるワークロードに適しています。
インスタンスサイズの選び方
インスタンスサイズは、ワークロードの要件に基づいて慎重に選択する必要があります。以下の点を考慮して最適なサイズを見つけましょう。
- CPUとメモリの要件: アプリケーションが必要とするCPU処理能力とメモリ量を把握します。データベースや分析ツールはメモリを大量に消費する傾向があります。
- ネットワーク性能: 大量のデータを転送するアプリケーション(例: 大規模なWebサイト、データ処理)では、高いネットワーク帯域幅を持つインスタンスが有利です。
- ストレージI/O性能: データベースやログの書き込みなど、ストレージへの読み書きが頻繁に行われる場合は、高いI/O性能を持つインスタンスタイプやEBSボリュームタイプを選択します。
- バースト性能 (Tシリーズ): Tシリーズのようなバースト可能なインスタンスは、CPU利用率が低い時間帯が長く、一時的にCPUが必要となるワークロード(開発環境、小規模Webサイト)に適しています。CPUクレジットを使い果たすと性能が低下するため、継続的に高いCPU性能が必要な場合はMやCシリーズを検討します。
- コスト: 必要な性能を満たしつつ、最もコスト効率の良いインスタンスサイズを選択することが重要です。料金計算ツールを活用して、複数のインスタンスサイズで費用を比較検討しましょう。
EBS (Elastic Block Store) ボリュームタイプについて
EC2インスタンスの永続的なストレージとして利用されるEBSにも複数のタイプがあります。料金計算ツールでは、最も一般的な「汎用SSD (gp3)」と「汎用SSD (gp2)」を比較できます。
汎用SSD (gp3) と 汎用SSD (gp2) の比較
項目 | 汎用SSD (gp3) | 汎用SSD (gp2) |
---|---|---|
推奨用途 | ほとんどのワークロードに推奨。パフォーマンスとコストのバランスが良い。 | 旧世代の汎用SSD。現在はgp3への移行が推奨。 |
パフォーマンス設定 | ストレージサイズとは独立してIOPSとスループットを設定可能。 | ボリュームサイズに比例してIOPSとスループットが増加。 |
最大IOPS (ボリューム当たり) | 16,000 | 16,000 |
デフォルト性能 | 3,000 IOPS, 125 MB/s | ボリュームサイズに比例 (3 IOPS/GB) |
コスト効率 | gp2より高効率 |
結論: 現在は、ほとんどのユースケースでgp3の利用が推奨されます。gp2と比較してコストを抑えつつ、高い性能を柔軟に設定できます。
追加の注意点:CPUアーキテクチャと互換性
CPUアーキテクチャが異なるインスタンスタイプ(Intel/AMDとArm)間では、互換性に注意が必要です。
- 特に古いソフトウェアやコンパイル済みのバイナリは、Armアーキテクチャで動作しない場合があります。
- MySQL 5.7などの一部のソフトウェアは、Armプロセッサでは公式リポジトリから利用できない、または動作しない場合があります(MySQL 8.0以降はArmをサポートしています)。
- 利用するOS、プログラミング言語のバージョン、ライブラリなどが、ターゲットのCPUアーキテクチャをサポートしているか、事前に確認が必要です。
UAT・開発環境向けインスタンスの選択肢
UAT (ユーザー受け入れテスト) や開発環境においては、コスト効率と必要最低限のリソースを考慮したインスタンスタイプが適しています。
t3.micro:
- メモリ: 1GB
- vCPU: 2 (CPUクレジットを使用)
- Intel/AMDプロセッサ搭載
t4g.micro:
- メモリ: 1GB
- vCPU: 2 (CPUクレジットを使用)
- AWS Graviton2プロセッサ (Armベース) 搭載
- 多くの場合、t3.microよりも優れたコストパフォーマンスと性能を提供します。Armベースであるため、ソフトウェアの互換性を事前に確認してください。
プロジェクトの特性(必要なソフトウェアの互換性、利用コストなど)に応じて最適なインスタンスタイプを選択してください。