リモートMac接続ガイド

アクセス情報の受け取りから、最初のビルドを安定して実行するまで

このページでは、リモートデスクトップ、SSH、コードリポジトリ、セルフホステッドRunner、ファイル転送を実際の接続順に説明します。まずノードと認証情報を確認し、問題が起きたら症状ごとに切り分けます。強制電源断を通常の解決策にしないでください。

標準準備時間
約4分
利用可能な接続
リモートデスクトップとSSH
ノードの種類
専有物理マシン(仮想マシンではありません)
SESSION HANDOFF リモートセッション接続票
確認済み
注文とノード コンソール記録と完全一致を確認
  1. 01
    アクセス情報を確認

    アクセス先、アカウント名、一時認証情報、ノードコードが同じ注文に紐づいていることを確認します。

    確認
  2. 02
    最初のセッションを確立

    まず1つのクライアントだけで接続し、複数端末の同時接続や古いキャッシュの影響を切り分けます。

    接続
  3. 03
    一時認証情報を更新

    初回ログイン後すぐに更新し、新しい認証情報をチームで承認された安全な保管ツールに保存します。

    更新
  4. 04
    開発経路を有効化

    SSH公開鍵を登録し、Xcodeコマンドラインツールを確認してから、自動化用Runnerを登録します。

    準備完了
接続を開始

4項目を確認してからクライアントを開く

注文通知メールとコンソールには同じ納品情報が表示されます。接続前に注文番号、ノードコード、アクセス先、アカウント名を確認してください。内容が一致しない場合は古いアドレスを繰り返し試さず、コンソールからチケットを送信します。

初回接続チェックリスト

アクセス情報が同じ物理ノードに対応していること

アクセス先
注文情報に記載された完全なホストアドレスを使用し、チャット履歴や古いプロジェクト文書から過去のアドレスをコピーしないでください。
アカウント名
アカウント名では大文字小文字と記号が区別されます。貼り付け後、前後に空白がないか確認してください。
一時認証情報
初回ログイン専用です。接続後すぐに更新し、リポジトリ、ビルドログ、チーム共有文書に記載しないでください。
ノードコード
ノードコードは接続経路の特定とサポート依頼に使用します。アカウント名とは異なるため、パスワード欄には入力しないでください。
リモートデスクトップ

VNCとシステムレベルのリモートアクセスを用途で選ぶ

完全なGUI、Xcodeプロジェクト操作、クリエイティブソフトにはリモートデスクトップを使用します。スクリプト実行、ビルド状態の確認、小規模なファイル転送だけならSSHを優先してください。不要なGUIセッションを減らすと、低速なネットワークでの操作負荷を抑えられます。

リモートMacの接続方式と設定比較
接続方式 適した作業 接続前の準備 クライアント設定 セッション終了
VNCリモートデスクトップ Xcode GUI、シミュレータ確認、Logic Pro、Final Cut Pro、通常のデスクトップ操作 アクセス先、ポート、アカウント名、現在の認証情報を確認し、同じアカウントの重複セッションを閉じる まず自動画質とシステム解像度を使用し、低速時は色深度とフレームレートを段階的に下げる プロジェクトを保存してアプリを終了し、システムセッションから正常にログアウトする。ファイル書き込み中のタスクを直接終了しない
macOSシステムレベルのリモートアクセス チームで統一したクライアント、固定解像度の作業環境、長時間のデスクトップ作業 クライアントが対象プロトコルに対応していることを確認し、必要なネットワークポートをローカルファイアウォールで許可する ホスト名には納品されたアドレスを入力し、アカウント名はそのまま使用する。初回接続時にホストの確認情報を確認する エクスポート、圧縮、同期を停止してからログアウトする。クライアントウィンドウを閉じるだけではバックグラウンドプロセスは終了しない
SSHコマンドライン リポジトリ操作、ビルドスクリプト、Runner管理、ログ確認、自動化タスク 公開鍵を登録し、秘密鍵が管理下の端末だけに保存されていることを確認して、ノードのホストフィンガープリントを記録する ユーザー名、ホストアドレス、ポートを明示する。自動化スクリプトには適切なタイムアウトと終了コードの確認を設定する 対話セッションを終了する前にフォアグラウンドタスクの完了を確認する。長時間タスクは管理対象プロセスまたはRunnerに任せる

