0
1

More than 3 years have passed since last update.

railsで開発中にAWSから高額請求された件、、、

Last updated at Posted at 2020-06-19

EC2に750時間/月の無料利用枠、RDSにdb.t2.microという無料のインスタンスサイズが存在しているが、これには大きな落とし穴がある(見事に落ちました。。。)
実は、EC2のインスタンスやRDSのインスタンスサイズ

EC2の考え方は、作成数 X 利用時間 = 合計利用時間 という計算になっており、
無料利用枠 = 合計利用時間なのである。
私の場合EC2を2個走らせていた。
幸い、月の半分程で気づいたので請求はされなかったが、危なかった。
急いで両方の停止を実行し、開発中のみ起動するようにした。

RDSの場合、インスタンスサイズ(CPU、メモリ、ストレージ、ネットワークキャパシティーの組み合わせによって構成されている)を自由に選択でき、db.t2.microが無料利用枠として存在する。これが最低レベルであり、性能に比例して値段が上がる。
私の場合、db.m5.xlargeというインスタンスサイズが選択されており(原因不明。。。)、1ヶ月で500$近い請求をくらった。。。。。

すぐさま該当のDBインスタンスをdb.m5.xlarge ➡️ db.t2.microに変更しようとするが、下記のエラーが発生。
DB Instance class db.t2.micro does not support encryption at rest (Service: AmazonRDS; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: cfbf5c05-7c57-492b-b9e3-6145a6f2c640)

どうやら、db.t2.microは保存時の暗号化をサポートしていないので変更できないようだ。
下記を参考に暗号化を試みるも、暗号化ボタンが有効にならず諦める。
https://dev.classmethod.jp/articles/encrypt-unencrypted-rds-db-instance-ja/

無料枠のdb.t2.microは諦めてもその次の構成である、db.t2.smallなら変更が可能なようだ。
db.m5.xlarge ➡️ db.t2.small への変更を実行し、利用料金の大幅な減額に成功した。

次回からAWSを使用し、EC2コンテナ上でアプリケーションサーバーをたて、DBはRDSで構築する場合は、
可動しているEC2は何個で合計利用時間はどれだけか?
RDSのインスタンスサイズは無料枠であるdb.t2.micro(もしくはそれに近いもの)か?
という2点を常に確認して利用したい。

上記以外にも次の設定にも注意したい。
ストレージタイプというものが以下の3種から選択可能で、これも$150の高額請求が来ていた。。。
汎用(SSD)
プロビジョンド IOPS(SSD) ⬅️ 初期選択
マグネティック
次の記事を参考に設定を以下のように変更した
https://blog.manabusakai.com/2015/07/rds-cost-down/
プロビジョンド IOPS(SSD) ➡️ 汎用(SSD) 変更時に注意(ロード時間が長くなる可能性あり)

実際の請求明細には以下の記述があり、参考記事が正しければ$146.67のコストダウンだ。もっと早く知りたかった。。。
USD 0.24 per IOPS-month of Multi-AZ Provisioned IOPS611.111 IOPS-Mo$146.67
USD 0.30 per GB-month of provisioned Multi-AZ IO1 storage61.111 GB-Mo$18.33

また、初心者が陥る料金発生には以下のようなものもあるらしい。
https://qiita.com/Yuji-Ishibashi/items/bb1c0042fd16a9350c5a
さらに、設定を一歩間違えると下記のような超高額請求もあるらしい。
https://qiita.com/mochizukikotaro/items/a0e98ff0063a77e7b694

最後に、私と同じような高額請求に、この記事が少しでも助けになることを願うばかりである。

0
1
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
0
1