🍡
【fly.io】デプロイ後課金相当のマシンになってしまう
fly.ioには無料枠が3VM分あるが、普通にデプロイしたら課金された。
デフォルトでは無料枠のスペックをオーバーするのが悪いらしい。
大した額ではないものの0円が良いので直す。2つ方法がある。
- 恒久対応:fly.tomlでスペックを下げ、再デプロイする
- 一時対応:現在のマシンのスケールを変更する
恒久対応:fly.tomlでスペックを下げ、再デプロイする
fly.tomlでVMのスペックを書き換える。下記の箇所。
[[vm]]
cpu_kind = "shared"
cpus = 1
memory_mb = 256
デフォルトでmemory_mb = 1024
なため、無料RAMを超えてしまうのが原因。
無料枠shared-cpu-1x 256mb
のスペック通り、memory_mb = 256
とすれば良い。
試していないが下記でもいけそう。
[[vm]]
size = "shared-cpu-1x"
fly.toml編集後はfly deploy
で再デプロイする。
完了後、fly.ioのダッシュボードでshared-cpu-1x@256MB
と記載あれば問題ない。
一時対応:マシンをスケールダウンする
知っておくと便利そうなので書く。
一時的にマシンのスケールを変更したいときはfly scale vm
を使う。fly deploy
するともとに戻る。
# 現在のスケールを確認
fly scale show
# 無料枠のVMに変更
fly scale vm shared-cpu-1x
使用可能な既定VM一覧はfly platform vm-sizes
で確認できる。
細かい設定にはflyctl scale vm
を使うらしい。
参考
Fly.io Resource Pricing · Fly Docs
Fly Launch configuration (fly.toml) · Fly Docs
恒久対応はfly.ioコミュニティへ質問し、即座に回答いただけた内容です。ありがとうございました。
Unexpected RAM Increase in shared-cpu-1x After Deployment - Questions / Help - Fly.io
Scale Machine CPU and RAM · Fly Docs
Discussion