セッション終了の順序:ファイルを保存し、書き込みタスクを停止し、アプリを終了して、デスクトップセッションからログアウトします。バックグラウンドビルドを続ける場合は、開いたままのデスクトップウィンドウではなく、Runnerまたは管理対象プロセスに引き継がせます。

開発経路

対話ログインと自動化権限を分離する

個人のリモートデスクトップアカウント、SSHキー、CI/CD Runnerで同じ長期認証情報を共有しないでください。権限を分けると、ビルド失敗の原因を特定しやすく、メンバー変更時もアクセスを個別に取り消せます。

  1. 01

    SSH公開鍵を登録

    管理下の作業端末で新しい鍵を生成するか既存の鍵を選び、公開鍵を対象アカウントの認証済みキー一覧に登録します。秘密鍵をノードにアップロードしたり、メールやチケットに貼り付けたりしないでください。

    ssh -i ~/.ssh/team_build user@assigned-host
  2. 02

    リポジトリを取得して権限範囲を確認

    現在のリポジトリだけを対象にするアクセストークンまたはデプロイキーを優先します。初回取得後にリモートアドレスを確認し、機密パラメータを含むURLをシェル履歴やビルド出力に残さないでください。

    git clone <repository-url>
    git remote -v
  3. 03

    Xcodeコマンドラインツールを確認

    現在のツールチェーンのパスとバージョンがプロジェクト要件を満たすことを確認します。バージョンを切り替えたら再確認し、チーム文書の想定値だけでなく、ビルドスクリプトから実際に使用したツールチェーンを出力させます。

    xcode-select -p
    xcodebuild -version
    swift --version
  4. 04

    セルフホステッドRunnerを登録

    チップ、ノード、タスク種別など、分かりやすいRunnerラベルを付けます。1台あたりの同時実行数を制限し、作業ディレクトリにクリーンアップポリシーを設定して、メンバーの離脱やプロジェクト終了後に登録トークンを取り消します。

    ./config.sh --labels apple-silicon,macos,build
    ./run.sh
ファイルと成果物

見える操作はデスクトップで、定型処理は回収可能に

プロジェクトファイル、キャッシュ、ビルド成果物は用途別に異なるディレクトリへ保存します。ワークスペースと一時キャッシュを混在させると、容量不足の判断が難しくなり、クリーンアップ時にプロジェクトファイルを誤削除するリスクも高まります。

デスクトップ作業

手動確認と少量の転送に適する

  • 小さなファイルが多いプロジェクトディレクトリは、アップロード前に圧縮して、リモートファイルマネージャーで個別処理する待ち時間を減らします。
  • 解凍後にディレクトリ権限を確認し、現在のアカウントに作業ディレクトリの読み取り・書き込み権限があることを確認します。
  • 動画、音声、大容量素材はまずプロキシファイルを生成し、デスクトップセッションは人の判断が必要な工程だけに使います。
  • エクスポート完了後、ファイルサイズとチェックサムを確認してからノード上の一時コピーを削除します。
自動化タスク

反復ビルドと大容量成果物の転送に適する

  • タスクごとに独立した作業ディレクトリを作成し、終了後は終了ステータスに応じてログを残すか、一時ファイルをすべて削除します。
  • キャッシュディレクトリには容量上限とクリーンアップ周期を設定し、ディスク使用量の無制限な増加を前提にしないでください。
  • 大容量成果物は再試行可能な転送を使用し、転送後にチェックサムを検証します。接続が途切れても完全なビルドを最初からやり直さないでください。
  • ログには問題の特定に必要な情報だけを残し、トークン、パスワード、完全な環境変数、未加工の業務データを出力しないでください。
クリーンアップ前 作業、キャッシュ、成果物の各ディレクトリの境界を確認
転送中 終了コード、再試行回数、チェックサムを保持
転送後 リモートコピーを検証してからノードの一時ファイルを削除
セッションのトラブルシューティング

まず現象を記録し、変更は1つだけにする

ネットワーク、クライアント、認証情報、ノード設定を同時に変更しないでください。各回で1項目だけ変更し、時刻、エラー内容、結果を記録します。そうすればチケット送信時に、サポート担当者が確認済みの手順から続けられます。

CONNECTION

接続できない

