支払アカウントからリンクアカウントのBilling Alertを設定する
はじめに
こんにちは。やっと吟遊詩人で3曲歌えるようになった福田です(ダウルダヴラは無理)
AWSを利用していて、利用金額が一定になったら警告して欲しいという場合があります。AWSではCloudWatchでBilling Alertが用意されており、一定ドルになったらメールを飛ばすという設定ができます。
今回はこのBilling Alertの設定をコンソリ(Consolidated Billing)環境でやってみたいと思います。
※コンソリ環境ではリンクアカウント(子アカウント)のBilling Alert設定ができません。支払アカウント(親アカウント)側でリンクアカウントのBilling Alertを設定する必要があります。
※非コンソリ環境(支払をまとめていない状態)でも同様の手順で設定が可能です。
Billing Alertを有効にする
まずAWSアカウントの設定画面でBilling Alertを有効にしておきます。
AWSアカウント管理画面を開いたら、左のメニューから「Preferences」を開きます。2番めの設定項目に「Receive Billing Alerts」設定があるので、こちらをチェックします。
※Consolidated Billingを行っている支払アカウントではこの設定は外せない模様。
Billing Alert用のSNS通知を作成する
ここではAWS利用費のBilling Alertを作成する前に、予めそれ用のSNS通知を作成しておきます。
SNSでTopicを新規作成します。下記設定で今回は作成しました。
- Topic Name:FukudaEstimatedChargesTopic
- Dispkay Name:(空)
Topicを作成したら、Subscriptionを作成します。
- Protocol:Email
- Endpoint:適当なメールアドレス
メールアドレスに確認メールが飛んでくるので、承認しておきます。これでSNS通知の準備は完了です。
リンクアカウントのBilling Alertメトリクスを確認する
次に、CloudWatchの画面に移動し、Billing Alertメトリクスを確認します。Billing AlertはEC2のCPUUtilization同様CloudWatchのメトリクスの1つになります。
左のメニューにMetricsがあるので選択します。
するとコンソリしている全アカウントのメトリクスが表示されるので、目的のリンクアカウントのメトリクスに絞って表示するようにします。絞り込みのキーとしてはAWSアカウントIDを利用します。あいまい検索してくれないので12桁検索窓に入力して検索してみましょう。
すると、下記のように2種類のメトリクスが表示されます
- リンクアカウントの合計利用額
- リンクアカウントのサービス個別の利用額
ここで表示されるMetric NameがEstimatedChargesのメトリクスがAWS利用費のメトリクスです。
上記のAWSアカウントでは個別サービスとしてはKinesisなどの利用費を確認することが出来るようですが、今回は全体の利用費を監視したいと思います。上図右上のEstimateChargesが目的のメトリクスになります。
EstimatedChargesメトリクスにAlarmを設定する
Billing Alertを付けたいメトリクスが見つかったのでEstimatedChargesメトリクスを選択し、Billing Alertを設定していきます。
メトリクスを選択すると画面下部に費用の状況が表示されるので右下の「Create Alarm」ボタンをクリックします。
すると「Create Alarm」ダイアログが開くので、Alarmの設定を行っていきます。今回は下記のような設定にしました:
- Name: FukudaEstimatedChargesAlarm
- Description: Alarm for EstimatedCharges of Fukuda's AWS Account
- Whenever charges for:EstimateCharges is >= USD $ 10(10ドル以上になったらアラート)
Alarmの閾値(Threshold)を指定すると右側のグラフで閾値のレビューが行えます。上記の状況だとまだもう少し今月AWS使えそうであることが分かります。
次にActionを指定します。ここでは新しい通知(Notification)を追加します。Notificationを書き設定にしてみました。
- Whenever this alarm: State is ALARM
- Send notification to: 「New list」をクリックし、下記設定を追加
- (名前): NotifyFukuda
- Email list: xxxxxxxxxx@classmethod.jp
準備が出来たので、「Create Alarm」ボタンをクリックすると、「Confirm new email addresses」画面に移動します。
今回はすぐにメールの認証を行ってみます。メールを認証するとメールアドレス横のアイコンが緑色になります。
これでBilling Alertの作成は完了です。閾値をまたぐと登録したメールアドレスに通知が飛びます。
※本格的な費用監視の場合は、たとえば予算の50%、70%、90%など3つのAlermを作成して置くと急なAWS利用などもより検知できるようになり安心です。
最後に
コンソリを行っている場合でもリンクアカウントのAWS利用費を監視する事が出来ました。
予算が決まっているプロジェクトなどでは今回のようにBilling Alertを設定してみてはいかがでしょうか。