実行可能なトラブルシューティング手順

まず障害のレイヤーを特定し、ノードを変更する

1件のレンタルにつき、Apple Silicon専用物理ノードを1台利用できます。接続に問題がある場合は、まずコンソールの状態を確認し、ローカルネットワーク、認証、システムサービス、タスクプロセスを順に調べてください。情報が不十分なままツールチェーンを何度も再インストールするのは避けましょう。

5段階チェック 状態、ネットワーク、認証、サービス、プロセス
2つの窓口 セルフチェックとコンソールからの依頼
365日稼働 ノードは通年継続して稼働
初回接続

接続前に4項目を確認

チャット履歴や古いドキュメントからアドレスや認証情報をコピーしないでください。ノードの状態、接続先、アカウント情報、アクセス制御は、現在の注文についてコンソールに表示される情報を基準にします。

01

ノードの状態を確認

注文に対応する物理ノードが接続可能な状態になっていることを確認します。状態が更新中の場合は、注文IDを控えてコンソールの次の案内を待ち、重複注文を繰り返し作成しないでください。

  • 注文IDと選択したモデルが一致している
  • リージョンが実際のワークフローの目的に合っている
  • 接続情報がすべて表示されている
02

アドレスとポートを確認

ホストアドレスとポートを1文字ずつ確認し、スペース、全角記号、古いノード情報が混入していないことを確かめます。社内ネットワークから接続する場合は、出口ポリシーで対象ポートが許可されていることも確認してください。

  • 現在の接続情報を直接コピーする
  • ネットワークタイムアウトと認証拒否を区別する
  • 公開ページに実際のアドレスを貼り付けない
03

アカウントと認証情報を確認

注文に割り当てられたアカウント情報を使用し、秘密鍵は現在のユーザーだけが読み取れる権限に設定します。パスワード、秘密鍵、署名証明書を通常のメール本文や公開リポジトリに記載しないでください。

  • ユーザー名が対象ノードと一致している
  • 秘密鍵ファイルの権限がSSHの要件を満たしている
  • 古い認証情報を自動化変数から削除している
04

適切な接続方法を選ぶ

コマンドライン、コード同期、自動化タスクにはSSHを優先し、macOSのGUIを確認するときは注文で提供されたリモート接続方式を使用します。

  • SSHはスクリプト、Git、Runner管理に適している
  • GUI接続はXcodeの画面確認に適している
  • 両方で問題がある場合は、まずネットワーク経路を比較する
SSH接続

タイムアウト、フィンガープリント、認証エラーを分けて対処

SSHのエラーは異なる段階で発生します。接続タイムアウトは通常ネットワーク経路を示し、ホストフィンガープリントの変更があった場合はまずノードの身元を確認します。認証に失敗する場合は、ユーザー名、鍵の形式、ファイル権限を確認してください。

接続確認シート 実際の認証情報は含めない
鍵を準備

秘密鍵の読み取り権限を制限

秘密鍵は管理されたディレクトリに保存し、プロジェクトリポジトリには入れないでください。権限が広すぎると、SSHクライアントはそのファイルの使用を拒否します。

chmod 600 ~/.ssh/mangovm_node
ssh -i ~/.ssh/mangovm_node -p <PORT> <USER>@<HOST>
初回接続

ホストフィンガープリントを個別に確認

初回接続時に表示されるフィンガープリントを、コンソールに表示された情報と照合します。確認できない場合は接続を停止してサポート依頼を送り、警告をそのまま無視しないでください。

セッションを維持

長時間タスクをローカル端末から切り離す

ビルド、アーカイブ、依存関係のインストールは、Runner、launchd、または信頼できるセッション管理ツールで実行します。重要なタスクをノートPCの1回限りのSSHセッションだけにぶら下げないでください。

Permission denied

ユーザー名、秘密鍵のパス、秘密鍵の権限、鍵が現在のノードに対応しているかを順に確認します。ネットワーク接続済みで認証に失敗している場合、先にノードを再起動する必要はありません。

認証概要を添えてサポート依頼を送信

Connection timed out

まず信頼できる別のネットワークで再テストし、対象ポート、クライアントのパブリック出口、開始時刻と終了時刻を記録します。タイムアウトは鍵の内容とは無関係です。鍵を何度も交換してネットワークの問題を隠さないでください。

診断ツリーに沿って確認を続ける
CI/CD連携

Runnerを常駐させつつ、タスクの同時実行には上限を設ける

固定物理ノードはツールチェーンとプロジェクトキャッシュの維持に適しています。安定性を支えるのは、明確な同時実行数の上限、分離された作業ディレクトリ、追跡可能なログ、タスク終了後のクリーンアップです。バックグラウンドプロセスを増やし続けることではありません。

