想定読者:APAC と米国でリモート Mac ランナーを運用し、日中はキューが遊び、夜間にだけ滞留が爆発し、日次レンタルと月額の請求が稼働から乖離しているチーム。成果:UTC ウィンドウ、プールタグ、並列上限、レンタル償却を一枚の監査可能な表に載せ、ノード選定・ランナー並列・成果物各ガイドへ相互リンクします。構成:根本原因六つ、六地域マトリクス、YAML スケッチ、注意喚起、六段 Runbook、三 KPI、締めの方針、FAQ。
シンガポール、東京、ソウル、香港、米東バージニア、米西海岸ベイエリアなどにセルフホストランナーを置きながら、重いジョブのトリガーを本社タイムゾーンの cron 一本で回していると、典型的には現地営業時間帯に容量が遊び、別地域の就業終了後にマージ嵐が重なります。根本原因はしばしば「Mac が足りない」ではなく、起動時計がコラボレーション実態とズレていることに加え、カレンダー課金のレンタル稼働率が低いことです。以下に六つの再発パターンをまとめます。
運用では、キュー長と CPU 利用率を UTC で重ね、どの時間帯が構造的に遊んでいるのかを週次で切り出してください。単にコアを足す前に、トリガーとマージ窓の見直しが先です。
max-parallel やリポジトリ単位の並列がなく、Git fetch とレジストリ上げが Git/レジストリの Runbook の再試行と重なり、「CPU は空いているのにジョブは全部赤」という疑似容量不足になります。Apple Silicon リモートを二十四時間分の監査可能なキャパシティ台帳にするには、タイムゾーン窓・ランナープール・レンタル階層を同一の変更チケットに束ねます。これは M4 と M4 Pro の選定を置き換えるのではなく、CPU 議論とセットで効きます。
窓はUTC基準の例です。実スプリントのタイムゾーンに置き換えてください。主リポジトリが米東にあるなら、コンパイル/単体テストはその近傍に寄せ、Simulator 比重の仕事は開発者密度の高い地域へ寄せ、太平洋横断の成果物往復を減らします。
| 地域 | UTC オフセット(例) | 典型的なリレー役割 | 適したジョブ | 主なリスク |
|---|---|---|---|---|
| シンガポール | +8 | APAC 午前ビルド、欧州・アフリカへのバッファ | コンパイル、単体、Lint、キャッシュウォーム | 米ピークと重なると並列を抑える、Git 出口競合に注意 |
| 日本 | +9 | JP プロダクトチーム向け深夜バッチ | 全量リグレッション、昇格前チェック | JP/米ピークが重なるときは署名プールを分離 |
| 韓国 | +9 | 居住要件が異なる場合は JP と別タグプール | 並列単体、キャッシュウォーム、KR 準拠ビルド | データ居住ポリシーを共有タグで混ぜない |
| 香港 | +8 | 大湾区ワークフローの橋渡し | 中並列ビルド、本土向け出口最適化 | 主 Git 地域とズレる場合は成果物 SLA を定義 |
| 米東(バージニア) | −5/−4(DST) | 主要ホスト Git と揃えやすい | 高頻度 PR、マージキュー、アップロード | APAC 夜から米昼のハンドオフ用キャッシュキーを定義 |
| 米西海岸(ベイエリア) | −8/−7(DST) | 米西海岸終業前のインタラクティブ | Simulator、画面収録、デザイナペア | VNC 帯域コスト、純 SSH バッチから分離 |
社内 IaC やランナー登録でこの形に寄せ、意図を明示してください。黙って全部を飲み込むデフォルトプールを作らないことが重要です。並列とシークレット分離は セルフホストランナーのチェックリスト と一緒にレビューします。
jobs:
compile_apac_night:
runs-on: [self-hosted, region-sg, pool-batch, window-utc18-utc06]
steps:
- run: echo "APAC の夕方から米朝ハンドオフ帯の重いコンパイル"
ui_us_west_day:
runs-on: [self-hosted, region-usw, pool-interactive, window-utc16-utc01]
steps:
- run: echo "Simulator/VNC 比重が高い。バッチ並列を奪わないこと"
# ルール: window-* と region-* は cron 更新と同一の変更チケットに載せること
注意:リレーは、未監査の夜間プールへ署名アイデンティティを流す許可ではありません。signing/notary ラベルは許可リスト済みホストに限定してください。
ベースラインのハード選定は マルチリージョンのレンタルガイド を前提にします。ランナータグ分割がまだなら、先にチェックリストへ戻ってください。
batch(SSH のみ、並列高め)、interactive(Simulator/VNC、低キャップ)、signing(許可リスト、低並列)と禁止事項を文章化します。ネットワーク再試行やキュー深さと並べて、「リレーが効いているか」を数値化します。
現場観測として、タイムゾーン窓・プールタグ・並列上限を一枚のレビューで共同設計したチームは、目に見える遊び時間を縮め、混沌としたスパイクを日レンタルでヘッジしやすくなります。CapEx から OpEx へ寄せる文脈でも、時間そのものがキャパシティモデルの一部になります。
主リポジトリ地域と開発者分布が長期でズレる場合は、成果物近接とデータ所在地を同席レビューしないと、節約した CPU 分が大洋横断の同期で消えます。
明示的な window-* タグ、並列契約、退役手順がないと、「起きている人が押す」運用に戻り、スパイクも遊びも残り、署名面だけが膨らみます。本番相当の Apple Silicon CI には、専用ベアメタル、マルチリージョン選択、基線+ピークのレンタルをタイムゾーン方針の隣に文書化することが必要です。
口頭リレーでは鍵境界の監査性と出口の予測可能性を満たしにくいです。主 Git 地域の近くにランナーを置きつつ、APAC と北米の間で容量を振りたいチームには、地域ノードとレンタル段階が透明なプロフェッショナルな Mac クラウドの方が、謎ホストをローテーションするより安定しがちです。MACCOME は Mac mini M4/M4 Pro をシンガポール、日本、韓国、香港、米東、米西で提供しています。まず公開料金ページで前提を揃え、その後にランナータグをリレー表へ写してください。
パイロット:主リポジトリ近傍と開発者密度近傍に日レンタル二台、本 Runbook の六段レトロを二度回し、月次/四半期の階層と 2TB 要否を決めます。
FAQ
マルチリージョンのノード・レンタル料金ガイドとどう関係しますか?
ノードの記事はハードの置き場所とレンタル階層の選び方を説明します。本稿は同じランナー資産を二十四時間どう回すかを説明し、嵐の時間帯を日レンタルで借りる前提を置きます。同じキャパシティレビューから両方へリンクしてください。公開料金は Mac mini レンタル料金 を参照してください。
リレーは GitHub ホストランナーだけでも使えますか?
ヒートマップの発想は流用できますが、レンタル償却の話は主にセルフホスト/専用ベアメタル向きです。共有ホストランナーではマージ方針とキャッシュキーに集中してください。
Simulator ジョブは夜間バッチプールに載せるべきですか?
いいえ。Simulator と VNC は低並列のインタラクティブ系プールに置き、夜間バッチから切り離してください。混ぜると帯域と GPU 競合がフリート全体に波及します。