注文ステータス、ノードリージョン、マシン名、契約期間が一致していることを確認します。
ホストアドレス、ユーザー名、仮パスワードをコピーし、関係者以外に転送しないでください。
初回接続後にパスワードを更新し、チームで使用するSSH公開鍵を追加します。
macOS、Xcode、ディスク容量、ネットワーク接続の結果を記録します。
まずコンソールでノードと接続情報を確認し、SSHまたはVNCで初回セッションを確立します。移行、ビルド、MLXサービスで問題が起きたら、本ページの順序に沿って原因を絞り込みましょう。
注文ステータス、ノードリージョン、マシン名、契約期間が一致していることを確認します。
ホストアドレス、ユーザー名、仮パスワードをコピーし、関係者以外に転送しないでください。
初回接続後にパスワードを更新し、チームで使用するSSH公開鍵を追加します。
macOS、Xcode、ディスク容量、ネットワーク接続の結果を記録します。
いきなりリポジトリを移行したり、大量の依存関係をインストールしたりしないでください。まず4項目を確認し、マシンの識別、接続方法、認証情報の更新が正常に行えることを確認します。
コンソールにログインし、注文番号、ノードリージョン、マシン名、契約期間、接続情報を確認します。ノードと注文が一致しない場合は作業を止め、誤ったマシンへファイルを移行しないようにします。
コマンドライン設定、自動化、ログ確認にはSSHを優先します。グラフィカルインターフェース、Xcode設定、デスクトップ操作が必要な場合はVNCを使用します。初回接続では両方を一度ずつ確認することをおすすめします。
マシンに入ったらすぐに仮パスワードを更新し、チームで承認されたSSH公開鍵を認証済みリストに登録します。鍵はメンバーごとに分け、プロジェクトを離れる際は個別に無効化します。
ツールをインストールする前に、システムバージョン、Xcodeのパス、空きディスク容量、基本的なネットワーク結果を記録します。後のトラブルはこのベースラインと直接比較できます。
sw_vers システムバージョンを確認xcode-select -p ツールチェーンのパスを確認df -h ディスク容量を確認移行の順序がトラブルシューティングのコストを左右します。まず検証可能なデータを移し、次に固定バージョンのツールチェーンを復元し、最後にCIまたはself-hosted runnerを接続します。
まずGitでコードリポジトリを取得します。大容量モデル、ビルドキャッシュ、成果物は個別に同期し、転送後にファイルサイズまたはチェックサムを確認します。
プロジェクトで必要なXcode、コマンドラインツール、Ruby、Node.js、CocoaPodsのバージョンを確認します。まず最小構成でビルドし、その後に依存関係のキャッシュを復元します。
runnerの作業、キャッシュ、ログ用ディレクトリを分けます。初回タスクは並列実行せず、取得、ビルド、テスト、アーカイブ各段階の出力を確認します。
以下はトラブルシューティングの順序を示す記録で、プロジェクト固有の認証情報は含みません。まずリモートセッションを確認し、次にXcodeビルドを実行し、最後に自動化ツールが成功ステータスを返すか確認します。
$ ssh vmkeep@203.0.113.24
vmkeep-m4-plus
region
JP
shell
/bin/zsh
$ xcodebuild -workspace Client.xcworkspace -scheme Client -configuration Release build
[1/4] パッケージ依存関係を解決
[2/4] ソースとリソースをコンパイル
[3/4] ユニットテストを実行
[4/4] ビルド成果物をアーカイブ
$ bundle exec fastlane ios build
exit=0 · archive=Client.xcarchive · duration=08m23s
いずれかの手順が失敗した場合は、失敗したコマンドの前後少なくとも30行の出力、終了コード、Xcodeバージョン、発生時刻を保存します。問い合わせ前に、トークン、秘密鍵、署名素材の原文を削除してください。
継続的なビルドの問題は、実行ユーザー、ディレクトリ権限、バージョンのずれ、キャッシュの汚染に起因することが多くあります。正式なパイプラインの初回実行前に、次の5項目を決めておきましょう。
専用の実行ユーザーでself-hosted runnerを登録し、ビルド種別ごとに分かりやすいタグを設定します。サービス再起動後もrunnerが自動的にオンラインへ復帰することを確認します。
ソースのチェックアウト、一時ビルド、アーカイブ成果物、タスクログを別々のディレクトリに配置し、失敗したタスクのファイルが次回実行に影響しないようにします。
キャッシュキーには少なくとも依存関係のロックファイル、Xcodeバージョン、アーキテクチャ情報を含めます。原因不明のコンパイルエラーが出たら、まず空のキャッシュで再実行します。
署名ファイル、パスワード、トークンはタスク実行時だけ注入し、リポジトリ、通常のログ、長期共有ディレクトリには保存しません。タスク終了後に一時コピーを削除します。
まずネットワーク取得、依存関係の解決、コンパイル、テストの失敗を区別します。タスクがべき等であることを確認してから、該当段階の自動再試行を有効にします。
| 段階 | 優先して確認 | 保存すべき結果 | ログに記録しない情報 |
|---|---|---|---|
| コード取得 | リポジトリ権限、リモートアドレス、ネットワーク名前解決 | コミットハッシュ、ブランチ、失敗したコマンド | アクセストークンの原文 |
| 依存関係のインストール | ロックファイル、ミラー設定、キャッシュキー | ツールバージョン、依存関係の解決結果 | 秘密の認証情報の原文 |
| Xcodeビルド | scheme、SDK、ビルド設定、対象プラットフォーム | 完全なコマンド、終了コード、主要なエラー | 署名パスワード |
| テストとアーカイブ | テストターゲット、タイムアウト、成果物ディレクトリ | テストレポート、アーカイブパス、タスク実行時間 | 署名素材の原ファイル |
まずマシン上でモデルがリクエストを1回完了できることを確認し、次にリスニングアドレスとポートへのアクセスを確認します。モデルの読み込みに成功していない段階で、リモートクライアントを直接調べないでください。
設定内のモデルディレクトリ、重みファイル、読み取り権限を確認します。相対パスはサービスの実際の作業ディレクトリを基準にします。
test -r /srv/models/model && echo readable
まず1件のリクエストでモデルを読み込み、読み込み前後のメモリ変化を記録します。プロセスが終了した場合は、システムログとアプリケーションの終了コードを確認します。
ps -o pid,rss,command -p <PID>
サービスがバインドしているアドレスとポートを確認します。ループバックアドレスのみで待ち受けている場合、リモートクライアントは直接接続できません。
lsof -nP -iTCP:<PORT> -sTCP:LISTEN
クラウドMac内から最小リクエストを送信し、レスポンスステータス、TTFT、合計時間、モデルの返答を記録します。
curl -sS http://127.0.0.1:<PORT>/health
ローカルリクエストが成功したら、認証済みクライアントからリモートアクセスを確認します。クライアント時刻、サービスログ、リクエストIDを比較します。
curl -sS https://<YOUR-ENDPOINT>/health
特定のモデルを実行できるかどうかは、モデル形式、量子化方式、依存関係のバージョン、選択したメモリ構成によって決まります。
TTFTと持続スループットは、同じモデル、パラメータ、同時実行数の条件で比較します。
モデルパスの構成、起動コマンド、プロセスログ、リスニング結果、認証情報を除いた最小リクエストを提出します。
用語を統一すると、チーム内の認識のずれを減らせます。問い合わせ時は、マシン、接続方法、タスクの役割をできるだけ以下の名称で説明してください。
どの問題でも、まず注文とノードを確認し、次にクライアント、ネットワーク、マシン内部の状態を調べます。該当項目を開くと、推奨手順と問い合わせ情報を確認できます。
確認手順:注文とノード情報を確認し、ホストアドレスとユーザー名を再コピーします。入力方式とパスワード文字を確認し、SSHホストフィンガープリントまたはVNCアドレスを照合してから、既知の正常なネットワークで再テストします。
問い合わせ情報:注文番号、ノードリージョン、発生時刻、クライアント名、完全なエラーテキスト、ホストの機密情報を隠した接続コマンド。
確認手順:切断時刻を記録し、ローカルネットワークの安定性をテストします。ルートを書き換える可能性のあるプロキシを無効にして再テストし、SSH keepaliveの設定を確認します。高負荷タスクと同時に起きていないかも確認してください。
問い合わせ情報:切断した時間帯、ネットワーク環境、連続テスト回数、クライアントログ、タスク種別、切断前後のシステム負荷。
確認手順:表示解像度と色品質を下げ、大量の帯域を使う同期タスクを一時停止します。有線と無線ネットワークを比較し、特定の時間帯またはクライアントだけで発生するか確認します。
問い合わせ情報:ノードリージョン、クライアントバージョン、表示解像度、ローカルネットワーク種別、遅延の発生時刻、再現可能な操作手順。
確認手順:実行 df -h でパーティションを確認し、ディレクトリごとにDerivedData、アーカイブ成果物、依存関係キャッシュ、シミュレータデータ、タスクの作業領域を集計します。削除前に成果物がエクスポート済みであることを確認してください。
問い合わせ情報:ディスク使用量の結果、最も増加したディレクトリ、最近実行したタスク、実行済みのクリーンアップコマンド、ストレージ追加オプションの検討要否。
確認手順:実行ユーザー、環境変数、作業ディレクトリ、Xcodeバージョン、依存関係ロックファイル、キャッシュキーを比較します。runnerの実行ユーザーで同じビルドコマンドを手動実行し、最初に差異が現れる位置を特定します。
問い合わせ情報:完全なビルドコマンド、Xcodeバージョン、runnerタグ、失敗時の終了コード、マスキング済みログ、手動実行と自動タスクの差異。
注文済みで稼働中のノードに関する問題は、コンソールから問い合わせるのが優先です。プラン選択、導入範囲、未注文の相談はお問い合わせページからメールでご相談ください。
対象のマシンと契約期間を特定するために使用します。アカウントパスワードは送信しないでください。
シンガポール、日本(東京)、韓国(ソウル)、香港、米国東部のいずれかを明記します。
接続とタスクの記録を照合できるよう、タイムゾーンを含む時間帯を記載します。
終了コードとエラー前後のコンテキストを残し、トークンと機密認証情報を削除します。
初期状態から問題発生までを記載し、各手順の期待結果と実際の結果を明記します。
接続エラー、マシンの状態、ビルド問題、請求や注文との紐付けに関する問題に適しています。問い合わせにはコンテキストが保持されるため、マスキング済みログを追加できます。
構成の選択、チームへの導入範囲、対象ノード、契約期間の相談に適しています。連絡先メールアドレスは support@vmkeep.com です。
3種類のApple Silicon専有物理マシンはすべて非仮想マシンで、日単位、週単位、月単位、四半期単位でレンタルできます。ノードのリアルタイム在庫はコンソールの表示をご確認ください。