【AWS メトリクス指定で請求アラートの設定】無料枠・料金しきい値超えでメール送信
スポンサーリンク
以前、Ruby on Rails チュートリアルで学習していた際、AWSのCloud9という環境を作成した。
こちらはアカウント作成から1年間は無料ということで、作成し、少しコーディング等をしていた。(結局ローカル環境で学習したので、使っていたのは最初だけだったが)
しかし、あとからAWSについて調べると、どうやら無料には他にも条件があるようだ。
以下のページを見てみる。
aws.amazon.com
以下のような文言が確認できる。
12 か月間の無料利用の有効期限が切れた場合、またはアプリケーション使用量が無料利用枠を超えた場合は、標準の料金、つまり従量課金制でお支払いください
なんだ?アプリケーションの使用量とは?
Cloud9を作成した際、大抵は以下のように設定したはずだ。
[Environment settings]
Environment type Info : Create a new instance for environment (EC2)
Instance type : t2.micro (1 GiB RAM + 1 vCPU)
つまり、Cloud9は
「EC2(AWSサーバ)」に「t2.micro」というタイプのインスタンス(仮想サーバ)を立てて作成している。
※インスタンスとは仮想サーバの単位を指す場合が多いようだ。(明確にコレっていうのはなさそう)
それで上記の「無料枠」の説明に戻ると、「Elastic Compute Cloud (EC2)」の部分にこう書かれている。
Amazon EC2 Linux t2.micro インスタンス使用 (1 GiB メモリ、32 ビットと 64 ビットのプラットフォームをサポート) 750 時間 – 毎月の継続的な実行に十分な時間
※Cloud9は、Amazon Linux インスタンスで実行される(での環境の使用 AWS Cloud9 - AWS Cloud9)
さらにデータ転送には、
15 GB のデータ転送 (アウト) と、AWS のサービスをすべて合わせて 1 GB のリージョンデータ転送
ということは、Cloud9の無料の条件は
・初めてAWSアカウント作ってサインインアップした日から1年間
・t2.microインスタンスを使用時間は750時間 / 月 まで
・データ転送量は15GBまで、他のリージョンへは1GBまで
のAND条件
※もちろん他にもある(上記のリンクを参照)
うん。知らんかった。
知らずに作っててそのままって人多いと思うな。
まぁ時間は大丈夫そう(24h x 31 = 744h)だけど、データ転送量とかは今後いろいろ試したり、他のインスタンスを立ててやる場合越えるかもしれない。
いろんなサイト(ブログやQittaなど)を見ていると、いつの間にか高い請求になっているなんて話がよくある。
ということで、これまたいろんなサイトで書かれているように、
・請求の確認
・無料利用枠の使用のアラート設定(超えそうな場合メールが送信される)
また、1年間の無料使用枠なくなった場合でも高額請求にならないよう、自分が設定したしきい値を超えた場合にもメールが送信されるように
・請求アラートの設定(超えた場合メールが送信される)
もする。
今回はその備忘録としてやり方を記録する。
やることは、
- STEP1 : 請求ダッシュボードで請求額を確認
- STEP2 : アラートの通知をONにする
- STEP3 : 請求アラームの作成
- 1. CloudWatch コンソールを開きます。
- 2. 必要に応じてリージョンを 米国東部(バージニア北部) に変更します。請求メトリクスデータは、このリージョンに保存され、世界全体の請求額を反映します。
- 3. ナビゲーションペインで、[アラーム]、[アラームの作成] の順に選択します。
- 4. [メトリクスの選択]、[請求]、[概算合計請求額] の順に選択します。
- 5. [EstimatedCharges] の横にあるチェックボックスをオンにして、[メトリクスの選択] を選択します。
- 6. 特定の金額を指定します。(概算請求額がグラフに表示されます。)
- 7. [通知の送信先] で、既存の通知リストを選択するか、新しい通知リストを作成します。
- 8. [アラームの作成] を選択します。
- STEP4 : メールの確認処理を行う
- [おまけ1] こういうメールが来る
- [おまけ2] 料金について
スポンサーリンク
STEP1 : 請求ダッシュボードで請求額を確認
まず「請求ダッシュボード」を開く
右上のアカウント > 請求ダッシュボード を選択
(もしくは検索で「請求」)
こんな画面になる。この画面で請求額が確認できる。
請求はまだ$0のようだ(ほぼ使ってないので当然といえば当然)
STEP2 : アラートの通知をONにする
請求ダッシュボード画面の下の方に、「アラートおよび通知」というのがあり、まだアラートを設定していなければ以下のような通知がある。
お客様の予想請求額をモニタリングできます。請求アラートを今すぐ有効にする設定を開始してください。請求額がお客様指定のしきい値に達したときに通知メールが自動的に送信されます。
ここの「今すぐ有効にする」をクリック。
請求設定になるので、
「無料利用枠の使用のアラートの受信」
「請求アラートを受け取る」
にチェックを入れ、
「設定の保存」
...
...
これで無料利用枠の使用制限を超えると予測されたら、メールが送信されるようになる。(これは個人の場合はデフォルトでチェック入っているようだ)
アカウントとは別のEメールアドレスに送信してほしい場合は、アドレスを入力する。
無料利用枠についてのアラートはこれで完了。
ただ、しきい値を超えた場合に発生する「請求アラート」はそのしきい値を設定する必要があるので、設定は以下に続く。
スポンサーリンク
STEP3 : 請求アラームの作成
続いてそのまま、先程の項目の「請求アラートを管理する」をクリック。
CloudWatch > アラーム の画面になる
(ちょっと「アラート」なのか「アラーム」なのかどっちやねんってなる。。。)
この画面は、AWSコンソールで「CloudWatch」と検索して起動してもよし
ここからは以下のサイトに沿って行えば大丈夫!
docs.aws.amazon.com
↑ここに書かれていること1つずつやっていきます。
1. CloudWatch コンソールを開きます。
OK。もう開いてる。
2. 必要に応じてリージョンを 米国東部(バージニア北部) に変更します。請求メトリクスデータは、このリージョンに保存され、世界全体の請求額を反映します。
なるほど。どのリージョンで作った環境であってもこのリージョンで作ればいいのだな。
リージョンを米国東部(バージニア北部)にする。
3. ナビゲーションペインで、[アラーム]、[アラームの作成] の順に選択します。
うん。さっきの画面の「アラームの作成」を押すのね。
4. [メトリクスの選択]、[請求]、[概算合計請求額] の順に選択します。
よし。まずは「メトリクスの選択」ね。(ここ去年とちょっと変わったかな?)
というか、なんだ「メトリクス」って?
メトリクスとは、システムのパフォーマンスに関するデータです。デフォルトでは、複数のサービスがリソースの無料メトリクスを提供しています (Amazon EC2 インスタンス、Amazon EBS ボリューム、Amazon RDS DB インスタンスなど)。(以下略)
Amazon CloudWatch メトリクスの使用 - Amazon CloudWatch より
らしい。要は、リソースに関するデータね。
さて続き。
メトリクスの選択では「Billing(請求)」を選択。
続いて、「概算合計請求額」を選択。
6. 特定の金額を指定します。(概算請求額がグラフに表示されます。)
しきい値を設定する。とりあえず0.01USドルを超えたらメール来るようにする。
7. [通知の送信先] で、既存の通知リストを選択するか、新しい通知リストを作成します。
既存のリストってことで「NotifyMe(私に通知)」を選択
8. [アラームの作成] を選択します。
はい。クリックする。
STEP4 : メールの確認処理を行う
請求アラートとメールが紐づくよう、72時間以内にメールの確認処理を行う。
メールがきた。
本文の「Confirm subcription」のリンクをクリック。
こんな画面がでた。
先まで開いていた画面はこうなっているので、「アラームの表示」をクリック。
よし。できた!
スポンサーリンク
[おまけ1] こういうメールが来る
実際、1つのサービスが無料利用枠を超えそうになったときに以下のようなメールが飛んできた。
AWS Free Tier usage limit alerting via AWS Budgets 11/12/2018
Dear AWS Customer,
Your AWS account [ID] has exceeded 85% of the usage limit for one or more AWS Free Tier-eligible services for the month of November.
「11月の1つ以上のサービスが、使用制限85%超えたぞー」って
おお!あぶね。めっちゃ助かった!
ってなった。(あるサービスのログを止めた)
[おまけ2] 料金について
料金表によると、東京リージョンのt2.microは1時間あたり0.0152USドル。
秒単位(最低60秒)での支払いで、1分使えばこの1/60が請求されるってことだな
料金表:オンデマンドインスタンスの料金 - Amazon EC2 (仮想サーバー) | AWS
うん。今日も勉強になった。
ちなみにCloud9の環境が不要になった場合はこちらをどうぞ。
ahrk-izo.hatenablog.com
以上。