助け合いフォーラム
正解
各プロジェクトの予算アラートをAWS Budgetsで設定する。予算超過時のアクションを実行するための権限を持つBudgets用のIAMロールを作成し適用する
Organizationsで組織に新たなリソースのプロビジョニングを停止するSCPを設定する。予算のしきい値を超えた場合、AWS BudgetsがこのSCPを適用し、関連するAWSアカウントでの追加コストの発生を防ぐ
解説
AWS Organizationsは、複数のAWSアカウントを一元的に管理するためのサービスです。AWS Organizationsを使用することで、管理対象のAWSアカウントに対する権限の設定や、各アカウントの請求情報を集約した一括請求が利用できます。
※サービスコントロールポリシー (SCP)
サービスコントロールポリシー(SCP)は、組織に属しているOU(Organizational Unit)またはAWSアカウントに対して、AWSサービスへのアクセス権限や利用可能なリソースを制限できる機能です。例えば、組織に所属しているアカウントにMFA(多要素認証)を強制したり、特定のアカウントが利用できるサービスを制限したりできます。
例えば、Organizationsで新たなリソースのプロビジョニングを制限するSCPを設定し、Budgetsで予算のしきい値を超えたときに、設定したSCPを自動的に付与することができます。
このように「AWS Organizations」と「AWS Budgets」と組み合わせることで、各アカウントごとに予算を設定することができ、企業はより精密な財務管理を実現し、AWS環境全体でのコスト効率を向上させることができます。
[AWS OrganizationsとAWS Budgetを利用した予算管理のイメージ]

したがって、正解は
・各プロジェクトの予算アラートをAWS Budgetsで設定する。予算超過時のアクションを実行するための権限を持つBudgets用のIAMロールを作成し適用する
・Organizationsで組織に新たなリソースのプロビジョニングを停止するSCPを設定する。予算のしきい値を超えた場合、AWS BudgetsがこのSCPを適用し、関連するAWSアカウントでの追加コストの発生を防ぐ
です。
それ以外の選択肢は、以下の通りです。
・AWS Budgetsでプロジェクトごとの予算を設定した後、AWS Cost and Usage Reportsと連携させて使用状況をモニタリングする。リソースを停止するLambda関数のトリガーに、予算上限の超過を設定する
Budgets自体のアクション機能を使えば、Lambdaを使わずに直接リソースを停止できます。こちらのほうがよりシンプルで効率的な方法ですので、不適切です。
・特定のプロジェクトが予算のしきい値に達した際に、管理者がアラートを受け取るようにAWS Budgetsで設定する。そのアラートに基づき、管理者が手動でリソースの停止などの必要な措置を行う
問題文が求める「自動的にリソースを調整する」という要件を満たしていませんので、不適切です。
・AWS Budgetsでプロジェクトごとの予算アラートを設定する。予算を超過したプロジェクトのみにAWS CloudTrailログを有効化し、該当プロジェクトの新たなリソースのプロビジョニングを停止する
CloudTrailはAWSアカウントの操作を記録するサービスであり、コスト超過に直接対応する機能はありませんので、不適切です。
参考
Well-Architected Frameworkの設計原則の一つである「コスト最適化」では、求められるシステムに必要なAWSサービスを最小限の費用で利用するための推奨事項が記載されています。コストを最適化するには、どのサービスにどれだけのコストがかかっているかを把握し、将来的にどれくらいのコストがかかるかを予測することが重要です。
【AWS Cost Explorer】
AWS Cost Explorerは、AWSリソースの使用量やコストをグラフで視覚化し、データを詳細に分析できるサービスです。例えば、EC2やRDSなどのサービスごとに使用状況やコストを詳細に分析し、使用量の変化を時間軸で分析したり、コスト増加の原因を特定するグラフを作成することが可能です。
■可視化・分析
過去13ヶ月分のコストデータをグラフで確認できます。デフォルトで用意されているレポートには、よく使用されるグラフ構成が含まれており、ユーザーはすぐに分析を始めることができます。
[デフォルトで用意されているレポート]

[サービスごとの月別使用料推移(Monthly costs by serviceレポート)の例]

上記は、サービスごとの月別使用料を確認できるレポートです。
レポートは日次や月次で作成可能で、毎月のコストの推移を把握したり、課金額が高いユーザーを特定して利用状況を見直すなどの分析が行えます。また、フィルタリング機能を使うことで、サービスごとやアベイラビリティゾーンごとの料金など、より詳細な分析を行うこともできます。
[1か月間のコストの推移を折れ線グラフとして作成したレポートの例]

さらに、RDSやS3、EC2などのデータ転送(IN/OUT)コストやAPIごとのコストを把握できるフィルター機能があります。詳細な分析が必要な場合は、カスタムレポートを作成することも可能です。
■予測
過去の使用状況を分析し、将来のコストを予測することができます。この機能を活用することで、将来的な予算計画が立てやすくなります。
[今後12か月のコスト予測グラフの例]

