Servisphere

モジュール 13 · SAA-C03

コスト最適化

EC2 の購入オプション(On-Demand、Savings Plans、Reserved、Spot)、低コストのストレージクラス、データ転送料金、コスト監視ツール。

  • 分野コスト最適化
  • 図 9
  • 出題パターン 11
  • サービス 13

5 分で押さえる要点

  1. On-Demand:秒単位 / 時間単位の支払い、コミットメントなし。短期間で予測できないワークロードや検証中のワークロードに適しています。比較の基準となる最も高い料金です。
  2. Savings Plans:1 年または 3 年、1 時間あたり一定額(USD)の利用をコミットし、On-Demand より安い料金を得ます。Compute Savings Plans が最も柔軟です(すべての family、Region、OS、Fargate と Lambda も対象)。EC2 Instance Savings Plans は割引率が高い一方、1 つの Region 内の 1 つの family に固定されます。
  3. Reserved Instances:特定の構成を 1 年または 3 年予約します。Standard は割引率が高く Marketplace で売却でき、Convertible は別の構成に変更できます。RDS、ElastiCache、Redshift、OpenSearch には独自の reserved があります。問題文が「データベースが 24 時間 365 日安定稼働」なら → reserved / Database Savings Plans。
  4. Spot Instances:EC2 の余剰キャパシティを使い最大 90% 割引ですが、AWS が回収する可能性があり、事前通知は 2 分前のみです。中断に耐えられる処理に適しています:バッチ、画像処理、CI、EMR の task node、ステートレスな worker。データベースや停止できない処理には使いません。
  5. 組み合わせ:安定したベース部分は Savings Plans / RI、変動部分は On-Demand、中断に耐えられる部分は Spot で実行します。mixed instances policy を設定した Auto Scaling group で On-Demand と Spot を混在させ、複数の instance type を使って回収リスクを下げます。
  6. Dedicated Host:物理サーバー 1 台を専有し、socket / core を確認できます。問題文に socket / core 単位のソフトウェアライセンス(BYOL)やコンプライアンス要件があれば → Dedicated Host。
  7. コミットの前に適正サイズ化(rightsizing):Compute Optimizer がより適切なインスタンス、EBS、Lambda を提案します。過大なサイズのマシンに Savings Plans をコミットすると、無駄を 1~3 年間固定することになります。
  8. S3:アクセス頻度に応じてストレージクラスを選び、ライフサイクルポリシーでクラスの移行 / 削除を自動化します。Standard-IA と One Zone-IA は最低 30 日、Glacier Instant / Flexible は 90 日、Deep Archive は 180 日分課金されます。IA はオブジェクトあたり最低 128 KB で課金されます。
  9. アクセスパターンが事前にわからなければ S3 Intelligent-Tiering:階層を自動で移動し、取り出し料金はなく、オブジェクトごとのモニタリング料金のみです。128 KB 未満のオブジェクトはモニタリング対象外で、常に Frequent 階層に置かれます。
  10. データ転送:インターネットへの送信および AZ 間 / Region 間の転送は課金されます。インターネットへの送信は毎月最初の 100 GB が無料です(全サービス合算)。削減策:CloudFront でユーザーの近くにキャッシュ、NAT を経由せず S3 / DynamoDB には gateway endpoint、適切な場合は通信量の多いトラフィックを同じ AZ 内に収めます。
  11. NAT Gateway は時間単位と処理 GB 単位で課金されます。プライベートサブネットから S3 / DynamoDB への大量トラフィック:NAT を経由せず gateway endpoint(無料)を使います。
  12. Cost Explorer はコストの確認と予測を行い、Savings Plans / RI の購入を推奨します。Budgets はしきい値を設定してアラートを送り、action を自動実行できます。問題文が「コストが超過しそうなときに警告」なら → Budgets、「傾向を分析し、コストのかかるサービスを特定」なら → Cost Explorer。
  13. Cost and Usage Report(Data Exports)は最も詳細なコストデータで、S3 に出力して Athena でクエリします。cost allocation tag を付けてプロジェクト / 部門ごとにコストを配分します。
  14. AWS Organizations の一括請求(consolidated billing):利用量を合算して階層料金を適用し、Savings Plans / RI をアカウント間で共有します。問題文が複数アカウントで、請求書を 1 つにして共通の割引を活用したいなら → Organizations。
  15. 使っていないものを停止:業務時間外の開発環境、孤立した EBS volume / snapshot、Elastic IP とパブリック IPv4(いずれも時間単位で課金)。Trusted Advisor と Cost Optimization Hub がアイドル状態や低使用率のリソースを一覧表示します。

