詰め共円のサーバ移行で悩んでいる件

toyamarb.doorkeeper.jp で書きました。

前提

現在、Google App Engile + Cloud Datastoreで、無料の範囲内に収まっているサーバを、AWSに移したい。 意図としては、

  • GAE/Pythonに飽きた。
    • Python仕事で使うこと無いだろうし。
    • Railsのアプリケーションを遊ぶために持っておきたい。
  • インフラ持ってれば、試せることが増えそう。
    • Let’s Encryptとか。
    • WebSocketとかやってみたいし。(Channel APIってので出来るらしい?でもgaeにロックイン。
  • オプション:Dockerとか使ってみたい。
  • オプション:AWSのサービスをいろいろ使ってみたい。(SNSとか)

データストアの検討

DynamoDB

  • テーブル数 x アクセス速度による課金っぽい。
  • 現状、既にNoSQLなので、移行コストもそんなではない気がする。
    • ただし、データの移送とかは考える必要あり。
  • DynamoDBを操作するGemも発見。 https://github.com/Dynamoid/Dynamoid
    • 1系がリリースされて、aws-sdkの依存も2系になったっぽい。

Cloud Datastore

  • 安い。
  • 今使っているものをそのまま使えるので、移行コスト0。
  • 良いGemが見つからない。

RDS, ElastiCache

  • 時間課金なので、高い。
  • ElastiCacheの一番安いので、$20弱/月

コンピューティングの検討

ElasticBeanstalk

  • ELBだけで$19.77/月over
  • EC2は1年リザーブドだと、$14.64 -> $10.5に。(t2.micro)
  • EBSは必要だけど、30GByteで$3.6/月
  • 合わせると、$33.87。高い。
  • ElasticBeanstalkとして書いたけど、結局EC2+ELBなので、直接でも良いかも。

Google Container Engile (GKE)

  • 5ノードまで無料。(よくわからんけど、安い)
  • インフラ持てないじゃん。→却下。

Heroku

  • $7/月
  • インフラ持てないじゃん。→却下。

まとめ

  • AWSで、インフラを持ってみたい、ということでEC2を直接使うしかない感じ。
    • ElasticBeanstalkを使うのか、OpsWorksとか使うのか、Terraformとか使うのかは検討。(レイヤーバラバラだけど。。
  • Google Cloud Platformは安いけど、Railsを動かす環境としては、ちょっと大変そうな印象。(Gemの量とか)

結論

$30over/月ぐらい。なのか? http://calculator.s3.amazonaws.com/index.html?lng=ja_JP#key=calc-9C121C01-B126-43EC-8F3F-8D37D455C46F