🍡

【fly.io】デプロイ後課金相当のマシンになってしまう

2023/12/26に公開

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