構成図

負荷の形に合わせて購入方法を組み合わせる

負荷の形に合わせて購入方法を組み合わせるAuto Scaling group (mixed instances)割引1scale out23Savings PlansUSD / 時間を確約ベース10 台、24/7On-DemandピークSpot複数 instance typeバッチ処理再実行可能
常時稼働のベース負荷は Savings Plans でカバーし、ピーク時間帯の増加分は On-Demand、中断に耐えられる処理は Spot で実行します。1 つの Auto Scaling group で On-Demand と Spot を混在させられます。

ステップ

  1. Savings Plans は継続的な利用分に自動適用されます。コミット額はピークではなくベース部分に合わせます。
  2. ピーク時は On-Demand のマシンを追加して秒単位で支払い、ピークが終われば削除します。
  3. 中断に耐えられる処理は Spot で実行し、複数の instance type / AZ に分散して同時に回収されにくくします。

Spot の中断通知への対応(2 分)

Spot の中断通知への対応(2 分)EC2 (Spot)EventBridgeLambdaAuto Scaling1. Spot Instance Interruption Warning2. ルールで Lambda 起動3. ALB から外し、checkpoint を S3 へ4. 代替を起動(別の Spot type か On-Demand)
AWS は回収の 2 分前にイベントを発行します。アプリケーションはその時間を使ってロードバランサーから外れ、処理途中の作業を保存します。

S3 ライフサイクル:データの経過日数でクラスを移行

S3 ライフサイクル:データの経過日数でクラスを移行30 日190 日2180 日21 年33Standard0–30 日Standard-IA最低 30 日Glacier Instant最低 90 日Glacier Flexible分~時間Deep Archive最低 180 日削除(expire)7 年後
よく読まれる新しいデータは Standard に置き、古くなって読まれなくなるほど安いクラスへ移し、保持期限が来たら削除します。各クラスの最低保存期間に注意します。

ステップ

  1. 30 日後、読み取りが減ったら Standard-IA へ。すぐに読めますが取り出し料金がかかります。
  2. 古くなるほど安いクラスへ移します。Glacier Flexible は読み取り前に restore が必要です。
  3. 長期保存は Deep Archive に置き、保持期限が来たら自動で削除します。

S3 へは NAT 経由か gateway endpoint 経由か

S3 へは NAT 経由か gateway endpoint 経由かVPCPublicPrivate高い11安い22AppNAT Gateway$ / 時 + $ / GBGateway endpoint無料S3
NAT Gateway 経由:時間料金 + 処理 GB ごとの料金がかかります。Gateway endpoint:route table 内の 1 つのターゲットで、料金はかからず、トラフィックはインターネットに出ません。

ステップ

  1. endpoint がない場合:S3 への GB すべてに NAT の処理料金がかかります。
  2. プライベートサブネットの route table に gateway endpoint を追加:S3 へのトラフィックが直接届き、endpoint の料金はかかりません。

CloudFront で origin 側の負荷とコストを削減

CloudFront で origin 側の負荷とコストを削減Region1ミス時のみ2API2世界中のユーザーCloudFrontcache hit: 即応答S3画像、動画ALBAPI
コンテンツはユーザーに近いエッジにキャッシュされ、キャッシュミスのときだけ origin に戻ります。origin が受けるリクエストは減り、ユーザーのダウンロードは速くなります。

