AWSの請求アラート(Billing Alerts)をAWS CLIで設定する

投稿者: | 2017/06/20

[2017/07/21 13:10 アラームの設定が一部誤りがありましたので修正しました。]

AWSは便利な機能が豊富ですが、従量課金なので翌月頭に届く領収書(もしくは請求書)を見て、料金に驚くことも多々あります。
そのため、料金が想定よりも上回った場合に、CloudWatchのアラーム機能を利用して通知してくれる機能(請求アラート; Billing Alerts)を設定した方が良いでしょう。
今回は、請求アラートをAWS CLIで設定してみました(小ネタです)。

請求アラートについてもう少し説明

AWSの請求アラートの仕組みについて少し深掘りします。
AWSでは、AWS利用料金の概算をCloudWatchのメトリクスとして見ることができます。ただし、メトリクスで作成されるのは、バージニア北部リージョン(us-east-1)なので、実際にメトリクスを確認したい場合は、マネジメントコンソールのリージョン選択でバージニア北部リージョン(us-east-1)に切り替える必要があります。
CloudWatchのメトリクスなので、AWS利用料金が閾値(想定していた金額)よりも上回った場合に通知する、といったCloudWatchアラームを設定することができます。これが請求アラートです。

SNSトピックの設定

CloudWatchアラームで通知するために必要なAWS SNSの設定を行います。
CloudWatchの請求額メトリクスはバージニア北部リージョン(us-east-1)で作成されるため、--regionオプションでリージョンを指定する必要があります。

email@example.comは通知先にしたいメールアドレスを指定します。
サブスクライブすると、email@example.com宛に承認メールが来ます。メールに記載されたConfirm subscriptionのリンクをクリックすることでサブスクライブされます。

CloudWatchアラームの設定

SNSトピックの設定ができたらCloudWatchアラームを設定します。今回は$10を上回ったら通知するようにします。

$topic_arnは先ほど作成したSNSトピックのARN(arn:aws:sns:us-east-1:<AWSアカウントID>:<SNSトピック名>)となります。
請求額のメトリクスは21600秒(=6時間)と長めにしています。また、従量課金なので利用料金が下がることはないため、--evaluation-periods(何回目でアラームとするか)では1としています。

最後に

小ネタでしたが、AWS CLIでAWS請求アラートを設定しました。
AWSビリングのダッシュボードで当月の予測額が確認できるので、例えば、予測額の80%、90%を上回ったら通知するといったこともできます。
事前に予測額よりも上回りそうだとわかれば、手を打てる施策が増えるのでこういった使い方もできます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*