みんなの「作ってみた」

ほとんどアクセスのない個人開発サービスがAWSに月額いくら払っているか全て公開します

2019/07/10

ttakuru88
ttakuru88
Ruby on Rails, JavaScript, Elixir, DocBase, うわおえ

はじめに

「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もインフラの候補にしてみてはどうだろうか。