はじめに
「AWSって結局いくらかかるの?」
これが結構見積もりが難しい問題で、ざっくりAWSのようにざっくり見積もれるサービスが登場したのはその見積もりの難しさから来ていると思う。
個人的に開発しているwebサービスをAWSで公開してからしばらくたって、月の料金が安定しているので、ここで公開してみる。
しょっぼいwebサービスを公開したいけど、AWSだといくら掛かるのかなー?という方に向けて書いているので、「herokuなら無料だぜ!もしくは7ドルだぜ!」とかいう話ではないです。
サービス概要
公開したサービスはこちら。(※現在閉鎖済みです)
https://uwaoe.net
html5のcanvas機能を利用してブラウザ上でお絵かきすることができて、他の人が描いた絵にうわがき(というか落書き)することができる。
サーバはRuby on Rails、フロントはVue.jsで作った。
利用ユーザは2人。
たった2人!!
これはストレージ的にもアクセス数的にも安上がり!!!
料金内訳
AWSコンソールのコストエクスプローラから、半年間の支払い金額を取得した。
EC2 ELB | EC2 インスタンス | EC2 その他 | 税金 | Route 53 | S3 | CloudFront | 合計 | |
---|---|---|---|---|---|---|---|---|
2019-01-01 | 18.08 | 11.31 | 3.60 | 2.68 | 0.50 | 0.02 | 0.01 | 36.20 |
2019-02-01 | 16.33 | 10.21 | 3.60 | 2.46 | 0.50 | 0.02 | 0.02 | 33.14 |
2019-03-01 | 18.08 | 11.31 | 3.60 | 2.68 | 0.50 | 0.02 | 0.01 | 36.20 |
2019-04-01 | 17.50 | 10.92 | 3.60 | 2.60 | 0.50 | 0.02 | 0.01 | 35.15 |
2019-05-01 | 18.08 | 11.31 | 3.60 | 2.68 | 0.50 | 0.02 | 0.01 | 36.20 |
2019-06-01 | 17.50 | 10.94 | 3.60 | 2.61 | 0.50 | 0.02 | 0.01 | 35.18 |
※ 単位は$
※ 見易さのために少数第3位を四捨五入しています
EC2 ELB
平均 $17.595(ドル円108円として約1900円)
EC2インスタンスは1台しか使ってないのだけど、ELBで簡単にhttpsを使いたかったので導入。
結構する。httpsにしたいだけなので、Let's Encryptとか使ってEC2に直接証明書をインストールしたほうが安上がりだったかな。
初回12ヶ月間は1台分無料だけど、無料期間は切れているため課金。
EC2 インスタンス
平均 $11.000(ドル円108円として約1188円)
インスタンスはt2.microが1台。t3ではない。
microインスタンスには、初回12ヶ月は1台分が無料というキャンペーンがあるんだけど、12ヶ月間の無料期間は過ぎているためお金がかかっている。
EC2 その他
平均 $3.600(ドル円108円として約389円)
EBSの料金ぽい。
SSD30Gを使っているので計算は$0.12 * 30
。
空きがめっちゃあるのでもっと少なくてもいけそう。
Route 53
平均 $0.500(ドル円108円として約54円)
uwaoe.net
のドメインを登録している。
リクエスト数で料金が上がるらしいが、現状やっすいので、金額的には気にならないレベル。
S3
平均 $0.020(ドル円108円として約2円)
おえかきされた絵やアップロードされたユーザのアバターを保存している。
put系の書き込みリクエストが1000件、get系の取得リクエストが45000件、データ送料が 50MB程度なので大したことがない。
rails側で画像のサムネイルを何種類か作成してS3に上げたり、画像アップロード用のgemのshrineがキャッシュをS3に作りまくったりしているけど、軽い。
現状やっすいので、誤差レベル。
関係ないけど、gem shrineはBase64エンコードされた画像を簡単に扱えるので、canvasの画像を扱いたい場合におすすめ。
Coundfront
平均 $0.012(ドル円108円として約1円)
t2.microサーバから画像配信するのは不安があったので、画像の配信にはCloudfrontを使用するようにした。
現状やっすいね。
RDS
使ってない。
節約のためにEC2インスタンスにmysql-serverを入れちゃったのだけど、メモリが足りなくて辛い。
t2.microってメモリ0.5Gじゃん? mysqldがメモリを160MB使っていて、railsを動かしているpumaサーバが180MB使っている。その他サービスで使われているメモリもありで、デプロイを実行するメモリが足りない。デプロイする時、assets:precompile
のたびにメモリが足りなくてアプリケーションサーバが死ぬというカッコいい状態になっている。
CloudWatch
使ってない。
別にサービスが何時間止まろうが困らないし・・。
SES
使ってるけど0円。
月62,000件までは0円らしい。
合計
平均 $35.345(ドル円108円として約3817円)
おわりに
月3800円。上で書いたようにALBが無駄っぽいので月2000円ぐらいまで節約できると思う。
今の所、広告や課金要素は全く無いので完全赤字になっているが、趣味として見たら安い。
AWSには初回12ヶ月無料なことがいっぱいあって、1年間であれば次の構成が無料にできそう。
- EC2 microインスタンス1つ
- ALB 1つ
- RDS microインスタンス1つ
新規に個人開発のサービス公開を目論んでいる方は、AWSもインフラの候補にしてみてはどうだろうか。