AWS Certified Solutions Architect - Associate (SAA-C03) #13 Domain 4-1 コスト最適化 — 価格モデル
#12 で高性能ドメイン (24%) を終えました。最後のドメインは コスト最適化 (20%) です。同じ結果をより安く出す設計を問います。最初のテーマは価格モデルです。#9 コンピューティングの選択 で購入オプションを扱いましたが、今回は コスト削減の観点 からより精密に区別します。
EC2 購入オプション — コスト観点 #
コスト問題で分かれる核心は 「ワークロードがどれだけ安定しているか」 と 「どれだけ柔軟である必要があるか」 です。
| オプション | 削減 | 柔軟性 | 適合 |
|---|---|---|---|
| On-Demand | 0% | 最大 | 短期・予測不可 |
| Spot | 最大 ~90% | 中断あり | stateless・バッチ |
| Savings Plans | 最大 ~72% | オプションにより異なる | 安定した負荷 |
| Reserved Instances | 最大 ~72% | 低い | 安定 + 属性固定 |
Savings Plans — Compute vs EC2 Instance #
Savings Plans は「1 時間あたり N ドルを使用」を 1 年/3 年でコミットして割引を受ける方式です。2 種類のトレードオフが試験に出ます。
| 種類 | 適用範囲 | 割引 |
|---|---|---|
| Compute Savings Plans | EC2 + Fargate + Lambda、リージョン・ファミリー無関係 | より低い |
| EC2 Instance Savings Plans | 特定リージョンの 特定インスタンスファミリー | より高い |
「インスタンスファミリーを変えることもあり、Fargate/Lambda も使う」なら柔軟な Compute Savings Plans、「ファミリー・リージョンが固定」なら割引が大きい EC2 Instance Savings Plans です。
Reserved Instances — Standard vs Convertible #
- Standard RI — 割引は大きいですが属性の変更が制限されます。
- Convertible RI — インスタンスファミリー・OS などの属性を変えられる代わりに割引が小さくなります。
最近は柔軟性と適用範囲のため Savings Plans が多く推奨されますが、試験は両方の概念を問います。
S3 のコスト構造 #
S3 のコストは単純に保存容量だけではありません。
- ストレージコスト — クラスによって異なります (#11)。アクセス頻度に合ったクラス選択が削減の核心
- リクエストコスト — PUT/GET などのリクエスト数
- データ取得コスト — IA・Glacier から取り出すとき
- データ転送コスト — アウトバウンド転送
頻繁にアクセスしないデータを ライフサイクルポリシーで低コストクラス へ移し、パターンが分からなければ Intelligent-Tiering で自動化するのが標準的な削減方法です。
データ転送コスト #
コスト問題で見落としやすい領域です。大きな原則は次のとおりです。
| 経路 | コスト |
|---|---|
| インターネット → AWS (インバウンド) | 無料 |
| AWS → インターネット (アウトバウンド) | 課金 |
| 同じ AZ、プライベート IP | 無料 |
| AZ 間 (クロス AZ) | 課金 |
| リージョン間 (クロスリージョン) | 課金 (より大きい) |
削減方法は次のとおりです。
- CloudFront — オリジンのアウトバウンドの代わりにエッジでキャッシュ応答し、転送コスト・負荷を削減
- VPC Endpoint — S3/DynamoDB のトラフィックを NAT なしでプライベート経路へ (#4)
- 同じリージョン・同じ AZ に配置 — 不要なクロス AZ/リージョン転送の回避
- NAT Gateway のデータ処理コスト を認識 — 大量トラフィックではコストが大きい
コストを下げるアーキテクチャの選択 #
- right-sizing — 過剰にプロビジョニングされたインスタンスを適正サイズへ (Compute Optimizer が推奨、#14)
- サーバーレス/マネージドへの移行 — アイドル時間が多ければ Lambda・Fargate・Aurora Serverless へ
- 自動停止/スケール — 夜間・週末の未使用リソースを停止、ASG で変動を吸収
- ストレージの階層化 — ライフサイクルポリシー + 適正な S3 クラス
試験の出題パターン #
- 「安定した負荷 + インスタンスファミリーの柔軟性/サーバーレスを含む。」 → Compute Savings Plans
- 「特定ファミリー・リージョン固定、最大割引。」 → EC2 Instance Savings Plans / Standard RI
- 「中断に耐える バッチ、最大削減。」 → Spot
- 「データ転送コスト の削減。」 → CloudFront / VPC Endpoint / 同じリージョンに配置
- 「過剰プロビジョニング インスタンスの適正化。」 → Compute Optimizer による right-sizing
- 「アクセス頻度の低い S3 データのコスト削減。」 → ライフサイクル + IA/Glacier
よく出会う落とし穴 #
1) インバウンド転送にコストがかかると考える #
インターネットから AWS に入るインバウンドのデータ転送は無料です。課金は主にアウトバウンドとクロス AZ/リージョンです。
2) 変動ワークロードに Reserved/Savings Plans を勧める #
コミットメントベースの割引は 安定した 負荷向けです。変動・間欠なら On-Demand・Spot・サーバーレスが適切です。
3) Compute と EC2 Instance Savings Plans を混同する #
Compute は柔軟 (Fargate/Lambda を含む、ファミリー無関係)・割引が小さい。EC2 Instance は固定・割引が大きい。
4) 同じリージョンなら転送が常に無料だと考える #
同じ AZ のプライベート IP は無料ですが、クロス AZ は課金 されます。
まとめ #
この記事で押さえたこと:
- EC2 削減 — Spot (中断に耐える)、Savings Plans/Reserved (安定)。Compute SP (柔軟) vs EC2 Instance SP (固定・大きな割引)
- S3 コスト — ストレージ + リクエスト + 取得 + 転送。クラス・ライフサイクル で削減
- データ転送 — インバウンド無料、アウトバウンド・クロス AZ/リージョンは課金。CloudFront・VPC Endpoint で削減
- アーキテクチャ — right-sizing、サーバーレスへの移行、自動スケール、ストレージの階層化
次へ — Domain 4-2 コストモニタリング #
価格モデルを押さえたので、コストドメインの最後として コストを可視化して管理するツール を扱います。
#14 Domain 4-2 コストモニタリング では、コストを分析・予測する Cost Explorer、予算超過を通知する AWS Budgets、コスト・セキュリティ・性能を点検する Trusted Advisor、right-sizing を推奨する Compute Optimizer、そして一括請求とコスト配分タグを整理します。