まずローカルネットワークから他のHTTPSサービスにアクセスできることを確認し、次にホストアドレスとポートを確認します。プロキシや企業ネットワークポリシーを一時的に無効にして比較テストを行い、クライアントが古いセッションキャッシュを使い続けていないことを確認してください。

タイムアウトまたは接続拒否を記録
DISPLAY

画面の遅延または入力のもたつき

解像度、色深度、フレームレートを下げ、大容量アップロードを一時停止して、有線と無線の結果を比較します。SSHが正常でデスクトップだけ遅い場合は、グラフィックエンコードとクライアント設定を優先的に確認してください。

ネットワークと画質設定を記録
CREDENTIAL

認証情報が無効

アカウント名の大文字小文字と貼り付け時の空白を確認し、初回納品時の一時値を使い続けていないか確認します。短時間に繰り返し試行せず、コンソールで注文状態を確認してチケットを送信し、サポート担当者にアカウント状態を確認してもらいます。

完全な認証情報を送信しない
STORAGE

ディスク容量不足

ワークスペース、ビルドキャッシュ、シミュレータデータ、アーカイブ、ダウンロードの各ディレクトリを個別に確認します。保持する成果物を先に移動し、再生成可能なキャッシュを削除してください。出所不明のシステムディレクトリを直接削除しないでください。

クリーンアップ前後の容量を記録
BUILD

ビルドプロセスが中断

終了コードと失敗した手順を保持し、Runnerサービス、ツールチェーンのパス、空き容量、リポジトリ権限を確認します。同じコミットで最小タスクを1回再実行してから、環境の問題かプロジェクトスクリプトの問題かを判断します。

最後の脱敏済みログを添付
再起動と運用の境界

通常の再起動を優先し、強制電源断は応答しないノードに限る

すべてのノードは365日、年間を通じて正常に稼働します。システム更新、プロジェクト依存関係の変更、ユーザーによる再起動は、チームがタスク状況に応じて実施してください。ノードが完全に応答しなくなった場合は、サポート担当者がノードを確認します。

自分で対応可能

リモートで正常に再起動

Runnerが新しいタスクを受け付けないようにし、書き込み完了を待ってデスクトップ上のプロジェクトを保存し、macOSから正常に再起動します。再接続後、時刻、ネットワーク、ディスク、ビルドサービスを確認してください。

まずノードを確認

セッションは切断されたがホストには到達できる

SSHに接続できる場合は、電源を直接切らないでください。リモートデスクトッププロセス、ディスク容量、システム負荷を確認し、最後に正常終了したセッションの時刻を記録します。

担当者の支援が必要

デスクトップとSSHの両方に接続できない

注文番号、ノードコード、発生時刻、ネットワーク比較結果を送信します。サポート担当者がまずノードの電源、ネットワーク、システム状態を確認し、復旧操作が必要か判断します。

再起動や強制電源断を繰り返さないでください。

ファイルシステムへの書き込み中、ビルド成果物のアーカイブ中、キャッシュデータベースの更新中に電源断を繰り返すと、問題が拡大する可能性があります。操作のたびに状態が戻るまで待ち、操作時刻を記録してください。

サポート依頼を送信

再現可能な情報からチケットを始める

コンソールのチケットは注文済みの接続、ノード、請求に関する問題に適しています。メールは未注文の構成相談に適しています。どちらの経路でも、秘密鍵、完全なアクセス認証情報、未加工の業務データを送信しないでください。

最低限必要な情報

  • 注文番号:対応する専有物理ノードを特定するために使用します。
  • ノードコード:コンソールに表示されたとおりに入力します。
  • 発生時刻:タイムゾーンと最後に正常だった時刻を記載します。
  • クライアント環境:OS、クライアント名、バージョン、ネットワーク種別。
  • 再現手順:クライアントを開いてエラーを確認するまでの最短手順。
  • 脱敏済みログ:エラーコードとコンテキストを残し、パスワード、トークン、秘密鍵、業務内容を削除します。
サポートメール support@vmoak.com
専有Apple Silicon物理ノード

ビルド、自動化、リモート制作に適したクラウドMacを選ぶ

2つの構成、6つのノード、すべての期間料金を公開しています。注文前に、タスクのメモリ、ストレージ増量、接続地域を基準に選択できます。