予測の範囲は、1か月後から最大12か月後までです。
【コスト配分タグ】
コスト配分タグは、AWSリソースのコスト管理と追跡を効率化するための機能です。タグはキーと値から構成され、リソースにタグ付けすることで、コストをプロジェクト、部門、チーム、環境(開発、テスト、本番)などのカテゴリーに分類できます。また、AWS Cost Explorerでタグごとのコストレポートを作成できるので、詳細なコスト分析を行えます。
以下は、AWS Organizations使用時のコスト配分タグの設定手順です。
1. タグの設定・管理:
AWSリソース(例: RDSインスタンスやEC2インスタンスなど)を作成する際に、キーと値のペアとしてタグを設定します。例えば、キーを「Project」、値を「ProjectA」とするタグを設定します。このようにユーザー自身で作成したものは「ユーザー定義のタグ」と呼ばれます。また、AWS Organizationsの管理アカウントでタグポリシーを設定することで、リソース作成時に特定のタグを強制するなど、企業全体で一貫したタグ付けを行うことができます。

2. コスト配分タグの有効化:
AWS Organizations管理アカウントのBilling and Cost Managementコンソールで、使用するタグ(例: 「Project」タグ)を有効化する。これにより、有効化したタグがCost Explorerのコストレポートに含まれるようになります。

3. タグごとのコスト分析:
Cost Explorerで新しいレポートを作成します。「Group by」オプションで「Tag」を選択し、次に有効化したタグ(例: 「Project」タグ)を選択します。必要に応じて、特定のサービス(例: Amazon RDS)でフィルタリングします。これにより、タグごとのコストを視覚化し、分析することができます。

【AWS Budgets】
AWS Budgetsは、AWSの各サービスの使用状況を監視し、設定した金額や使用状況のしきい値に近づいたり超えた場合にアラートやアクションを実行するサービスです。アラートは、メールやSNSのほかに、Slack等のチャットアプリでも受け取ることができます。また、しきい値を超えた時のアクションとして、特定のEC2インスタンス、RDSインスタンスの停止設定などが可能で、これによりさらなるコスト発生を抑制できます。
[Budgetsのコンソール画面]

[予算超過時のメール通知]

【AWS Cost and Usage Reports(コストと使用状況レポート)】
AWS Cost and Usage Reportsは、AWSの利用状況と関連コストに関する詳細な情報を提供するサービスです。このレポートを活用することで、ユーザーはリソースの使用状況やコストを深く把握し、モニタリングや管理、最適化を効果的に行うことができます。レポートデータはCSV形式でAmazon S3バケットに保存されるため、Amazon Athenaをはじめとするデータ分析ツールを用いて、より詳細な分析を実施できます。また、AWS Organizationsを利用している場合は、管理アカウントまたはメンバーアカウントのどちらからでもレポートを作成可能です。管理アカウントで作成すると、Organizations配下のすべてのアカウントのデータを一元的に含めることができ、複数アカウントにまたがるコスト分析や管理がより簡単に行えます。
[AWS Cost and Usage Reportsのコンソール画面]

誤答?
AIに質問したところ以下のように回答がありました。
「AWS Budgets自体が直接SCPを適用することはできません。このため、選択肢Bに対する説明を訂正させていただきます。
AWS Budgetsの機能を考慮するとBは不適切であると考えられます。具体的に説明します。
× B. AWS Budgetsが直接SCP(Service Control Policies)を適用することはできません。AWS Budgetsは、主にコスト管理と予算管理のために使用され、予算超過時のアクションとしてはIAMのポリシー適用やリソースの制御(例:EC2インスタンスの停止)などを行うことができます。しかし、SCPなどOrganizationsのポリシー変更はAWS Budgetsから直接実行することはできません。
したがって、選択肢Bの説明にあった「AWS BudgetsがSCPを適用し」という部分は誤りであり、AWS Budgetsの範囲を超えたアクションです。正しい予算管理の方法としては、予算が超過した際にSNS通知を送り、管理者が手動で設定を変更する方法が考えられます。または、IAMのポリシーを使ってリソースの使用を制限することができます。」
「Budgets SCP」でGoogle検索したらトップに出てきましたよ。
https://docs.aws.amazon.com/ja_jp/cost-management/latest/userguide/budgets-controls.html
AWS Budgets を使用して、予算が特定のコストまたは使用量のしきい値を超えたときに、ユーザーに代わってアクションを実行できます。これを行うには、しきい値を設定した後、自動的に実行するか、手動承認後に実行するように予算アクションを設定します。
使用可能なアクションには、IAM ポリシーまたはサービスコントロールポリシー (SCP) の適用が含まれます。また、アカウント内の特定の Amazon EC2 または Amazon RDS インスタンスのターゲット設定も含まれます。予算期間中に新しいリソースをプロビジョニングする必要がないように、SCPs を使用できます。`
コメント
この投稿に対して返信しませんか?
t tkms1991
2025/02/19 18:15
ありがとうございます。 すみませんでした。。。