結論:コンテナ更新中に停電したら、UPSの残時間だけで更新続行を決めず、安全停止に必要な時間を確保できるかで判断します。確保できなければ更新を止め、復電後に更新前の旧image digestへ戻し、公開URLの新しい応答まで確認します。UPSは更新を完走させる装置ではなく、データを壊さず停止し、戻る対象を保つための時間を作る装置です。
停電中に使う最小チェックリスト
- 更新前に、稼働中のimage digest、設定ハッシュ、volume名、データの退避先を記録したか。
- 停電時にも残す機器と、先に止める機器をUPS系統ごとに分けたか。
- UPSの残時間が、更新作業の残り時間ではなく、安全停止に必要な時間を上回るか確認したか。
- 残時間に余裕がなければ、イメージ取得・公開・DB変更などの途中工程を続けず、安全停止へ切り替えたか。
- 復電後は新しい版を再実行する前に、旧digestと設定ハッシュを使って旧版へ戻せるか確認したか。
- ロールバック後は、コンテナ起動だけで終えず、公開URLから新しい応答を読んだか。
UPS実効時間は「何分持つか」ではなく停止時間との差で決める
UPSのVA値や系統全体の壁コンセント側のWだけから、個別UPSの実効時間を断定することはできません。このラボでは、UPS系統を1日集計した既存記録で、最大297.1Wを観測しました。ただし、これは複数機器を含む入口側の計測であり、各UPS出口の負荷率ではありません。
したがって、更新前に見るべき順番は「UPSに残す対象を決める」「各UPS出口の負荷を確認する」「停止処理に必要な時間を確認する」です。バッテリー容量、劣化状態、実際の停止時間はこの記録だけでは分からないため、個別構成では要確認です。守る対象を増やすより先に、停電時に止めてよい機器と停止順序を決めます。
更新継続とロールバックの判断表
| 判断軸 | 更新を続けない条件 | 復電後に行うこと |
|---|---|---|
| UPS実効時間 | 安全停止に必要な時間を確保できない | UPSを更新完走用に使わず、停止後に旧版へ戻す |
| 復旧対象 | 旧digestまたは設定ハッシュが不明 | 新規更新を保留し、戻る対象を一意にする |
| データ | 旧版で読むvolumeや復元先が不明 | データ退避と復元先を確認してから起動する |
| 公開確認 | コンテナ起動だけを確認した | 利用者が開く公開URLの新しい応答を確認する |

停電したときのタイムライン
更新前は、戻す対象を先に固定します。稼働中のimage digestと設定ハッシュを残し、旧版で同じvolumeを読めるか、別の復元先へ戻せるかを確認します。更新中に停電した場合は、残りの更新工程ではなく安全停止に必要な時間を基準にします。
復電後は、途中まで進んだ新しい版を正しい状態とみなしません。旧digestへ戻し、新旧で同じ意味の確認を行います。HTTP応答が返るだけでなく、公開URLから新しい応答を確認できて初めて、利用者向けの復旧と判断します。
関連する手順
更新・公開・切り戻しの記録は、コンテナを安全に更新・公開する方法:ステージングから切り戻しまでで確認できます。UPSの系統分離と電力ログの読み方は、自宅ラボのNAS・10インチラック・UPSをどう選ぶ?、NAS・更新・バックアップをまたぐ判断は、自宅ラボ運用まとめに整理しています。
よくある質問
UPSがあれば、停電中でもコンテナ更新を続けてよいですか?
安全停止に必要な時間を確保できると確認できない限り、続けません。更新の残り時間ではなく、保存と停止に必要な時間を優先します。
UPS系統で最大297.1Wなら、何分動かせますか?
この値だけでは算出できません。系統全体の入口計測であり、各UPS出口の負荷、バッテリー容量、劣化状態が必要です。個別構成で要確認です。
ロールバック後に確認するのはhealthcheckだけで十分ですか?
十分ではありません。healthcheckに加え、利用者がアクセスする公開URLから新しい応答を確認します。コンテナが起動していても、公開面が復旧しているとは限りません。
この検証を回している環境
この検証は、自宅の常設ラボ(使い捨てVM/LXCを回す母艦+GPU+VLAN分離ネットワーク)で動かしています。使っている機材と選定理由、全体構成は1本にまとめています。
ラボ構成のまとめを見る →