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

## はじめに

「AWSって結局いくらかかるの？」
これが結構見積もりが難しい問題で、[ざっくりAWS](https://aws.noplan.cc/)のようにざっくり見積もれるサービスが登場したのはその見積もりの難しさから来ていると思う。

個人的に開発している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台分無料](https://aws.amazon.com/jp/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=categories%2312monthsfree&awsf.Free%20Tier%20Categories=productcategories%23compute)だけど、無料期間は切れているため課金。

### EC2 インスタンス

平均 **$11.000**（ドル円108円として約**1188円**）

インスタンスはt2.microが1台。t3ではない。
microインスタンスには、[初回12ヶ月は1台分が無料](https://aws.amazon.com/jp/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=categories%2312monthsfree&awsf.Free%20Tier%20Categories=productcategories%23compute)というキャンペーンがあるんだけど、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](https://github.com/shrinerb/shrine)がキャッシュをS3に作りまくったりしているけど、軽い。
現状やっすいので、誤差レベル。

関係ないけど、gem shrineは[Base64エンコードされた画像を簡単に扱える](https://qiita.com/ttakuru88/items/91c53616d5fd184b58b8)ので、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円](https://aws.amazon.com/jp/ses/pricing/)らしい。

### 合計

平均 **$35.345**（ドル円108円として**約3817円**）

## おわりに

月3800円。上で書いたようにALBが無駄っぽいので月2000円ぐらいまで節約できると思う。
今の所、広告や課金要素は全く無いので完全赤字になっているが、趣味として見たら安い。

[AWSには初回12ヶ月無料](https://aws.amazon.com/jp/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=categories%2312monthsfree&awsf.Free%20Tier%20Categories=*all)なことがいっぱいあって、1年間であれば次の構成が無料にできそう。
* EC2 microインスタンス1つ
* ALB 1つ
* RDS microインスタンス1つ

新規に個人開発のサービス公開を目論んでいる方は、AWSもインフラの候補にしてみてはどうだろうか。