
1 つのサーバーで 60 のコンテナ
1 つのベアメタルボックスで数十から数百の Hoody コンテナを実行。KSM と BTRFS のデデュプでマージナルコストはほぼゼロ。
管理 cron エントリが @hourly で発火します。auto-h$(date +%H) という名前のスナップショットを POST します。名前は auto-h00 から auto-h23 まで循環します。1 日経つと、新しいスナップショットが前日同時刻のものを上書きします。常に直近 24 時間の状態を、毎時の粒度で保持できます。
{ "name": "hourly-2026-05-04-13", "alias": "auto-h13", "created_at": "13:00:04Z", "size": 1331691520 }
エレベーターは 24 階で停まります。昨日のあの時刻は、今日の同じ時刻に上書きされます
@hourly の管理エントリが alias auto-h$(date +%H) でスナップショット URL を curl します。alias はあえて衝突します。明日の 13 時には、今日の auto-h13 が置き換えられます。24 個の名前付きスロットが、自動的に回転します。
# Hoody Cron — 毎時のスナップショットを 1 件スケジュール。 curl -X POST \ cron.containers.hoody.com/users/root/entries \ -H "Content-Type: application/json" \ -d '{ "schedule": "@hourly", "command": "curl -X POST $SNAP_URL -d '{\"alias\":\"auto-h$(date +%H)\"}'", "comment": "rolling 24h snapshot" }'
# 13:00 に cron が実行 — このリクエストが送信されます: curl -X POST \ api.hoody.com/api/v1/containers/$ID/snapshots \ -H "Authorization: Bearer $TOKEN" \ -d '{"alias": "auto-h13"}' # レスポンス: → 200 OK · hourly-2026-05-04-13 created in 6s
保持ポリシーも掃除人も存在しません。alias auto-h13 は 24 時間ごとに再利用され、それがウィンドウを回転させる仕組みです。Hoody Snapshots API は POST /api/v1/containers/[id]/snapshots でオプションの alias フィールドをサポートしており、それを再利用するだけで仕組みが完結します。
4 ステップ、すべてが 1 回の curl の中に収まります。cron ティックからスナップショット完了まで数秒です。
各ティックは数秒で終わります。alias こそが回転のプリミティブです。24 時間後に同じ名前を再利用することで、その階のスナップショットがその場で置き換わります。
バックアップのランブックを捨てて手放したものは、より安く、より誠実な形で取り戻せます。
スナップショットはディスク上でステートレスです。置いている間は CPU も RAM も消費しません。常時稼働するバックアップサービスではなく、コンテナの差分 24 個ぶんのストレージにだけ料金を払います。
14:14 に何かが起きたら、auto-h13 を復元すれば 13:00 まで戻れます。問題発生の 1 分前です。毎時の粒度は、本番ロールバックには十分細かく、台帳を埋め尽くさない程度には粗くて済みます。
書くべきライフサイクルポリシーも、用意すべき S3 バケットも、毎年のランブックレビューもありません。命名規則そのものが保持ルールです。固定 alias 集合そのものが監査記録です。
典型的なコンテナのスナップショットを毎時粒度で 24 個保持します。数字は Hoody Snapshots API と、毎時 1.2 GB という代表的な差分サイズに基づきます。
各時間が名前付きスロットです。1 日目以降、新しいスナップショットは毎回前日同時刻ぶんを上書きします。総数は増えません。
管理エントリ 1 件、スケジュール @hourly、コマンドは alias auto-h$(date +%H) でスナップショット URL を curl するだけ。それで回転は完結します。
プルージョブも、expires_at ポリシーも、ライフサイクル設定も不要です。alias の衝突がその場でウィンドウを回転させ、何も積み上がりません。
Hoody Container Snapshots API の仕様: POST /api/v1/containers/[id]/snapshots はオプションの alias (最大 100 文字) と日数指定のオプションの失効を受け付けます。本ページではコンテナの既定スナップショット価格と、毎時取得あたり代表的な約 1.2 GB の差分を前提としています。実際のサイズはワークロードによって変わります。
あなたのタイムマシンには 24 の階があり、エレベーターは 1 回の curl です。
毎時のポイントインタイムリカバリを求めたときに、つい手を伸ばす定番ツール群です。それぞれサービス料金や保持ポリシーが課金されます。cron + alias モデルでは、そのどちらも課金されません。
バックアップのランブックは捨てましょう。@hourly をスケジュールしてください。コンテナの直近 24 時間が、24 の名前付き階として存在します。エレベーターは 1 回の curl だけです。