跨区 Mac mini M4 並列 CI で Pulumi の S3 互換リモート状態は単一の真実源。ロック租約切れで二重更新、並列プレビュー過多で ビルドロックと帯域が衝突します。状態パス・TTL・CI シャード・1TB/2TB 水位の四軸で
main 合流前の統合検収を一枚化します。
詰まりどころ(三つ)
成果物の扇展開と OS 層ロックは rsync 成果物マトリクス稿、スケジューラ側の単一ライターは Nomad 親和・ビルドロック稿 と役割分担してください。ここでは「状態バックエンド上の排他」と「プレビュー洪水」に焦点を当てます。
- 租約レース: TTL 直後に二ランナーが同一キーを掴むと版競合でスナップ分岐。
- プレビュー飽和: シャード無しの
preview増加で読取とupが帯域衝突。 - ディスク盲目: 1TB はキャッシュで黄信号早い。2TB も Simulator 多版で再崖(Xcode 並列・水位稿)。
意思決定マトリクス:パターン × パス × 租約 × シャード × ディスク
| パターン | 状態キー/パス | ロック租約 | CI シャード | 1TB/2TB 目安 |
|---|---|---|---|---|
| 単一リーダー | 接頭辞/スタック/リージョン固定。プレビューは接尾辞で分離。 | up は短 TTL・昇格のみ直列。長時間マージは別プロファイル。 |
シャードごとルート分離+同時上限ポリシー。 | 1TB は単一リージョン+抑制。2TB はプレビュー枠やや拡げ可。 |
| 多プレビュー | preview/<branch> 固定、main と非交差。 |
main より短 TTL。期限接近と更新失敗アラート分離。 | 同時上限+キュー。超過はノード増/時間帯シフト。 | 1TB 同時 2 前後・2TB 4 目安(帯域で再調整)。 |
S3 互換実装ごとにロック寿命と条件付き書き込みが異なるため、ステージングで「租約切れ→再取得」を必ず再現してください。
状態ファイルのパス(キー規約)
オブジェクトキーは「組織接頭辞 → スタック → リージョン/環境」の順でフラット化を避けます。プラグインキャッシュとワークツリーはノード SSD、リモートはスナップのみ。バージョニングとライフサイクルは「分岐状態の復旧」を優先して設計します。
ロック租約(TTL)
preview 用と up 用で TTL プロファイルを分け、「期限接近」と「ロック更新失敗」を監視上も分離します。更新失敗は即再試行せず、同一キーを握る先行ジョブを確認してからキューへ戻すと分岐を抑えられます。
CI のシャーディング(並列プレビュー)
シャード境界はディレクトリ単位のスタックかサービス単位に寄せ、シャード内はプレビュー直列・シャード間のみ並列にすると書き込み競合が激減します。CI マトリクスとランナーラベル(Nomad meta 等)を揃え跨区でもトレース可能にします。
ディスク水位(1TB/2TB)
プレビュー作業ディレクトリとプラグインキャッシュが同一ボリュームを共有するため、使用率は同時ジョブと連動。下表は運用目安(SLA ではありません)。
| 使用率帯 | 1TB ライン | 2TB ライン |
|---|---|---|
| 〜70% | キャッシュローテと古いプレビュー掃除を自動化。 | 同左。猶予ありも放置しない。 |
| 70〜80%(黄) | プレビュー同時数を一段階下げ、増設/シャードを計画。 | 黄は遅れて現れる。バースト上限を先に下げる。 |
| 80〜90% | 新規プレビュー停止、up は窓口限定。ロック待ち可視化。 |
2TB も Simulator 多版で再詰まり。メタで重ジョブ分散。 |
| 90% 超(赤) | 書き込み系をハードストップし、バックエンド側のリスト/バージョン列挙コストも点検。クラスタ追加・ディスク段階アップを最優先。 | |
main 合流前:統合検収チェックリスト(五段階)
- 認証・バージョニング・リージョン確認、ランナー RTT を記録。
- キー規約(接頭辞/接尾辞/シャード)を Runbook 固定。
- 期限接近と更新失敗アラートをチャネル分離。
- プレビュー上限・キュー・超過エスカレーションを明文化。
- 1TB で黄なら枠削減。2TB でも 80% 超はローリングで減荷。
レビュー時の三行メモ
- 租約切れと更新失敗を同一アラートにまとめない。
- プレビュー用キーを main と永続的に分離する。
- 1TB で 80% を超えたら、まず並列プレビューから減らす。
購入・拡張の判断(まとめ) 重いチームは 2TB+シャード余白を優先し、状態バックエンドを runner 拠点寄せで RTT 削減。料金比較・ヘルプはログイン不要、申込は 購入ページ。
エンジニアリング実務向けの目安です。 Pulumi および各 S3 互換製品の挙動は公式ドキュメントを正とし、本文のしきい値は運用ガイドラインであり保証ではありません。