Googleさんから10万円の請求が来た夢を見た
そして今、目が覚めて寝れてないw
昨日、CloudFunctionsでLINEのMessagingAPIを使って、
送ったメッセージをそのまま返すBotを作った。
とりあえず動くものを、と作ったので、
今日攻撃されたら?という気持ちを残したまま寝てしまった。
そしたら請求書という形で夢に出た。
頭を落ち着かせるために考える
考えた切り口は、
・リクエストに対する料金
・今の作りだった時に、めちゃくちゃHTTPリクエストをなげる攻撃であったとしても請求対象となるか
です。
リクエストに対する料金
CloudFunctionsでかかる料金は、
・関数の呼び出し数
呼び出し料金は 1 回あたり $0.0000004 の単価制。毎月最初の 200 万回までは無料。
・コンピューティング時間
関数に対してプロビジョニングされたメモリ・CPUで変わる。
関数が働いた時間。
割り当てられたのはこちら。
256 MB 400 MHz $0.000000463
参考)128 MB 200 MHz $0.000000231
・ネットワーキング
送信データ(下り、外向き) $0.12/GB
受信データ(上り、内向き) 無料
CloudFunctionsの指標のページを見てもネットワーキングの量の記載ないな。。。
例で参考サイトに一番安いメモリで試算した結果を書いてくれていたのでそのままパクると、
1000万回アクセスが来たとしたら今のつくりなら
月7.2ドル*2(2番目に安いメモリの料金は1番安いやつの2倍)=14.4ドル
実際に呼び出されると請求対象か
__どんな形であれば請求対象に入る。__ように見える。
前提として、処理の流れは
LINE→LINEサーバ Webhookの設定→CloudFunctions HTTPリクエスト
のアクセスの仕方
URLにアクセスすると関数が呼び出されるから、たたけば請求対象にはなりそう。
表示しているのは、下記の結果。
1回成功するように普通にLINEでメッセージ送った。
7回ぐらいエラーになるようにブラウザでURLをたたいた。

結論
結論から言うと、たぶん一晩だと死ぬほど集中的にやられないかぎりは大丈夫だったのかも。
デプロイはいつでもできるから、不安だったら関数を削除しておけばよいのだな。
寝よ寝よ。
参考サイト
CloudFunctionsの料金