AWS Budgetsで予算組んでみたり、CLIやSDKで参照してみたりする

AWSで利用しているリソースの予算管理ってやってます? 「AWS Budgets」で簡単にできるっぽいので、やってみました。 前提 あなたが見ている時と画面が違うかもしれません ここで書いている内容は2017年4月18日 […]

広告ここから
広告ここまで

目次

    AWSで利用しているリソースの予算管理ってやってます?

    「AWS Budgets」で簡単にできるっぽいので、やってみました。

    前提

    あなたが見ている時と画面が違うかもしれません

    ここで書いている内容は2017年4月18日時点のものです。
    AWS側のアップデートで機能や画面が変わっているかもしれないのでご了承ください。

    root権限がある

    請求ダッシュボードhttps://console.aws.amazon.com/billing/homeからアクセスするので、root権限持ってるアカウントでログインしてください。

    予算を組む


    とりあえずメニューの[予算]をクリックしてAWS Budgetsを開きます。
    [予算を作成]ボタンを押すとウィザードが立ち上がります。

    1:予算の詳細を決める

    まずは予算の期間や枠組み、予算額を決めます。

    期間については最短1ヶ月から1年6ヶ月まで、もしくは[-]を選択して無制限とすることができます。

    2: 予算対象を指定する


    次に指定するのは予算の対象とするリソースの指定です。

    AWSのサービス・関連AWSアカウント・コスト配分タグ・購入オプション(リザーブドとかっぽい)・AZ・APIオペレーションと結構いろいろ選択できます。

    3:通知先を指定する


    アラートを出したい場合はSNSを使って通知が出せます。
    これは省略可能っぽいです。

    作った予算を見る

    できあがったものは以下のような形で見ることができます。

    予測がついてるのとか頼もしいですね。

    コードで見る

    AWSといえばAPIでいろいろできるのが魅力の1つですが、やっぱり予算に関してもAPIがありました。

    AWS-CLI

    aws budgets describe-budgetsで作成した予算を一覧でみることができます。

    $ aws budgets describe-budgets --account-id YOUR_AWS_ACCOUNT_ID
    {
        "Budgets": [
            {
                "CalculatedSpend": {
                    "ForecastedSpend": {
                        "Amount": "6.31599999999999983657517077517695724964141845703125", 
                        "Unit": "USD"
                    }, 
                    "ActualSpend": {
                        "Amount": "-0.313000000000000000444089209850062616169452667236328125", 
                        "Unit": "USD"
                    }
                }, 
                "BudgetType": "COST", 
                "BudgetLimit": {
                    "Amount": "10", 
                    "Unit": "USD"
                }, 
                "BudgetName": "api.wp-kyoto.net", 
                "CostTypes": {
                    "IncludeTax": true, 
                    "UseBlended": false, 
                    "IncludeSubscription": true
                }, 
                "TimeUnit": "MONTHLY", 
                "TimePeriod": {
                    "Start": 1491004800.0, 
                    "End": 3706473600.0
                }, 
                "CostFilters": {
                    "Service": [
                        "Amazon CloudFront", 
                        "Amazon Elastic Block Store", 
                        "Amazon Elastic Compute Cloud - Compute", 
                        "Amazon Route 53", 
                        "Amazon Simple Storage Service"
                    ]
                }
            }
        ]
    }
    
    

    aws budgets helpの実行結果を見た限りでは、予算の作成や更新・通知先していとかもできる様子です。

    NAME
           budgets -
    
    DESCRIPTION
           All public APIs for AWS Budgets
    
    AVAILABLE COMMANDS
           o create-budget
    
           o create-notification
    
           o create-subscriber
    
           o delete-budget
    
           o delete-notification
    
           o delete-subscriber
    
           o describe-budget
    
           o describe-budgets
    
           o describe-notifications-for-budget
    
           o describe-subscribers-for-notification
    
           o help
    
           o update-budget
    
           o update-notification
    
           o update-subscriber
    

    AWS SDKでみる

    もちろんSDKもあります。

    Node.jsだと以下のようになります。

    const aws = require('aws-sdk')
    var budgets = new aws.Budgets({apiVersion: '2016-10-20'})
    
    var params = {
      AccountId: 'YOUR_AWS_ACCOUNT_ID', /* required */
      MaxResults: 1
    }
    budgets.describeBudgets(params, function(err, data) {
      if (err) console.log(err, err.stack); // an error occurred
      else     console.log(data);           // successful response
    })
    

    https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Budgets.html#describeBudgets-property

    使い所

    • kintoneあたりの業務管理ツールと連携させる
    • CloudFormationスタックを立ち上げる際に自動で予算を設定するようにする
    • 複数クライアントをまとめているAWSアカウントで、クライアント別に予算状況を見れるようにする
    • シェル芸のネタにする

    CLI / SDK使って頑張るところと言われるとこんなところかなぁと思います。

    今回は「触ってみた」なので、このへんで。

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark