支払アカウントからリンクアカウントのBilling Alertを設定する

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

はじめに

こんにちは。やっと吟遊詩人で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」設定があるので、こちらをチェックします。

Billing Alert 01

※Consolidated Billingを行っている支払アカウントではこの設定は外せない模様。

Billing Alert用のSNS通知を作成する

ここではAWS利用費のBilling Alertを作成する前に、予めそれ用のSNS通知を作成しておきます。

SNSでTopicを新規作成します。下記設定で今回は作成しました。

  • Topic Name:FukudaEstimatedChargesTopic
  • Dispkay Name:(空)

Billing Alert 06

Topicを作成したら、Subscriptionを作成します。

  • Protocol:Email
  • Endpoint:適当なメールアドレス

Billing Alert 07

メールアドレスに確認メールが飛んでくるので、承認しておきます。これでSNS通知の準備は完了です。

リンクアカウントのBilling Alertメトリクスを確認する

次に、CloudWatchの画面に移動し、Billing Alertメトリクスを確認します。Billing AlertはEC2のCPUUtilization同様CloudWatchのメトリクスの1つになります。

左のメニューにMetricsがあるので選択します。

Billing Alert 02

するとコンソリしている全アカウントのメトリクスが表示されるので、目的のリンクアカウントのメトリクスに絞って表示するようにします。絞り込みのキーとしてはAWSアカウントIDを利用します。あいまい検索してくれないので12桁検索窓に入力して検索してみましょう。

すると、下記のように2種類のメトリクスが表示されます

  • リンクアカウントの合計利用額
  • リンクアカウントのサービス個別の利用額

Billing Alert 03

ここで表示されるMetric NameがEstimatedChargesのメトリクスがAWS利用費のメトリクスです。

上記のAWSアカウントでは個別サービスとしてはKinesisなどの利用費を確認することが出来るようですが、今回は全体の利用費を監視したいと思います。上図右上のEstimateChargesが目的のメトリクスになります。

EstimatedChargesメトリクスにAlarmを設定する

Billing Alertを付けたいメトリクスが見つかったのでEstimatedChargesメトリクスを選択し、Billing Alertを設定していきます。

メトリクスを選択すると画面下部に費用の状況が表示されるので右下の「Create Alarm」ボタンをクリックします。

Billing Alert 04

すると「Create Alarm」ダイアログが開くので、Alarmの設定を行っていきます。今回は下記のような設定にしました:

  • Name: FukudaEstimatedChargesAlarm
  • Description: Alarm for EstimatedCharges of Fukuda's AWS Account
  • Whenever charges for:EstimateCharges is >= USD $ 10(10ドル以上になったらアラート)

Billing Alert 05

Alarmの閾値(Threshold)を指定すると右側のグラフで閾値のレビューが行えます。上記の状況だとまだもう少し今月AWS使えそうであることが分かります。

次にActionを指定します。ここでは新しい通知(Notification)を追加します。Notificationを書き設定にしてみました。

  • Whenever this alarm: State is ALARM
  • Send notification to: 「New list」をクリックし、下記設定を追加
    • (名前): NotifyFukuda
    • Email list: xxxxxxxxxx@classmethod.jp

Billing Alert 08

準備が出来たので、「Create Alarm」ボタンをクリックすると、「Confirm new email addresses」画面に移動します。

Billing Alert 09

今回はすぐにメールの認証を行ってみます。メールを認証するとメールアドレス横のアイコンが緑色になります。

Billing Alert 10

これでBilling Alertの作成は完了です。閾値をまたぐと登録したメールアドレスに通知が飛びます。

※本格的な費用監視の場合は、たとえば予算の50%、70%、90%など3つのAlermを作成して置くと急なAWS利用などもより検知できるようになり安心です。

最後に

 コンソリを行っている場合でもリンクアカウントのAWS利用費を監視する事が出来ました。

予算が決まっているプロジェクトなどでは今回のようにBilling Alertを設定してみてはいかがでしょうか。