AWSで動かしていたRailsアプリケーションをGCPに移した
これまで、AWS(EC2)で動かしていたRailsアプリケーションをGCPに移しました。という日記
GCPには、無期限で無償で使用できるAlways Free枠というのがあるので、その範囲内で利用しました。
https://cloud.google.com/free/?hl=ja
スペック
これまで
- EC2(t2.micro) vCPU 1 メモリ 1GB
- RDS
これから
- Google Compute Engine(f1-micro) vCPU 1 メモリ 600MB
構成
Nginx + Unicorn(Rails) + MySQL
構築する
負荷については、一日に10人訪問すれば良いかなというくらいなので気にしなくても良いレベル
昔書いたメモを参考に構築 http://takapi86.hatenablog.com/entry/2017/06/25/215412
スムーズに構築できましたが、一部すんなりいかなかった点としては、 メモリが600MBしかないので、Rubyのビルドと、bundle install するタイミングで、Out of memoryになってしまったところ。
Swapがoffになっていたので、スワップファイルを作って回避しました。
$ vmstat 1 5 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 2 0 46600 47092 0 69052 1 18 885 311 85 125 1 1 95 3 0 0 0 46600 47092 0 69036 0 0 0 0 46 100 0 0 100 0 0 0 0 46600 47092 0 69036 0 0 0 0 42 93 0 1 99 0 0 0 0 46600 47092 0 69036 0 0 0 0 44 92 0 0 100 0 0 0 0 46600 47092 0 69036 0 0 0 0 40 89 0 0 100 0 0 $ free -h total used free shared buff/cache available Mem: 587M 473M 46M 1.2M 67M 27M Swap: 1.0G 45M 978M
再起動直後に測ったもの。とくに問題なく動いてそうな気がする。
余談
設定後次の日、GCPから [Update] New Google Cloud billing budget a...
という件名のメールが来ていたので、確認してみると以下の請求が・・・
$1000 !? うわっ…私の請求、高すぎ…?
えっ?swap file を作ったのが良くなかった?(DiskIOか何かの請求!? まさかの噂に聞いていたクラウド破産!?とにかく、Googleに連絡しなければ!? どうにも出来なかった場合、$1000今後どうやって支払っていけば良いのだ。人生設計を見直さなければ・・・ というか、そもそも7月使ってなくない!?
(ここまで0.8秒)
というのが走馬灯のように頭を駆け巡ったのですが、よくよくタイトル全文を確認してみると・・・
[Update] New Google Cloud billing budget alert notification format
スマホのGmailアプリのメール一覧から件名が欠けていたので気付かなかったのですが、通知のフォーマットが変わったというお知らせで、上の請求はサンプル画像だったのでした。
文章はちゃんとよく読みましょう
おしまい。