ステップ

  1. ユーザーは最寄りのエッジからダウンロードします。
  2. origin はキャッシュミス分と動的リクエストだけを処理します。

AWS Budgets:アラートと自動アクション

AWS Budgets:アラートと自動アクションアラート11100% 超過22AWS Budgets予測 > 80%SNS / emailBudget actionIAM policy/SCP 適用管理者devアカウント作成をブロック
Budget は実際のコストと予測コストを追跡します。しきい値を超えるとメール / SNS で通知し、IAM policy または SCP を自動適用して追加のリソース作成をブロックすることもできます。

ステップ

  1. 予測コストが予算の 80% を超える:アラートを送信します。
  2. 予算を超過:budget action が policy を適用し、新しいリソースの作成をブロックします。

詳細なコストレポート:CUR + Athena

詳細なコストレポート:CUR + Athena1定期出力2SQL33Cost and Usage Reportタグ列付きS3ParquetAthenaDashboardProject タグProject=shop
Cost and Usage Report(Data Exports)はコストを明細行ごとに cost allocation tag 付きで S3 に出力します。Athena で SQL クエリを実行し、Quick でダッシュボードを作成します。

ステップ

  1. cost allocation tag を有効化して、タグがコストレポートに表示されるようにします。
  2. 詳細なレポートが S3 に出力されます。
  3. Athena でプロジェクトごとのコストをクエリし、ダッシュボードで財務部門に表示します。

Organizations:請求書を 1 つに、割引を共有

Organizations:請求書を 1 つに、割引を共有AWS Organization111SP を共有2管理アカウント一括請求prodアカウントSavings Plans購入devアカウント余剰分を利用dataアカウントS3 GB を合算
管理アカウントが組織全体の請求書 1 通を支払います。利用量は合算されてより低い料金階層に達し、Savings Plans / RI はアカウント間で共有されます。

ステップ

  1. すべてのアカウントのコストが 1 つの請求書にまとめられ、利用量の合算により階層料金が適用されます。
  2. prod で購入して使い切れなかった Savings Plans は dev に自動適用されます(共有を無効にしていない場合)。

EC2 の購入方法を選ぶ

EC2 の購入方法を選ぶはい1いいえ2はい2いいえ3はい2いいえはいいいえ3途中で中断してもよい処理か(バッチ、並列処理)?1–3 年間、安定稼働が見込めるか?family、Region の変更やFargate / Lambda 移行の可能性は?特定の AZ で容量確保が必須か?Spot:最大 90% 割引、2 分前通知Compute Savings PlansEC2 Instance SavingsPlans / Standard RIOn-Demand CapacityReservationOn-Demand
通常は複数の方法を組み合わせます。ベース負荷は Savings Plans をコミット、変動部分は On-Demand、中断に耐えられる処理は Spot で実行します。Capacity Reservation は枠を確保するだけで割引はないため、Savings Plans または Regional RI と組み合わせて、確保と割引の両方を得ます。

ステップ

  1. 動画レンダリング、CI、バッチでのデータ処理:Spot を使い、複数の instance type を混在させて回収されにくくします。
  2. 常時稼働のベース負荷だが、instance family の変更やコンテナへの移行の可能性がある:Compute Savings Plans が最も柔軟です。
  3. 短期で予測できない負荷:On-Demand、秒単位の支払い、コミットメントなし。

比較表

EC2 の購入オプション

On-DemandSavings PlansReserved InstancesSpot
コミットメントなしUSD / 時間、1 年または 3 年特定の構成、1 年または 3 年なし
割引(最大)0%Compute 最大 66%、EC2 Instance 最大 72%Standard は Convertible より大きい最大 90%
柔軟性最も高いCompute:すべての family / Region / Fargate / LambdaConvertible は変更可、Standard は売却可回収あり、2 分前に通知
用途短期、予測不能安定したベース、アーキテクチャ変更の可能性あり安定したベース、固定構成中断に耐えられる処理

コスト別の S3 ストレージクラス

