AWS Budgets : クラウドにかかる費用を気にする必要はありません

2022.07.31

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

AWS Budget

AWSバジェットとは何ですか?

自分自身や他のアカウントのコストを管理している場合、支出に制限があり、実際の支出がその制限に近づいたり、超えたりしたときに知りたいと思うものです。このことは、人と自動化されたシステムが設計によってリソースを構築する能力が高いクラウドコンピューティングの文脈では、特に重要です。

AWSバジェットでは、経費を記録するための2つのオプションが用意されています。

AWS Management Consoleでは、消費量が日々どのように変化するかを監視することができますが、AWS Budgetsでは、サインインせずにこのビューを定期的なメールレポートとして提供させることができます。AWS Budgetsは、お客様のAWSリソースのコストと消費量の統計サービスです。AWSのデータは奥が深いため、部門横断的にこのデータを追跡するために様々なBudgetを作成したり、異なるシステムやリソースの種類を掘り下げていくことができます。

Budget超過を検知するために定期的なレポートに頼るのではなく、Budgetアラートを設定して適切な人物に警告したり、アカウントの制限や特定のAWSリソースのシャットダウンなどの自動措置を発動させることができます。

コスト管理のための強固な基盤は、関連する受信者に送信される定期的なレポートとイベント駆動型のアラートの組み合わせです。

AWSバジェットでは、サービス価格だけでなく、リザーブドインスタンスやSavings Planの利用率やカバー率を把握することができます。.

AWSバジェットの作成

コンソールからBudgetを作成する際に起動するAWSセットアップウィザードがあります。ウィザード内の各ページ上部には "Info "リンクがあり、より詳細な手順やAWSのドキュメントにリンクしています。

Budgetアラート」の作成はコンソールでも可能ですが、本ブログではAWS Budgetsで閾値通知付きのBudgetを作成するための簡単なCloudFormationテンプレートをデモしますが、まずはAWS Budgetsを理解しましょう。

Budget アラート

アラートはBudgetsと関連付けられ、Budgetが作成または編集されたときに生成されることができます。これらは、閾値と通知で構成されています。しきい値は、今日の実際の使用量またはBudget期間の予想使用量がしきい値を超えたときに警告を発するかどうかを制御するトリガーを含んでいます。

        - Notification:
            ComparisonOperator: GREATER_THAN
            NotificationType: ACTUAL
            Threshold: !Ref FirstThreshold
            ThresholdType: PERCENTAGE
          Subscribers:
            - SubscriptionType: EMAIL
              Address: !Ref Email

また、特定のEC2やRDSインスタンスの停止、IAMロールの作成など、アラートが発生した際に自動的に実行されるように設定することも可能である。

AWS Budgetsにおけるフォーキャスト

フォーキャストにより、通知の設定方法について第二の選択肢ができました。例えば、毎月のBudgetが70%に達したときに警告を発するように、実際の支出を設定することができます。フォーキャストを使って、120%などのオーバーランのフォーキャストに基づいたアラートを望むこともできます。最大5つの通知をサポートする同じBudgetは、両方の種類のアラートに使用することができます。すべてのフォーキャストと同様に、基礎となるアルゴリズムには何らかのインテリジェンスがありますが、それはあくまでお客様の過去の使用パターンに基づくものであり、不正確である可能性があります。フォーキャスト警告は、すでに十分な消費データ(約5週間分)がない限り、全く発せられません。

        - Notification:
            ComparisonOperator: GREATER_THAN
            NotificationType: FORECASTED
            Threshold: 100
            ThresholdType: PERCENTAGE
          Subscribers:
            - SubscriptionType: EMAIL
              Address: !Ref Email

CloudFormation

私はBudgetを設定するためにCloudFormationを展開する簡単なを作成しました、このテンプレートは、2つの Actual Threshold通知アラートと1つの "フォーキャスト"通知Budgetアラートで構成されています、する必要があるすべては希望の値を入力してテンプレートを起動していることです。

AWSTemplateFormatVersion: "2010-09-09"
Description: Creates an AWS budget and notifies you when you exceed thresholds.
Parameters:
  Name:
    Description: Name
    Type: String
    Default: Budget
  Amount:
    Description: Total budget for the month
    Type: Number
  Currency:
    Description: Currency
    Type: String
    Default: USD
  FirstThreshold:
    Description: Percentage of first threshold
    Type: Number
    Default: 75
  SecondThreshold:
    Description: Percentage of second threshold 
    Type: Number
    Default: 99
  Email:
    Description: Email for notification
    Type: String
Metadata:
  AWS::CloudFormation::Interface:
    ParameterGroups:
      - Parameters:
          - Name
          - Amount
          - Currency
          - FirstThreshold
          - SecondThreshold
          - Email
Resources:
  MonthlyBudget:
    Type: AWS::Budgets::Budget
    Properties:
      Budget:
        BudgetName: !Ref Name
        BudgetLimit:
          Amount: !Ref Amount
          Unit: !Ref Currency
        TimeUnit: MONTHLY
        BudgetType: COST
     # You can add upto 5 notifications at your prefered level.
      NotificationsWithSubscribers:
        - Notification:
            ComparisonOperator: GREATER_THAN
            NotificationType: ACTUAL
            Threshold: !Ref FirstThreshold
            ThresholdType: PERCENTAGE
          Subscribers:
            - SubscriptionType: EMAIL
              Address: !Ref Email
        - Notification:
            ComparisonOperator: GREATER_THAN
            NotificationType: ACTUAL
            Threshold: !Ref SecondThreshold
            ThresholdType: PERCENTAGE
          Subscribers:
            - SubscriptionType: EMAIL
              Address: !Ref Email
        - Notification:
            ComparisonOperator: GREATER_THAN
            NotificationType: FORECASTED
            Threshold: 100
            ThresholdType: PERCENTAGE
          Subscribers:
            - SubscriptionType: EMAIL
              Address: !Ref Email

Budget Reports

Budgetが設定されると、Budget報告メールが定期的に送信されます。

AWSはこれらのレポートを基本的なものにとどめており、レポート内で以下の内容を変更することができます:

  1. どのBudgetが対象ですか?(複数記載可).
  2. レポートを提供する頻度 - 毎日、毎週、または毎月。
  3. メールアドレスのリスト : レポートを受け取るべき人

まとめ

AWSバジェットは、課金データを使用して、さまざまなFinOpsタスクをサポートします。AWSのコストを理解し、最適化し、コントロールし、クラウドからより良い価値を得るためにBudgetを使用することができます。

レファレンス

https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-create.html https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-create-filters.html https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-resource-budgets-budget.html