AWSを手探りで初めてみたら課金されてしまった
そう、あの日の俺は、開発中のASP.NET Core 3.1 のWebアプリをただAWSで動かしたかっただけなんだ。
それなのに、それなのにまさか$2.08も課金って、、悲しい。俺はとても悲しかった。
まとめ
- Elastic Beanstalkで.NET Coreを試す場合、まず .NET Core on Linux プラットフォームを選ぶとEC2の無料枠が使われる
- Billingサービスで課金状況は把握できる
- 実験が終わったら 環境の終了 で停止すると無料利用枠を節約できる。(40日以内ならいつでも復活できる)
AWSで.NET Core を動かすにはElastic Beanstalk
コンソールでいじるなら、アプリケーション
と環境
を同時に作ることから始まります。
が、いろいろ触ってみて気になったのが「これ、無料枠内で動いてるの?」という疑問。
前提として、Elastic Beanstalk自体の利用は無料です。それは理解した。
ただ、そこから作られるEC2やRDS(DB)、その他の設備は無料枠があって、気軽に試せるようにAWSが計らってくれてるわけです。
AWSのWebsiteなどに「EC2のt2.microは無料」と書いてあるので「EBを動かすVPCのサイズをしょぼいのにすればいい」というイメージはありますが、アプリケーションの作成や環境の設定に「EC2の設定」なんてどこにも出てきません。
ちなみに詳細な設定画面にいくとt2.medium
とかスケールの選択肢を見つけることができます。
結論からいうと、何はともあれ .NET Core on Linux を選べば無料枠、間違って「.NET on Windows Server」を選んで課金されました。
「EC2のインスタンス」はどこに
アプリケーション
> 環境
> 設定
> 容量
のインスタンスタイプ
に発見!
ちゃんとt2.micro
になってますね。
AWSのプロにとってはわかりやすいのかもしれないが我らAWS歴100秒未満の雑魚にとっては非常にわかりづらいです。
環境を作ったらまずここを確認することをお勧めします。
課金状況を知るには
コンソールからBilling
というサービスを探して開いてみましょう。
ダッシュボード上部は課金状況、下部に無料利用枠サービスのリストが見れます。
もし意図しない課金がされてたら
「今月初めから今日までのサービス別利用料」の「料金明細」にて課金対象の詳細がわかります、心当たりがないか調べてみましょう。ここを見て自分はたぶんプラットフォームEC2の.NET on Windows Serverが課金対象だったであろうことが判明しました。
無料枠の使用状況を把握しよう
Billing下部の「使用状況別の上位無料利用枠サービス」の「すべて表示」でAWSの無料枠一覧に飛んで、枠の使用状況が把握できます。