登録

専用Runner IDを使用

プロジェクトまたは組織ごとに独立したRunnerを作成し、チップ、ツールチェーン、用途が分かるタグを付けます。登録トークンは管理された環境でのみ使用し、完了後は一時コマンドとログから削除してください。

推奨タグ
macos, arm64, m4
作業ディレクトリ
プロジェクトごとに独立したパスを使用
同時実行

まずは単一タスクの同時実行から始める

大規模なXcodeビルド、シミュレータテスト、アーカイブは、CPU、メモリ、ディスクを同時に消費することがあります。まず単一タスクの同時実行に設定し、ピークを観察してから実際のログに基づいて段階的に調整します。

開始方針
Runner 1台、同時実行1件
拡張の判断基準
キュー待ち時間とリソースのピーク
資料

署名関連情報を保護

署名証明書、鍵、アクセストークンは、管理された変数またはノードの権限分離を使用し、リポジトリ、ビルド成果物、ダウンロード可能なログに書き込まないでください。タスク終了後は一時ファイルを削除します。

ログのルール
トークンと機密パスを非表示にする
終了時のルール
一時アクセスを無効化してクリーンアップする
記録

再現可能なログを保持

コミットバージョン、Xcodeバージョン、SDK、依存関係ロックファイル、開始時刻、終了コード、主要エラーを記録します。サポート依頼には、機密情報をマスクした該当タスクのログ断片だけを添付してください。

最小限の項目
バージョン、時刻、タスク、終了コード
保持の目的
同じビルドを再現できること
macOS運用

アップデート前にツールチェーンの復旧方法を確認

MangoVMのノードは365日通常稼働します。macOSと開発ツールのアップデートは、業務の低負荷な時間帯を選んで実施してください。変更前に、データバックアップ、互換性確認、復旧用の準備を完了します。

準備

スナップショット形式のバックアップを作成

プロジェクト、依存関係ロックファイル、ビルド設定、重要なログ、保持が必要なローカルデータを同じ時点でエクスポートし、バックアップ範囲と検証結果を記録します。バックアップはノードのローカルディスクから分離してください。

検証

互換性チェックリストを作成

対象のmacOS、Xcode、SDK、パッケージマネージャー、Runner、プロジェクトスクリプトを項目ごとに確認します。まず重要度の低いタスクで、コンパイル、テスト、アーカイブ、アップロード前の検証を完了してください。

実行

書き込みを伴うタスクを一時停止

新しいビルドがキューに入らないようにし、アーカイブ、キャッシュ削除、依存関係更新によるディスク書き込みが行われていないことを確認します。開始時刻、実行者、変更前のバージョンを記録してください。

復旧

先に失敗条件を定義

重要なプロジェクトをコンパイルできない、Runnerを登録できない、主要な依存関係に互換性がない場合は、変更を続けずにログを保持し、事前に記録した復旧手順に従ってデータとツールチェーンを戻します。

アップデート前後に必ず確認するツールチェーン項目
確認対象 アップデート前の記録 アップデート後の検証 異常時に保持するもの
XcodeとSDK 現在のバージョン、プロジェクトターゲット、コマンドラインツールのパス コンパイル、ユニットテスト、アーカイブ バージョン出力と最初の失敗ログ
依存関係管理 ロックファイル、ミラー設定、キャッシュ範囲 新しいディレクトリで依存関係を復元 ロックファイルと解析エラーの該当箇所
Runnerサービス タグ、同時実行数、作業ディレクトリ、起動方法 再起動後に自動でオンラインになりタスクを取得 サービス状態とタスク終了コード
プロジェクトデータ バックアップ範囲、エクスポート先、検証結果 サンプル読み取りと復元テスト 不足しているパスと直近の正常バージョン
ストレージと連携

容量が正常に表示されても、タスクが正しいパスを使用しているとは限らない

追加ストレージまたはThunderbolt 5連携に問題がある場合は、まず注文の追加項目を確認し、次にシステムでの認識、マウントパス、ディレクトリ権限、タスク設定を確認します。価格と期間はプランページに掲載された正式な項目を基準にします。

追加項目の状態

注文に対象の追加項目が含まれているか、請求期間が一致しているか、コンソールが対応する設定を返しているかを確認します。プロジェクトスクリプトの古いパスだけで判断しないでください。

  • 注文IDと追加項目名を記録する
  • 現在のノードが注文に対応していることを確認する
  • コンソールが返した状態概要を保存する

マウントと権限

