AWS Certified Solutions Architect - Associate (SAA-C03) #9 Domain 3-1 高性能アーキテクチャ — コンピューティングの選択

読了 5分

#8 で回復力ドメイン (26%) を終えました。3 つ目のドメインは 高性能 (High-Performing, 24%) です。最初のテーマはコンピューティングです。SAA のコンピューティング問題は、「このワークロードにどのインスタンスファミリーを、どの購入オプションで、あるいはサーバーレスで置くのか」をコスト・性能の基準で問います。

EC2 インスタンスファミリー #

EC2 インスタンスはワークロードの性質に応じてファミリーに分かれます。試験はファミリーごとのマシンを暗記させるというより、「このワークロードにはどのファミリーか」 を問います。

ファミリー代表適したワークロード
汎用 (General Purpose)T, MWeb サーバー、小規模 DB、バランスの取れた一般ワークロード
コンピューティング最適化 (Compute)Cバッチ処理、高性能演算、ゲームサーバー
メモリ最適化 (Memory)R, Xインメモリ DB、大容量キャッシュ、リアルタイム分析
ストレージ最適化 (Storage)I, D高 IOPS ローカルストレージ、大容量データ
高速コンピューティング (Accelerated)P, GML の学習/推論、GPU グラフィック

「インメモリデータベース」や「大容量メモリ」が手がかりなら メモリ最適化 (R/X)、「機械学習/GPU」なら 高速コンピューティング (P/G)、「高性能演算/バッチ」なら コンピューティング最適化 (C) です。

購入オプション #

同じインスタンスでも 購入方法 によってコストが大きく変わります。この選択がコスト問題の核心です。

オプション契約コスト適したワークロード
On-Demandなし基準価格短期・予測不可・テスト
Reserved Instances1 年/3 年最大 ~72% 削減継続的な ワークロード
Savings Plans1 年/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

ワークロード別の選択フロー #

  1. 継続的な 24/7 負荷 → EC2 + Reserved/Savings Plans (ベース)、変動分は On-Demand
  2. 中断に耐えるバッチ/大量処理Spot
  3. 予測不可・間欠的なイベントLambda (短ければ) または On-Demand + Auto Scaling
  4. コンテナ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) まで整理します。

X