クラスアクセス最低保存期間備考
Standard頻繁、ミリ秒なし≥ 3 AZ
Intelligent-Tiering事前に不明なしオブジェクトごとのモニタリング料金、取り出し料金なし
Standard-IA低頻度、ミリ秒は必要30 日、128 KBGB 単位の取り出し料金
One Zone-IA低頻度、再作成可能なデータ30 日、128 KB1 AZ のみ
Glacier Instant Retrieval四半期に 1 回程度、ミリ秒90 日、128 KB取り出し料金
Glacier Flexible Retrieval年に 1 回程度、数分~数時間90 日読み取り前に restore が必要
Glacier Deep Archive年に 1 回未満、数時間180 日最安、restore が必要

コスト管理ツール

ツール機能よく出る問われ方
Cost Explorerコストの確認、フィルタ、予測、Savings Plans / RI の推奨どのサービスでコストが増えた? Savings Plans をどれだけ買うべき?
Budgetsコスト / 利用量 / RI・SP カバレッジのしきい値、アラート、action予算超過が近づいたら通知、ブロック用の policy を自動適用
Cost and Usage Report / Data Exports明細行単位の詳細データを S3 に出力Athena で分析、独自ダッシュボード
Compute OptimizerEC2、EBS、Lambda、ECS の適正サイズを推奨低使用率のマシン、より安いインスタンスタイプの選定
Trusted Advisorアイドル状態のリソース、最適化されていない設定をチェック未アタッチの EBS、余分な EIP の検出…
Pricing Calculator構築前のコスト見積もり新しいアーキテクチャの見積もり

データ転送コストの削減

状況安くする方法
プライベートサブネットから S3 / DynamoDB への読み書きが多いNAT Gateway の代わりに Gateway endpoint
世界中のユーザーが静的コンテンツをダウンロードCloudFront でエッジにキャッシュ
2 つのサービスが大量のデータをやり取り高可用性要件に影響しなければ同じ AZ に配置
別 Region へのバックアップ必要な部分のみコピー、圧縮、転送先で安いストレージクラスを選択

よく出る出題パターン

1アプリケーションは今後 3 年間 EC2 上で 24 時間 365 日安定稼働しますが、チームは instance family を変更したり、一部を Fargate に移行したりできるようにしたいと考えています。

答えを見る

正解: 3 年の Compute Savings Plans
すべての family / Region の EC2 に加え、Fargate と Lambda にも適用されます。

不正解: Standard Reserved Instances
構成に固定され、Fargate には適用されません。

不正解: EC2 Instance Savings Plans
1 つの Region 内の 1 つの family に固定され、Fargate は含まれません。

2毎晩数千枚の画像を処理する必要があります。ジョブは途中で停止されてもやり直せます。最も安くしたいと考えています。

答えを見る

正解: Spot Instances(例:AWS Batch や Spot を使う Auto Scaling、複数の instance type)
中断に耐えられる処理で、最大 90% 割引になります。

不正解: On-Demand
実行はできますが、はるかに高くつきます。

不正解: Reserved Instances
数時間しか実行しなくても丸 1 日分を支払うことになります。

3Web サイトには 10 台分の安定したベース負荷があり、ピーク時には数時間だけ最大 30 台を追加する必要があります。

答えを見る

正解: ベースの 10 台分は Savings Plans / RI、ピーク部分は Auto Scaling で On-Demand(中断に耐えられるなら Spot も)
負荷の各部分にそれぞれ適した購入方法を使います。

不正解: 40 台分の Savings Plans を購入
オフピーク時にもピーク時のキャパシティ分を支払うことになります。

4規制によりログを 7 年間保持する必要があります。最初の 30 日はよく参照されますが、その後はほとんど誰も読まず、必要なときは数時間待てます。

答えを見る

正解: ライフサイクル:Standard 30 日 → Glacier Deep Archive、7 年後に削除
復元時に数時間待てるデータには Deep Archive が最も安価です。

不正解: S3 Standard のまま置いておく
ほとんど読まれないデータに高い料金を払うことになります。

