Lambda S3 連携
Lambdaの勉強をしようと、
「S3にデータをアップしたら、S3のデータをがLambdaがデータを処理する」
という、Lambdaの基本動作を勉強していました。
あるサイトのサンプルを稼働させて、試行錯誤のうえ、S3にアップして、「おー、動いたー」
と、達成感に浸っていました。笑
そのまま、S3と、Lambdaを放置していたのが、よくなかった・・・・
無料枠がなくなったよ。という通知
AWSから、「Lambdaのリクエストの無料枠を使ったよ!」
というメールを目にしました。
↑85%を超過している!
「あれー?無くなったのか・・」
と安直に考えていました。
↑既に超過料金がかかっています!
そして、請求ページを開きます!
数千円の請求が!
毎月、テストなどがメインで数千円もいかないのですが、
すでに、数千円に!
Lambdaと、S3が増加傾向に!
そして、テストで、作成をした、lambdaとS3を削除します。
画面キャプチャーをとっておけばよかったーと、少し後悔(笑)
これで大丈夫だろう・・・
と、考え、4時間後ぐらいに、再び、請求画面を見ます。
なんと!
数万円のAWSからの請求が!
↑なんと、300 US$弱という、(私にとっては)高額請求がー!
何が起こったのか、パニックになりましたー!
やってしまったー!
これが、クラウド破産、クラウド死かー!
と!
そして、
「この請求画面は、リアルタイムか?」
「更新頻度は?タイムラグはどのくらいだ?」
「何時に更新だ?」
という疑問が!
そして、他のテストなどで使っていた、S3やLambda、WAFなども削除!
完全にパニックになっていましたー(笑)。
「まだ、請求増えるのかー。青天井か-」
「分割払いできるのかー?」
とか・・・
数時間後、AWS請求画面をみる!
数時間後、請求画面の更新されている!
数千円のアップ!
数万円ではなかった!(汗)
さらに半日程度あとに・・・
請求画面を見る!
「止まった・・・」
請求が止まった!
何が原因か
ログを消してしまい、細かな事がわからなく、今度、再度実験をする予定ですが、
S3のリクエスト数が、数千万回行われていました。
↑この4千万弱のリクエスト数!半日程度です。
無限ループの様な状態になっていたようです(汗)
クラウド破産にならないために
クラウド破産にならないために、何が、必要か。
●予算通知を設定する。
●リクエスト数によって課金される場合は、半日程度は、チェックして、請求画面を見たり、CloudWatchなどのログをチェックする。
●無料枠を頭に入れておく。毎月の無料枠。アカウント設定時の無料枠などがあります。
0.00001 US$ / リクエスト
とか、「高額ではないなー」という錯覚に陥りますが、
数千万のリクエストだと、馬鹿になりません!(汗)
↑予算を設定して、超えたら、メールが来る設定ができます。
AWS請求ページの更新頻度
毎日稼働しているEC2の課金をベースに実験をしてみました。
請求ページは、1日3回程度、6時間~9時間ぐらいおきに更新されているようです。
ただし、S3のリクエスト数による課金は、違うかもしれません。
公式な見解は、「1日1回、更新します」となっています。
●スマホアプリの画面
↑スマホアプリで、請求ページが見られますが、更新が遅いです。
それよりも、スマホのブラウザでAWSにログインして、見た方がいいです。
クラウド破産にならないために!まとめ
痛い目に遭わないと、対処しない。
かもしれませんが、痛い目に遭いたくないですよね。
予算通知や、リクエスト数など、こまめにチェックをしたほうがいいです!
AWSサービス毎のコスト増の把握 (2019/01/20追加)
DOS,DDOS攻撃に対する課金 (2019/02/08追記)
AWSと利用者との責任分担で、DOS,DDOS攻撃に関しては、AWS側で防御する。
としています。
ですので、DOS,DDOSによる、IOPS課金は、免除される。
と考えられます。
このことを明言している文章を探すことができませんでしたが、ブログ等では、DOS,DDOS攻撃による課金を返金してもらった。
という報告もあります。
ただ、「アクセスログ」など、客観的な情報がないとダメかと思います。
また、返金には、数ヶ月など時間がかかっているようです。