システムが対象ボリュームを認識でき、ビルドユーザーが作業ディレクトリに必要な読み書き権限を持っていることを確認します。個別のディレクトリの問題を回避するために、ディスク全体へ過剰な権限を付与しないでください。

  • ボリューム名と実際のマウントパスを確認する
  • Runnerが使用するシステムアカウントを確認する
  • 再起動後もパスが有効であることを確認する

Thunderbolt 5連携

連携する追加項目、ケーブル接続、タスク割り当てを1台ずつ確認します。まず単一の再現可能なタスクで読み書きまたはノード間連携を検証し、その後に一括キューを再開してください。

  • 関係する注文IDを記録する
  • メインタスクと補助タスクの関係を明確にする
  • 失敗した手順とシステムの認識結果を保存する

正式な追加項目を確認してから異常を報告

プランページには、+1TB SSD、+2TB SSD、Thunderbolt 5連携の日額、週額、月額、四半期額が掲載されています。請求に関する問題には、注文IDと選択した期間を併記してください。

追加項目と料金を確認
障害診断ツリー

一度に1つのレイヤーだけを検証し、結果を記録

前のレイヤーを飛ばすと症状が混在します。以下の順序で実行し、各ステップの時刻、結果、変更内容を記録してください。前のレイヤーが正常であることを確認してから、次へ進みます。

  1. 01

    コンソールの状態は接続を許可しているか

    ノードの状態、注文ID、リージョン、接続情報がそろっているかを確認します。情報が更新中の場合はローカルでの認証試行を停止し、現在の状態を記録してください。

    合格条件:状態が正常で、アドレスとアクセス項目がそろっている。
  2. 02

    ローカルネットワークは対象ポートに到達できるか

    別の信頼できるネットワークで再テストし、社内ネットワークの出口、ファイアウォール、プロキシ、ローカルVPNによる経路の違いを切り分けます。テストしたネットワークと発生時刻を記録してください。

    合格条件:対象ポートへの接続を確立でき、タイムアウトしない。
  3. 03

    認証情報は現在のノードに対応しているか

    ユーザー名、鍵のパス、ファイル権限、ホストフィンガープリントを確認します。古いノードのknown_hosts記録や自動化変数を新しい注文へそのまま流用しないでください。

    合格条件:ホストの身元が確認され、認証に成功している。
  4. 04

    システムサービスは想定どおりの状態か

    SSH、Runner、ビルドエージェント、プロジェクトの依存サービスを確認します。サービス状態、直近の終了コード、最後の設定変更を記録し、記録なしに連続再起動しないでください。

    合格条件:対象サービスが稼働し、起動方法が明確である。
  5. 05

    タスクプロセスはリソースや設定によって停止していないか

    同時実行キュー、ディスク容量、作業ディレクトリの権限、依存関係ロック、タスクのタイムアウトを確認します。最初に失敗したステップと、その後の連鎖エラーを分けて記録してください。

    合格条件:最小タスクを再現可能な形で実行でき、終了コードを説明できる。
サポートへのエスカレーション手順

問題ごとに必要最小限の情報を送信

障害のレイヤーに近い情報ほど、サポートチームが再現しやすくなります。すべての窓口には必要な情報だけを提供し、機密情報は安全な提出方法をサポートチームに確認してから送信してください。

一般的な相談

構成、期間、ワークフローの相談

目的のタスク、同時実行規模、希望リージョン、予定レンタル期間、ストレージ要件を説明します。既存の注文に関する相談では注文IDを記載し、ログイン認証情報は送信しないでください。

対象
モデル選定、追加項目、期間、請求内容の説明
準備する情報
ワークロード、同時実行数、リージョン、注文ID
問い合わせ先の振り分けを確認
ノードに接続できない

まずコンソールからサポート依頼を送信

注文ID、リージョン、接続方法、発生時刻、クライアントネットワーク、エラー概要、診断ツリーの最初の5段階の確認結果を提供します。「接続できない」だけでは不十分です。

対象
タイムアウト、認証異常、サービスのオフライン
準備する情報
時間範囲、再現手順、機密情報をマスクしたログ
ノード接続不能のサポート依頼を送信
データセキュリティインシデント

まず影響を抑え、次に範囲を報告

疑わしいタスクを停止し、露出した可能性のある一時アクセスを無効化して、ログとタイムラインを保持します。注文ID、発見方法、影響範囲、実施した対応を記載し、現在も使用できる鍵は送信しないでください。

対象
異常なアクセス、機密情報の露出、疑わしいプロセス
準備する情報
タイムライン、影響の説明、隔離措置
データ保護原則を確認

注文IDと時間範囲を準備してから対応を開始

新しいノードが必要な場合は、そのまま注文手続きへ進みます。既存の注文に問題がある場合は、再現手順と機密情報をマスクしたログを添えて、コンソールからサポート依頼を送信してください。