不正解: すべて One Zone-IA
コンプライアンス対象のデータを 1 つの AZ に置くべきではなく、Glacier より高価でもあります。

5バケットには数百万のオブジェクトがあり、アクセスパターンは予測できません。

答えを見る

正解: S3 Intelligent-Tiering
アクセスに応じて階層を自動で移動し、取り出し料金はかかりません。

不正解: アクセスログに基づいてクラスを移行するジョブを自作
運用の手間がかかり、誤りも起きやすくなります。

6プライベートサブネットの EC2 が同じ Region の S3 から大量のデータをダウンロードするため、NAT Gateway の請求額が非常に高くなっています。

答えを見る

正解: S3 用の Gateway endpoint を作成し、プライベートサブネットの route table にルートを追加
S3 へのトラフィックが NAT を経由しなくなります。gateway endpoint は無料です。

不正解: NAT instance に切り替える
データ転送のコストは残り、運用の手間も増えます。

7世界中のユーザーが EC2 から画像や動画をダウンロードするため、インターネットへのデータ転送コストが高くなっています。

答えを見る

正解: 前段に CloudFront を置き、静的コンテンツを S3 に移して origin にする
コンテンツがエッジにキャッシュされ、origin からの取得が減ります。ユーザーにとっても速くなります。

不正解: インスタンスサイズを大きくする
インターネットへ送信されるデータ量は減りません。

8経営陣は、月間コストの予測が予算の 80% を超えそうなときにメールで通知を受け、超過したら追加のリソース作成を自動でブロックしたいと考えています。

答えを見る

正解: 予測 80% のアラート(SNS / メール)と、IAM policy または SCP を適用する budget action を設定した AWS Budgets
Budgets は実績と予測の両方のしきい値に対応し、自動 action も実行できます。

不正解: Cost Explorer
確認と分析のためのもので、しきい値によるアラートは送信しません。

不正解: CloudWatch billing alarm
発生済みの実際のコストに基づく通知のみで、Budgets のような予測や action はありません。

9企業には 30 の AWS アカウントがあり、請求書を 1 つにまとめ、あるアカウントで購入した Savings Plans を他のアカウントでも使えるようにしたいと考えています。

答えを見る

正解: consolidated billing を使う AWS Organizations
請求書は 1 つ、階層割引は合計利用量で計算され、Savings Plans / RI はアカウント間で共有されます。

不正解: 各アカウントが個別に Savings Plans を購入
あるアカウントでは余り、別のアカウントでは足りなくなりがちです。

10財務部門はプロジェクトごとにコストを配分し、SQL で詳細なレポートを自作する必要があります。

答えを見る

正解: プロジェクトごとに cost allocation tag を付け、Cost and Usage Report(Data Exports)を S3 に出力して Athena でクエリ
CUR は最も詳細なデータで、tag の列があります。

不正解: 毎月の PDF 請求書を読む
詳細さが足りず、プロジェクトごとに分けられません。

11データベースソフトウェアのライセンスは物理 core 数で課金され、企業は既存のライセンスを EC2 で使いたいと考えています。

答えを見る

正解: EC2 Dedicated Host
物理 socket / core が見えるため、core 単位の BYOL ライセンスを使えます。

不正解: Dedicated Instances
専用ハードウェアですが、ライセンス計算のための socket / core の可視化や制御はできません。

早見表

まずどこでコストを最適化するか?

やりたいこと使うもの
常時稼働のベース負荷、family 変更 / Fargate 移行の可能性ありCompute Savings Plans · 図を見る
1 つの Region 内で 1 つの family に固定されたベース負荷EC2 Instance Savings Plans または Standard RI · 図を見る
中断に耐えられる処理Spot(複数の instance type、2 分前通知に対応) · 図を見る
socket / core 単位のライセンスDedicated Host
古くなるほど読まれなくなるデータS3 ライフサイクルで IA / Glacier へ移行 · 図を見る
アクセスパターンが不明S3 Intelligent-Tiering
S3 / DynamoDB へのトラフィックで NAT 料金が高いGateway endpoint · 図を見る
インターネットへのデータ転送料金が高いCloudFront · 図を見る
予算超過が近づいたら警告 / ブロックAWS Budgets + budget action · 図を見る
tag 別の詳細なコストレポートCost and Usage Report + Athena · 図を見る
複数アカウント、請求書は 1 つ、割引を共有Organizations consolidated billing · 図を見る
リソース使用率の低いマシンコミット前に Compute Optimizer(rightsizing)

