[AWS] PJ毎のコスト管理まとめ(Cost Explorer/Cost Anomaly Detection/Budgets/タグ付けルール)

単一アカウント内で複数のPJやサービスが運用されているケースのコスト管理についてのメモ
マルチアカウント運用の際にもこれらのサービスの設定が必要になる


PJ開始時にすべきコスト関連の作業

以下は基本的に無料枠で実施できるため、PJ開始時に対処しておく
(SNS通知に微量だが料金がかかる)

1. 運用ルールの定義・周知

  • AWSの利用開始時に、タグ付けルールを定めてメンバに周知する
  • CFnテンプレートにはタグの入力欄を設けておく

2. PJで利用中のリソースに限った総コストの確認/予測

Cost Explorer

  • Cost Explorerのフィルタリング機能を活用する
  • 単一のAWSアカウント内で複数のサービスを運用する場合、タグを付与することで費用を区分できる

3. 異常検出

  • Cost Anomaly Detectionを活用する
  • タグやリソースベースでPJのコストを追跡し、料金の異常発生時に通知させる
    • 例えば、DDoS攻撃による料金の急騰などが挙げられる

4. Budgetsで予算を設定、超過時の通知を設定

AWS Budgets

  • AWS Budgetsを活用して、承認を得た予算に対する状況管理を可能にする

設定手順

運用ルール(タグ付けルール)の定義

単一のAWSアカウント内で複数のサービスを運用する場合、タグを付与することで費用を区分することが可能になる。PJでリソースを作り始める前に、ルールを定めて周知しておく必要がある。

  • タグ付けルール例
    • Project
      • Project毎のコスト管理に活用
    • Owner
      • リソースの作成者を後で判別するために必要。誰がこれ作って放置してるの?を防ぐ
    • Environment
      • 本番、テスト環境などの判別/コスト管理のために活用

CFnテンプレートを利用する場合は、上記のタグを入力値として用意しておくと、つけ忘れを防止できる

コスト配分タグのアクティブ化

Cost Explorer内で、タグによるフィルタリングをするには、リソースに付与したタグを Billing and Cost Management コンソールでアクティブ化する必要がある。会社でOrganizationsを利用している場合、部門のアカウントでは設定権限が無いこともあるので注意。

  • AWS Console/Billing and Cost Management/コスト配分タグ
    • アクティブ化するタグを選択
    • ここでアクティブ化したタグのみ、Cost Explorerでフィルタリングに活用できる
      • リソースにタグを付与しただけでは活用できない

PJのコスト確認/予測方法

  • AWS Management Console/Cost Explorer

    • 過去6か月間のコスト($)がサービス毎に表示される
  • 任意の期間に変更

    • 期間が表示されているタブから選択
  • PJのリソースのフィルタリング

    • 右側のフィルター欄/タグを押下
    • Project名のタグを選択

Cost Explorerタグによるフィルタリング

  • 予測
    • 期間を変更することで、最大12ヵ月先までの予想費用をグラフに表示できる

Cost Anomaly Detectionでコストの異常検出を設定

  • AWS Cost Anomaly Detectionにより、コスト異常検出と原因の分析を自動化できる

    • 無料だが、SNSアラート通知を有効化すると微量の料金がかかる
  • AWSConsole/Cost Explorer/コスト異常検出

    • コストモニターを作成
    • モニタータイプを選択
      • コスト配分タグ
        • PJ毎の総費用を追跡する場合はこちらでPJで運用ルールとして付与したタグを選択する
      • 連結アカウント
        • マルチアカウント形式で運用している場合はこちらにアカウントIDを入力
    • アラートサブスクリプションを設定
      • アラート受信者に、開発チームのteamsのチャンネルやメーリスを登録しておくと管理が楽になる
        1
        コストモニターが異常を検出したときに通知します。アラートの頻度に応じて、E メールまたは Amazon SNS によって指定されたユーザーに通知できます。たとえば、組織の Finance team のサブスクリプションを作成できます。
    • モニターを作成

Budgetsによる予算管理

  • AWS Management Console/Cost Explorer/Budgetsタブ
    • 予算を作成
    • 事前に承認されたPJのコストを上限値として設定する
    • 設定した予算に対する状況は%で確認できる
      • 引き上げが必要になったら、Cost Explorerの予測を元に算出した値で予算管理者から承認を得て、Budgetsの予算を更新する流れになる

参考

関連記事

その他

@EventEmitter @Input @Output @ViewChild ACM AMP API Gateway AR AR.js AR.js Studio AWS AWS Amplify AWS Budgets AWS Cost Explorer AWS SDK for JavaScript AddThis Adobe XD Alexa Amazon CloudWatch Amazon Honycode Amazon SNS Android Angular Angular Material AngularFire AppSync Augury C CDN CI/CD Cloud Craft Cloud9 CloudFormation CloudFront CloudTrail Cognito Cost Anomaly Detection Cubase ai Cubasis LE DTM Disqus DynamoDB Elgato HD 60S Firebase Firebase Hosting Former2 Github Github Actions Github.com GithubEnterprise GithubPages Google Chrome Google Cloud Shell GraphQL Hexo Hosting IAM Ionic JSON JavaScript LadioCast Logging LowCode MFA MS Authentication MacBook Pro 16 Mind Node NETDUETTO Netflix Party Netlify Network NoCode Observable PO PdM Promise RPA ReactiveForm Recognition Route53 S3 SAM(Serverless Application Model) SAR SSL SYNCROOM Schematics ScrumInc Serverless Service Siri Sitemap Spark AR Steinberg UR44C Teams Touch Cast Studio Treetable TypeScript UI UI Bakery WAF WAFv2 WEB Page Dev WEB会議 WebAR WebSocketAPI Webhook Windows Power Automate Wireshark aot async/await aws config cloud9 display.land draw.io e2e test filter() forkJoin() google search console hexo-generator-amp iOS iPad Pro iPhone icarus map() mat input mat tree mat-checkbox mat-input mat-selection-list mmhmm ngFor plantUML popIn Aladdin2 then() vscode ”global is not defined” らくがきAR アジャイル アジャイル開発 クロスプラットフォーム ショートカット スクラム スクラム開発 テレワーク ファイル操作 ブラウザ型IDE プロダクトオーナー プロダクトマネージャー プロトタイピング リモートセッション 共同開発 双方向データバインディング 待ち合わせ処理 認定スクラムマスター 静的WEB Hosting 静的WEBサイトHosting
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×