AWS Certified Solutions Architect - Associate (SAA-C03) #9 Domain 3-1 高性能アーキテクチャ — コンピューティングの選択
#8 で回復力ドメイン (26%) を終えました。3 つ目のドメインは 高性能 (High-Performing, 24%) です。最初のテーマはコンピューティングです。SAA のコンピューティング問題は、「このワークロードにどのインスタンスファミリーを、どの購入オプションで、あるいはサーバーレスで置くのか」をコスト・性能の基準で問います。
EC2 インスタンスファミリー #
EC2 インスタンスはワークロードの性質に応じてファミリーに分かれます。試験はファミリーごとのマシンを暗記させるというより、「このワークロードにはどのファミリーか」 を問います。
| ファミリー | 代表 | 適したワークロード |
|---|---|---|
| 汎用 (General Purpose) | T, M | Web サーバー、小規模 DB、バランスの取れた一般ワークロード |
| コンピューティング最適化 (Compute) | C | バッチ処理、高性能演算、ゲームサーバー |
| メモリ最適化 (Memory) | R, X | インメモリ DB、大容量キャッシュ、リアルタイム分析 |
| ストレージ最適化 (Storage) | I, D | 高 IOPS ローカルストレージ、大容量データ |
| 高速コンピューティング (Accelerated) | P, G | ML の学習/推論、GPU グラフィック |
「インメモリデータベース」や「大容量メモリ」が手がかりなら メモリ最適化 (R/X)、「機械学習/GPU」なら 高速コンピューティング (P/G)、「高性能演算/バッチ」なら コンピューティング最適化 (C) です。
購入オプション #
同じインスタンスでも 購入方法 によってコストが大きく変わります。この選択がコスト問題の核心です。
| オプション | 契約 | コスト | 適したワークロード |
|---|---|---|---|
| On-Demand | なし | 基準価格 | 短期・予測不可・テスト |
| Reserved Instances | 1 年/3 年 | 最大 ~72% 削減 | 継続的な ワークロード |
| Savings Plans | 1 年/3 年 (時間あたりの契約) | Reserved 級の削減 | 継続的だが柔軟性が必要 |
| Spot | なし (中断あり) | 最大 ~90% 削減 | 中断に耐える バッチ・stateless |
| Dedicated Host/Instance | 場合による | 高い | ライセンス・規制で物理的な隔離が必要 |
- On-Demand — 契約なしで使った分だけ。トラフィックが予測できない場合や短期の作業に。
- Reserved / Savings Plans — 1~3 年の契約で大きく割引。24/7 の継続的なベース負荷 に適しています。Savings Plans は「時間あたり N ドル」を契約し、インスタンスファミリーの変更があっても割引が維持される柔軟性を与えます。
- Spot — 余剰容量を最大 90% 安く使えますが、AWS が回収すると 中断 されます。中断に耐える バッチ・ビッグデータ・stateless ワークロードに適しています。
- Dedicated Host — 物理サーバーを単独で占有します。サーバー単位のライセンスや規制上の隔離要件に使います。
サーバーレスコンピューティング #
サーバーを直接管理しない選択肢もあります。
- Lambda — イベント駆動でコードを実行し、サーバーをまったく管理しません。実行時間の分だけ課金され、自動的にスケールします。1 回の実行は最大 15 分 なので、短くイベント駆動される作業に適しています。
- Fargate — サーバーレスのコンテナ実行環境です。ECS/EKS のコンテナを EC2 の管理なしで動かします。「コンテナは使うが、インスタンスの運用はしたくない」という要件の答えです。
選択基準を整理すると次のとおりです。
- 短く イベント駆動 → Lambda
- コンテナだがサーバー管理を回避 → Fargate
- 長時間実行・きめ細かい OS 制御 → EC2
ワークロード別の選択フロー #
- 継続的な 24/7 負荷 → EC2 + Reserved/Savings Plans (ベース)、変動分は On-Demand
- 中断に耐えるバッチ/大量処理 → Spot
- 予測不可・間欠的なイベント → Lambda (短ければ) または On-Demand + Auto Scaling
- コンテナ → Fargate (サーバー管理を回避) または ECS/EKS on EC2 (きめ細かい制御)
よくある組み合わせは、ベース負荷は Reserved、変動負荷は On-Demand または Spot で ASG を構成する方法です。
試験の出題パターン #
- 「24/7 の継続的な ワークロードのコスト削減。」 → Reserved Instances / Savings Plans
- 「中断されてもよい バッチ・大量処理。」 → Spot
- 「イベント駆動の短い 実行、サーバー管理なし。」 → Lambda
- 「コンテナ だがインスタンス運用を回避。」 → Fargate
- 「インメモリ DB でメモリ集約。」 → メモリ最適化 (R/X)
- 「ML/GPU ワークロード。」 → 高速コンピューティング (P/G)
- 「サーバー単位のライセンス/規制隔離。」 → Dedicated Host
よく出会う落とし穴 #
1) Spot を stateful・コアワークロードに使う #
Spot はいつでも回収されます。中断に耐えられないコアサービスや状態を保持する作業には不適切です。
2) 変動の大きいワークロードに Reserved を勧める #
Reserved/Savings Plans は 継続的な 負荷用です。変動が大きければ On-Demand・Spot・サーバーレスが適切です。
3) 長時間の作業を Lambda で処理する #
Lambda は 1 回の実行が 最大 15 分 です。それより長い作業は Fargate・EC2・Batch へ進む必要があります。
4)「サーバーレス = 必ず安い」と決めつける #
継続的に高い負荷であれば Reserved EC2 のほうが安いことがあります。トラフィックパターンによって分かれます。
まとめ #
この記事で押さえたこと:
- EC2 ファミリー — 汎用 (T/M) · コンピューティング (C) · メモリ (R/X) · ストレージ (I/D) · 高速 (P/G)
- 購入オプション — On-Demand (短期) · Reserved/Savings (継続) · Spot (中断に耐える・最大 90% 削減) · Dedicated (隔離)
- サーバーレス — Lambda (イベント・最大 15 分) · Fargate (サーバーレスコンテナ)
- 標準の組み合わせ — ベースは Reserved、変動は On-Demand/Spot で ASG を構成
次へ — Domain 3-2 キャッシング #
コンピューティングを押さえたので、性能を引き上げる次の手段である キャッシング へ進みます。
#10 Domain 3-2 キャッシング では、ElastiCache の Redis と Memcached の違い、DynamoDB を高速化する DAX、ユーザーの近くにコンテンツをキャッシュする CloudFront、そしてキャッシュ戦略 (lazy loading・write-through) まで整理します。