2026 企業ファイアウォール越えのMacクラウド出口:Git、CocoaPods、npm、xcodebuild プロキシ検証リスト
リージョンと遅延予算は合っているのに、CIがcloneタイムアウト、PodsのCDN停止、SwiftPMの403に悩む——多くの場合、帯域ではなく企業FW、TLSインスペクション、split DNS、環境変数のずれです。本稿はMacクラウドを監査可能なビルド機に据えるチーム向けに、三類型の原因整理、切り分けマトリクス、curlからxcodebuildまでの5ステップ受け入れ、Git/npm/CocoaPods向けHTTP(S)_PROXYとNO_PROXYの最小構成をまとめます。
目次
1. 三つの痛み:DNS、TLS、プロキシ
Linux VPSでは22番ポートの確認が中心ですが、Macクラウドは大量の小さなHTTPSと時折のGB級アーティファクトを扱います。キューとディスクの問題と違い、出口は名前解決と証明書チェーンから疑います。
- split DNS:ノートPCとクラウドで同一URLの解決先が違う。ローカルは成功、CIだけ失敗。
- TLSインスペクション:企業ルートが未インポートで握手失敗。npmは通るがCocoaPods CDNだけ落ちる、など。
- プロキシとNO_PROXY:対話シェルには
HTTPS_PROXYがあるがlaunchdジョブに無い。Ruby/npmの子プロセスは~/.curlrcを読む場合も。
まず「Mbpsを上げる」前に、次の表で定性してください。
2. 切り分けマトリクス
| 症状 | 疑う順 | 確認 | 修正の方向 |
|---|---|---|---|
| 解決IPが端末とクラウドで不一致 | DNS | dig比較 | 企業DNS、または一時hosts |
| 全HTTPSが証明書エラー | TLSインスペクション | openssl s_client | ルートをSystemキーチェーンへ |
| SSHではcurl成功、CIだけ失敗 | 環境変数未継承 | launchd plist | EnvironmentVariablesに明示 |
| GitHubだけ遅い | ドメイン別ACL | ホスト単位のcurl計測 | Git用プロキシまたはSSH |
| CocoaPodsがCDNで停止 | CDN/IPv6 | pod env | プロキシ整合、IPv6黑洞の確認 |
同じホストでOpenClawを常駐させる場合、TLSセッション数がCIと競合します。分離や時間帯ずらしを検討してください。
3. 5ステップ:curlからxcodebuildへ
各ステップで証跡を残し、CIオンボーディングと突き合わせます。
- TLSベースライン:
curl -vI https://github.comと社内Git。失敗ならXcodeに進まない。 - HTTP_PROXY / HTTPS_PROXY / NO_PROXY:RFC1918と社内GitをNO_PROXYへ。ヘアピンを防ぐ。
- Git:
git configのproxy。SSHは22番または443の許可を確認。 - npm系:ミラー利用時は証明書チェーンも検証。CIはプロジェクト
.npmrcで。 - CocoaPods:trunk/CDNと同じ出口に揃える。IPv6が黑洞ならタイムアウトを短く。
- xcodebuild:先に
-resolvePackageDependencies。ログをネットワーク問題と署名問題に分離。
Jenkinsやセルフホストランナーでは、デバッグ用シェルだけでなくサービス定義に同じ変数を入れてください。LaunchDaemonのEnvironmentVariablesが無人ジョブの真実です。
4. 技術パラメータ
① SNI/ALPNを壊すミドルボックスは特定CDNだけ失敗させる。② Git LFSは別ホスト——NO_PROXYへ。③ SwiftPMは並列メタデータ取得で接続表を使い切る見え方になる。④ CocoaPodsのバージョンでCDN経路が変わる。⑤ 監査のため個人トンネルより承認済み明示プロキシを。
⑥ OCSP到達不能だとTLSスタックによって挙動が違う。⑦ トークンローテとFW変更が同時期に起きやすい——切り分けログを混ぜない。⑧ curlログ共有時はトークンをマスクし、ホスト名とTLSエラーコードは残す。
5. 仮トンネルから予測可能な出口へ
ノートPCのSOCKSや一時的なhttp_proxyはビルドを通せますが、担当者の帰宅とともにDNSが変わります。全トラフィックを単一メガプロキシに流すと内蔵Gitも外周に回り、遅延と故障域が拡大します。
汎用Linux VPSはAppleツールチェーン向けのネットワーク説明が薄く、夜間のSwiftビルドと数千HTTPSを想定したサポートRunbookも稀です。長期運用では承認された出口にMacクラウドを置き、環境変数とルートとNO_PROXYで固定するのが筋です。
Xcode CIと混在ワークロードを抱えるチームは、VPSMACのM4 Macクラウドを借り、プロビジョニング時に本稿の検証を組み込むと、ネット仮説をドキュメント化しやすくなります。ネイティブなApple Silicon環境とSSH運用に合わせた自動化向けに、Linux汎用VPSや一時トンネルより再現性が高い選択になります。
6. FAQ
ルートを入れたのにまだ失敗する
Systemキーチェーンの「常に信頼」と、CI実行ユーザのキーチェーンの両方を確認してください。
SwiftPMだけ遅い
多ドメインとCDN、IPv6、allowlistを疑い、時間帯別にDNSをサンプリングしてください。
プロキシを完全オフにできる?
ポリシーとACLが許せば可能です。監査用に許可リストを残してください。