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使って頑張るところと言われるとこんなところかなぁと思います。
今回は「触ってみた」なので、このへんで。