【コンテナチェックポイント(シーアールアイユー)】

コンテナチェックポイント(CRIU) とは?

最終更新:
💡 コンテナにも「セーブ地点」。続きから動かすための状態保存

実行中のコンテナのプロセスやメモリなどの状態をファイルに保存し、対応する環境で復元する技術。LinuxのCRIUなどが使われます。コンテナイメージやデータのバックアップとは役割が異なり、復元には環境と機能の条件があります。

📌 このページのポイント
コンテナの「セーブ地点」実行中プロセス・メモリ状態を保存ファイルへ復元・再開対応する環境でランタイム・カーネル・資源の条件外部データまで巻き戻すものではないセーブファイルも、機密情報として保護
状態保存と復元のイメージ。別ホストへの移動は、対応状況と互換性の確認が必要です。
ひよこ ひよこ
コンテナチェックポイントって何?
ペンギン先生 ペンギン先生
動いているコンテナのプロセスやメモリなどをファイルに保存し、対応する環境で復元する技術だよ。ゲームのセーブ地点に似ているね。ただし、どんなパソコンでも同じように再開できるという意味ではないよ。
ひよこ ひよこ
コンテナイメージを保存するのとは違うの?
ペンギン先生 ペンギン先生
イメージはプログラムや必要なファイルを用意するものだよ。チェックポイントは実行中の状態を保存する点が違うんだ。また、外部のデータベースや別のサービスまで一緒に巻き戻すものではなく、データのバックアップを置き換えるものでもないよ。
ひよこ ひよこ
CRIUは何をするの?
ペンギン先生 ペンギン先生
Linuxでプロセスの状態を保存・復元するツールだよ。主にユーザー空間で動くけれど、カーネルの機能とも連携するんだ。Dockerのチェックポイント機能は実験的機能で、CRIUが別途必要だよ。復元はランタイムやカーネル、使う資源などの条件を確かめよう。
ひよこ ひよこ
Kubernetesなら、Podを別ノードへ自動で移せるの?
ペンギン先生 ペンギン先生
kubeletのチェックポイントAPIは、対応するコンテナランタイムに状態の保存を依頼するものだよ。APIがあるだけで、Podの復元やライブマイグレーションまで自動で行われるわけではないんだ。非対応のランタイムでは保存にも失敗するよ。
ひよこ ひよこ
どんな使い道と注意点がある?
ペンギン先生 ペンギン先生
初期化済みの状態からの起動や、不具合が起きた状態の調査に役立つ場合があるよ。復元の可否や速度は実際の環境で確かめよう。保存ファイルにはメモリ内の認証情報や秘密鍵も入り得るので、アクセス制限や移動・保管時の保護が必要なんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「コンテナチェックポイント」って出てきたら「コンテナの続きから動かすためのセーブ地点」と思えばだいたいOK!
📖 おまけ:英語の意味
「Container Checkpoint / CRIU (Checkpoint/Restore In Userspace)」 = コンテナの状態保存 / ユーザー空間でのチェックポイント保存・復元
💬 Checkpointは再開のために保存する地点、Restoreは復元だよ。CRIUの名前は、主にユーザー空間で保存・復元を行う仕組みを表しているんだ。

参考資料

← 用語集にもどる