1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CloudFunctionsでHTTPリクエストが大量に来て多額の請求がくる夢を見たのであり得るか考えた

1
Last updated at Posted at 2020-11-04

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をたたいた。
image.png

結論

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

参考サイト
CloudFunctionsの料金

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?