落とし穴

  • データベースや途中で止められない処理に Spot を使う。
  • Savings Plans / RI をベース部分ではなくピーク負荷に合わせて購入する。
  • rightsizing の前にコミットする:無駄を 1~3 年間固定してしまう。
  • family を変更するとわかっているのに Standard RI を選ぶ:Convertible RI か Compute Savings Plans のほうが適している。
  • 小さいオブジェクトや短期間のオブジェクトを Standard-IA / Glacier に移す:最低 128 KB と 30 / 90 / 180 日分が課金される。
  • すぐに読む必要があるデータに Glacier Flexible Retrieval / Deep Archive を選ぶ:restore が必要で、数分~数時間待つ。
  • S3 へのトラフィックをすべて NAT Gateway 経由にし、無料の gateway endpoint を使わない。
  • 大量のデータをやり取りするサービスを設計する際に AZ 間のデータ転送料金を見落とす。
  • 問題がしきい値によるアラートを求めているのに Cost Explorer を選ぶ:正解は Budgets。
  • 使っていない EBS volume、snapshot、Elastic IP を放置する:課金は続く。
  • Dedicated Instances で core 単位のライセンスを解決できると考える:必要なのは Dedicated Host。

このモジュールのサービス

変わりやすい数値 (AWS ドキュメントで確認済み)

  • Spot Instances は On-Demand と比べて最大 90% 割引になります。 2026-10-16 確認 ↗
  • Spot の中断通知は、インスタンスの停止 / 終了の 2 分前に(EventBridge とインスタンスメタデータ経由で)発行されます。 2026-10-16 確認 ↗
  • Savings Plans は 4 種類あります:Compute(最大 66%、EC2、Fargate、Lambda が対象)、EC2 Instance(最大 72%、1 つの Region 内の 1 つの family)、Database(最大 35%)、SageMaker AI(最大 64%)。 2026-10-16 確認 ↗
  • Savings Plans の期間は 1 年または 3 年で、支払いは All upfront / Partial upfront / No upfront です。 2026-10-16 確認 ↗
  • Standard RI は変更できませんが RI Marketplace で売却できます。Convertible RI は変更できますが Marketplace では売却できません。 2026-10-16 確認 ↗
  • AWS Budgets のデータ更新は 1 日最大 3 回です。実際のコストまたは予測コストに基づいてアラートを出し、メール / SNS で送信します。 2026-10-16 確認 ↗
  • S3 Standard-IA と One Zone-IA:最低 30 日と 128 KB。Glacier Instant / Flexible Retrieval:90 日。Deep Archive:180 日。 2026-10-16 確認 ↗
  • S3 Intelligent-Tiering には取り出し料金がありません。128 KB 未満のオブジェクトはモニタリング対象外で、常に Frequent Access 階層に置かれます。 2026-10-16 確認 ↗
  • インターネットへのデータ送信は毎月最初の 100 GB が無料です(全サービス・全 Region の合算、中国と GovCloud を除く)。 2026-10-16 確認 ↗
  • S3 用の Gateway endpoint には追加料金がかかりません。 2026-10-16 確認 ↗
  • VPC 内のリソースに割り当てられたパブリック IPv4 はすべて、使用中の Elastic IP も含めて時間単位で課金されます。 2026-10-16 確認 ↗
  • On-Demand Capacity Reservation は 1 つの AZ で EC2 キャパシティを確保します。即時利用タイプはコミットメント不要ですが、それ自体に割引はありません。割引を得るには Savings Plans または Regional RI と組み合わせます。 2026-10-19 確認 ↗
このモジュールの問題を解く →