導入
「とりあえず動けばいい」で選んだインスタンスタイプは、コストか性能のどちらかで必ず後悔します。SAAでは、ワークロードの特性からインスタンスファミリーを逆引きできるかが問われます。
説明
EC2インスタンスタイプの名前は、ファミリー・世代・(追加機能)・サイズ の組み合わせで読み解けます。例えば m6g.xlarge は「汎用(m)・第6世代・Graviton(g、ARM)・xlarge」を意味します。
| ファミリー | 用途 | 代表例 | 向いているワークロード |
|---|---|---|---|
| 汎用(General Purpose) | バランス型 | M系 | Webサーバー、小中規模DB、開発環境 |
| コンピューティング最適化(Compute Optimized) | CPU性能重視 | C系 | バッチ処理、動画エンコード、機械学習推論、ゲームサーバー |
| メモリ最適化(Memory Optimized) | メモリ容量重視 | R系、X系 | インメモリDB、大規模キャッシュ、リアルタイム分析 |
| ストレージ最適化(Storage Optimized) | 高速・大容量ローカルストレージ | I系、D系 | NoSQL DB、データウェアハウス、分散ファイルシステム |
| 高速コンピューティング(Accelerated Computing) | GPU/FPGA搭載 | P系、G系 | 機械学習の学習、3Dレンダリング、HPC |
flowchart TD
Q["ワークロードの<br/>ボトルネックは?"] -->|CPU| C["コンピューティング最適化(C系)"]
Q -->|メモリ| M["メモリ最適化(R系/X系)"]
Q -->|ディスクI/O| S["ストレージ最適化(I系/D系)"]
Q -->|GPU演算| A["高速コンピューティング(P系/G系)"]
Q -->|特に偏りなし| G["汎用(M系)"]
SAAの問題文では「大量の演算処理」「インメモリキャッシュ」「機械学習の学習」のように、ワークロードの性質が文章で示されます。そこからボトルネックを読み取り、ファミリーを逆算する練習をしておきましょう。
具体例
問題文のキーワードから「ボトルネック → ファミリー」を逆引きする練習です。3つのワークロードで見てみましょう。
| ワークロードの説明(問題文ふう) | ボトルネック | 選ぶファミリー |
|---|---|---|
| 「大量の動画を高速にエンコードする処理」 | CPU | コンピューティング最適化(C系) |
| 「数百GBのデータをすべてメモリに載せるリアルタイム分析」 | メモリ | メモリ最適化(R系/X系) |
| 「ディープラーニングモデルの学習」 | GPU | 高速コンピューティング(P系/G系) |
もし動画エンコード(CPU律速)に、メモリばかり大きいR系を選ぶと、CPUが足りずに遅く、メモリ代は無駄——性能もコストも外します。逆に、汎用のM系は「特に偏りのないWebサーバー」には最適ですが、具体的な処理内容が書かれていたら、それは特定ファミリーへの誘導です。「動画・エンコード=C系」「インメモリ=R系」「学習=G/P系」のキーワード対応を持っておくと即答できます。
読んでみよう
「とりあえずM系」で正解になる問題もありますが、問題文に具体的な処理内容(動画変換、インメモリDB、GPU学習など)が書かれていたら、それは特定ファミリーへの誘導です。キーワードとファミリーの対応を覚えておくと即答できます。