💸

AWSを放置して38万円の請求が来た話

2023/03/25に公開

インフラエンジニア初心者です😉AWSを勉強するつもりが、思わぬ高額請求が来た話をします。

概要は、RDSの設定を間違えたまま1ヶ月放置して、クレジットカードに23万の請求が来て事態が発覚。翌月にはさらに15万の請求が待っていた。という感じです。

ことの始まり

2022年8月1日、ただAWSを試したいがために、EC2、E3、RDS、Lambdaなどなどを立ち上げました。とはいえ実際になにか稼働させる訳でもなく、それぞれこんな役割なんだーとか、こんな感じで設定して作れるんだーとか、ただそれだけ体験して、それ以外なにもしませんでした。

あとは、高額請求が発覚する日まで飛びます。

事態の発覚

ある日、自分のクレジットカードの「翌月のお支払い額」が23万になっていることに気づきました。明細を表示すると「Amazon Web Services」となっていました。カードは限度額30万円に到達して止まっていました。

初期の対応

自分のAWSアカウントにログイン。(ルートユーザーでないと請求情報をみることはできません)
そして請求情報を確認すると、RDSが請求のほとんどを占めていることがわかりました。

2022年8月:$ 1.614 per RDS db.m5d.xlarge TAZ-AZ instance hour (or partial hour) running MySQL $ 0.36 per IOPS-month of Multi-AZ Provisioned IOPS running MySQL$ 0.45 per GB-month of Multi-AZ Provisioned IOPS Storage running MySQL

2022年9月:$ 1.614 per RDS db.m5d.xlarge Multi-AZ (two readable standbys) instance hour (or partial hour) running MySQL$ 0.36 per IOPS-month of Multi-AZ Provisioned IOPS running MySQL $ 0.45 per GB-month of Multi-AZ Provisioned IOPS Storage running MySQL

合計:$2,598.272022 年 8 月:$1,588.882022 年 9 月:$1,009.39
($1=¥145の単純計算で¥376,749)*2022年9月のレート

RDSクラスタを作成して放置していただけ(それがいけない)でこんなに課金が発生しているというのが最初は理解できませんでしたが、とにかくRDSをはじめ作成したインスタンスなど全て停止&削除。翌月に23万は払えないので、とりあえず当該の請求を23回の分割払いに変更しました。。

「AWS 高額請求」で検索すると、初回に限り請求を免除してもらえたという情報が多く、少しの希望にかけて落ち着いて対処することにしました。

サポートへの連絡

とうことでサポートに相談しようと思いました。電話できると早いと思ったんですが、英語が喋れないと電話は無理でした。日本語しか話せないのでチャットでサポートを受けるしかありません。

「サポート」から「ケース」を作成して、その中でメッセージを送信できます。

ケースの作成ページは英語でわかりにくいですが、デフォルトで「緊急度:低(一般的な質問)」になっています。これに気づかずに「緊急度:低」でケースを作成しました。

原因を調べる

サポートに状況を説明するために、請求情報をもう一度詳しく見ることにしました。

請求をよく見ると、なんとRDSの本番環境、x5.large、マルチAZというつよつよの構成が組まれていることに気がつきました。自分にはそのような構成で作成したつもりは全くありませんでした。

他のAWS高額請求ケースでは、不正利用によってインスタンスタイプをバカでかく変更されて、好き放題使われるというのが多かったので、自分もそうかもしれないと思いました。
全く覚えのない設定が適用されていたのと、インスタンスを作成して以来まったく使用していなかったので、通信トラフィックやコンピューティングによる従量課金は発生しないと思っていたからです。

そのため、不正利用によるものではないか?という仮説を持って、サポートにメッセージを送り、初日の対応は終了しました。

ログの確認

返信が来るまでのあいだ、不正利用の痕跡を見つけられないかと思い、ログを確認しました。
cloud watchでRDSに関するログを見ることができましたが、インスタンスを作成して以来、素人目にも怪しい動きは見受けられませんでした。これは、そもそも自分がインスタンス作成時に設定し間違えたのでは??と思い始めました。しかしひとまずサポートの返信を待つことにしました。

サポートとのやりとり

AWSサポートは「緊急度:低」でも素早く返信をくれました。返信の内容は、
「不正利用の痕跡はなかった。今回請求が発生している構成は、RDSを作成する時にデフォルトで適用される構成だから、作成した時の設定手順を詳しく教えて欲しい。」というものでした。

不正利用じゃなさそうだし、デフォルトでそれが適用されるなら、自分自身がその項目を見逃して、x5.large、マルチAZのまま設定してしまったとしか説明がつかない。。
結局「自分で設定を間違えた」ということで、請求調整をしてもらうことになりました。

対策

まず意図していないリソースは全て削除した上で、以下の対策を取らないと請求調整を進めてもらえませんでした。

データベースの場合、処理を走らせたり稼働させていなくても、リソースを確保しているだけで課金されるそうです。今回のようにデフォルトのx5largeの冗長構成だと、放置しているだけで数十万円になりました。サービスを使わない時は必ず停止させましょう。

請求調整

まず請求調整の結果としては、約80%の免除となり、約8万円の支払いとなりました。不正利用ではなく、利用者の設定間違いによるケースは、全額免除にはならないらしい、というのは調べているうちになんとなくわかっていましたが、やや重めの勉強代となりました。

普段からgoogle collaborateryなど身近なwebサービスで料金が発生したことはなかったので、まさか使いもせず放置しているだけで40万にもなるとはまったく想像していなかったズブの素人です。いつかの誰かのために、こうして記録を残しておきます。

Discussion