イメージ転送と利用上限
プランにはビルド時間のほかにイメージ転送が含まれます。サーバーが Zenavo のレジストリから pull するイメージレイヤーのことです。アプリは自分のサーバーで動くので、Zenavo はそのコンピューティングや通信に料金をかけません。イメージ転送は、デプロイのうち Zenavo を通る部分です。
数えられるもの
イメージ転送は、サーバーが Zenavo のレジストリからダウンロードするイメージレイヤーの GB 数です。このレジストリには、Zenavo が Git リポジトリからやアップロードしたディレクトリからビルドしたイメージが入っています。1 GB は 1,000,000 KB です。
- 数えるもの: Zenavo がビルドしたサービスをデプロイ・ロールバックしたとき、またはそのイメージがないサーバーでサービスが起動したときに、サーバーがまだ持っていないレイヤーを pull すること。
- 数えないもの: ビルド、そしてコンソールから追加するデータベースのような公開イメージ(Docker Hub、GHCR、Quay など)。これらはサーバーがそれぞれのレジストリから pull します。サーバーがすでに持っているレイヤーは再ダウンロードされないので、コードだけを変えた再デプロイでは、たいてい上のほうのレイヤーだけを pull します。
転送量は 1 時間単位で数えるので、期間の終わりの 1 時間以内の pull は次の期間に数えられることがあります。
プランに含まれる量
| Free | Dev | Pro | Team | |
|---|---|---|---|---|
| 含まれるイメージ転送 | 10 GB | 50 GB | 200 GB | 500 GB |
| 含まれる量を超えたら | pull が止まります | 1 GB あたり $0.035(利用上限まで) | 1 GB あたり $0.035(利用上限まで) | 1 GB あたり $0.035(利用上限まで) |
許容量は請求期間ごとで、期間はワークスペースが申し込んだ日から始まります。申し込みがなければ暦月(UTC)ごとです。
Usage には、プランに対するその期間のイメージ転送の使用量が表示されます。グラフを Image transfer に切り替えると日ごとに見られます。金額は見積もりで、請求書ではありません。
利用上限
有料プランでは、含まれる量を超えたイメージ転送は後払いで次の請求書に、Upcoming invoice の独立した行として計上されます。利用上限は、請求期間ごとのこの従量課金に上限を設けます。オーナーが変えるまでは $20 で、Account settings → Subscription → Usage charges で $0〜$10,000 の範囲で変更できます。$0 にすると、プランを超える使用量に支払うことはありません。
ある期間に使用量として支払う額が上限を超えることはありません。
上限に達したら
有料のワークスペースが利用上限に達するか、Free のワークスペースが 10 GB を使い切ると:
- サーバーは Zenavo のレジストリから新しいイメージを pull できなくなり、pull が必要なデプロイは説明付きで拒否されます。公開イメージのデプロイはできます。
- 動いているサービスは動き続けます。 何も停止・削除されません。ただし、再起動で別の場所に移ったときなど、イメージのないサーバーで起動する必要のあるサービスは、pull が再び許可されるまで起動できません。
- 上限を上げるか、プランをアップグレードするか、期間が終わるまで、Usage ページにお知らせが表示されます。
続けるには、利用上限を上げる(オーナー)、プランをアップグレードする、次の期間を待つ、のいずれかです。
警告
Usage limit の通知をオンにしているメンバーには、イメージ転送がその期間の許容量の 80% と 100% に達したときにメールが届きます。許容量は、Free では含まれる GB、有料プランでは含まれる GB と利用上限の合計です。チームのチャンネルでも同じアラートを受け取れます(通知)。
転送を少なくする
-alpineや-slimのような小さなベースイメージと、ビルドの成果物だけを最終イメージにコピーするマルチステージの Dockerfile を使います(ビルドプラン)。- 変わりにくいものを Dockerfile の前のほうに置きます。ソースコードより先に依存関係を入れれば、ほとんどのレイヤーがデプロイ間で同じままになり、再び pull されません。
- Watch paths を使って、ドキュメントや他のサービスだけを変えた push で再デプロイしないようにします。
- サービスは同じサーバーに置いておきます。移行するとすべてのレイヤーを pull し直します。