REMOTE ACCESS / 接続ガイド

デスクトップまたはコマンドラインでクラウドMacに接続

Xcode、システム設定、グラフィカルツールを使う場合は、コンソールからブラウザリモートデスクトップを開きます。ビルド、ファイル同期、自動化タスクにはSSHを使用します。どちらも同じ専用物理マシンに接続するため、ファイル、依存関係、実行環境はそのノードに保持されます。

ノードは365日稼働 専用物理マシン 仮想マシンではありません
NODE / CONNECTED
DISPLAY 1920 × 1080
KEYBOARD Local mapping
$ ssh node-user@$NODE_HOST
Host key verified
macOS session ready
$
Physical node online SSH / DESKTOP

01 / 接続方法を選ぶ

まずタスクに合った接続方法を選ぶ

ブラウザリモートデスクトップとSSHは互いに代替するものではありません。前者は完全なmacOSグラフィカル環境を提供し、後者はスクリプト化しやすく、低帯域幅や長時間実行するタスクに適しています。

比較項目 ブラウザリモートデスクトップ SSH
適したタスク XcodeのGUI操作、システム設定、アプリ画面の確認、キーボードとディスプレイの設定 ビルドスクリプト、Git操作、依存関係のインストール、ログ確認、自動化、大量ファイル処理
操作方法 ブラウザ内にリモートデスクトップを表示し、ローカルのキーボードとポインターで操作 ターミナルのコマンドライン。鍵認証、ターミナルマルチプレクサー、スクリプトと併用可能
開始前の準備 ノードがオンラインで、ブラウザが必要なセッション接続を許可し、ノードのログイン情報を取得済みであること ノードアドレス、ユーザー名、秘密鍵ファイル、初回ホストフィンガープリントの確認
ネットワークの推奨事項 安定した接続を優先。高遅延時は解像度と色品質を下げる 必要帯域幅が小さい。長時間のタスクにはターミナルマルチプレクサーを使い、ログをファイルに保存する
終了方法 作業を保存してからデスクトップセッションを終了するか、リモートビューを閉じる 使用する exit セッションを正常に終了し、書き込み中のタスクを直接中断しない
初回接続では、まずブラウザリモートデスクトップでシステム状態とキーボードレイアウトを確認し、その後SSH鍵を設定することをおすすめします。日常の開発では、GUI操作にデスクトップを使い、ビルドや同期タスクをSSHで実行できます。

02 / グラフィカルインターフェース

コンソールからブラウザリモートデスクトップを開く

通常の手順には、ノード状態の確認、認証情報の照合、セッション確立、ローカル入力の適応が含まれます。デスクトップが表示されない場合は、ログイン要求を連続して再送信しないでください。

  1. 01

    ノード詳細を開く

    コンソールにログインし、インスタンス一覧から対象ノードを見つけます。ノード識別子、リージョン、ステータスが注文内容と一致することを確認し、オンラインになってから接続入口を開きます。複数のクラウドMacをチームで管理している場合は、誤った環境に入らないよう、先にノード識別子を確認してください。

    確認 ノード識別子・リージョン・オンライン状態
  2. 02

    ログイン情報を確認する

    そのノードについてコンソールに表示されたログイン情報を使用し、他のノードの認証情報を使い回さないでください。貼り付け時は前後に空白が入っていないか確認します。チーム内でアクセス権を引き継ぐ場合は、グループチャットやビルドログではなく、管理された認証情報の手順を利用してください。

    確認 ユーザー名・認証情報の範囲・入力時の空白
  3. 03

    デスクトップに入り入力を確認する

    デスクトップの読み込み後、まず機密情報を含まないテキスト欄を開き、英字、数字、記号、Command、Option、日本語と英語の切り替えをテストします。キー入力がローカルキーボードと一致しない場合は、ローカルとリモートのシステムレイアウトを統一してから、証明書やコマンドを入力してください。

    テスト 記号キー・修飾キー・入力方式
  4. 04

    解像度と表示品質を調整する

    テキスト編集やXcodeの操作は、 1920 × 1080 から始められます。画面の遅延が目立つ場合は、まず解像度を下げ、次に色品質を下げます。ネットワークが安定したら一項目ずつ上げ、どの設定が遅延の原因か判断しやすくします。

    開始値 1920 × 1080

画面が空白の場合

現在の接続が完了するまで待ってから、ノード詳細を一度だけ更新します。ブラウザがセッションに必要な機能をブロックしていないことを確認し、拡張機能なしの独立ウィンドウで再テストしてください。

キー配列がずれる場合

押したキー、期待される文字、実際に入力された文字を記録します。まずローカルとリモートのレイアウトを一致させ、次にブラウザがショートカットキーを横取りしていないか確認します。

画面がぼやける場合

ブラウザのズームを標準倍率に戻してから、リモート解像度を合わせます。ブラウザのズーム、システムの拡大率、リモート画質を同時に変更しないでください。

03 / コマンドライン

検証可能なSSHセッションを確立する

SSH接続の前に、アドレス、ユーザー名、秘密鍵の入手元を明確にします。初回に表示されるホストフィンガープリントは、コンソールの記録と照合してください。確認を無条件にスキップしないでください。

専用鍵を作成 LOCAL
ssh-keygen -t ed25519 -f ~/.ssh/mw_node

MacWorkerノード専用の鍵を作成し、ローカル鍵のパスフレーズを設定します。チームで使用中のデフォルト鍵を上書きしないでください。

接続パラメータを設定 LOCAL
export NODE_HOST="コンソールに表示されたノードアドレス"
export NODE_USER="コンソールに表示されたユーザー名"

アドレスとユーザー名は、現在コンソールに表示されている内容を使用します。環境変数は現在のターミナルセッションだけで有効なため、コマンド履歴に接続パラメータが繰り返し残るのを防げます。

初回接続 VERIFY
ssh -i ~/.ssh/mw_node "$NODE_USER@$NODE_HOST"

ターミナルにフィンガープリントが表示されたら操作を停止し、アルゴリズムの種類と完全なフィンガープリントをコンソールの記録と1文字ずつ照合します。完全に一致した場合のみ接続を確認してください。

正常に終了 REMOTE
exit

終了前に、ファイル書き込み、依存関係のインストール、ビルドタスクが完了していることを確認します。長時間のタスクは再開可能なセッションに入れ、単一のターミナルウィンドウの接続維持に依存しないでください。

04 / セキュリティの基本方針

アクセス権をユーザーとノード単位で管理する

専用物理ノードは他のテナントと計算リソースを共有しません。ただしチームでは、鍵、認証情報、メンバー変更、ログイン記録を引き続き管理する必要があります。

1人1つの鍵

複数人で同じ秘密鍵を共有しないでください。個別の鍵ならアクセスしたユーザーを特定しやすく、権限を個別に取り消せるため、1つの漏えいがチーム全体に及ぶリスクを抑えられます。

認証情報の共有を制限する

認証情報をコードリポジトリ、ビルドログ、プロジェクト文書に書き込まないでください。引き継ぎが必要な場合は、チームで承認された管理下の手順を使用し、引き継ぎ後に権限範囲を確認します。

メンバーの権限を速やかに取り消す

メンバーがプロジェクトを離れた、または担当が変わった場合は、その日のうちに該当する公開鍵とコンソールアクセス権を削除し、接触した可能性のある共有認証情報もローテーションします。

ログイン記録を定期確認する

少なくともチームのリリースサイクルごとに、ログイン時刻、接続元、失敗記録を確認します。勤務時間帯や通常の地域と合わない活動を見つけた場合は、まず関連する認証情報を凍結してから調査してください。

メンバー変更ごと 公開鍵とコンソール権限を削除
各リリースサイクル ログイン記録と有効な鍵を確認
異常を発見したら 古い認証情報の使用を停止し、時系列の証拠を保存

05 / ファイル転送

暗号化接続で入力ファイルと成果物を転送する

アップロード前に本当に必要なファイルを確認し、ダウンロード時は対象成果物だけを取得します。依存関係キャッシュ、一時ディレクトリ、過去のアーカイブをプロジェクト全体と一緒に転送することを前提にしないでください。

UPLOAD

ビルドリソースをアップロード

scp -i ~/.ssh/mw_node -r ./BuildInput "$NODE_USER@$NODE_HOST:~/Work/"

明確なディレクトリを一度にアップロードする場合に適しています。転送前にローカルログ、一時成果物、不要な過去ファイルを除外し、保存先に十分なディスク容量があることを確認してください。

DOWNLOAD

ビルド成果物を取得

scp -i ~/.ssh/mw_node "$NODE_USER@$NODE_HOST:~/Work/output.zip" ./Artifacts/

まずノード上で成果物を整理・検証し、単一のアーカイブファイルとしてダウンロードします。完了後にファイルサイズまたはハッシュを比較し、不完全な成果物が後続処理に入らないようにしてください。

大容量ファイルの転送管理

01 まず範囲を絞る

現在のブランチとタスクに必要なリソースだけを同期し、作業ディレクトリ全体をコピーしないでください。

02 次に時間帯を分ける

高遅延ネットワークでは分割して転送し、ローカルネットワークが混雑する時間帯を避けます。

03 最後に検証する

元ファイルを残し、サイズとハッシュが一致することを確認してから中間アーカイブを削除します。

06 / セッション最適化

高遅延時は操作のやり取りを減らす

問題がグラフィック転送とコマンド実行のどちらで発生しているかをまず判断します。リモートデスクトップの遅延は、必ずしもノードの計算性能低下を意味しません。SSHの応答が正常なら、先に画面パラメータを調整してください。

DISPLAY 1920 × 1080

中程度の解像度から始める

まず単一の表示領域と中程度の解像度を維持します。遅延が目立つ場合は一段ずつ下げ、複数のパラメータを同時に変更しないでください。操作が滑らかになってから文字の鮮明さを上げます。

COLOR 段階的に下げる

入力応答を優先する

コード作成やシステム設定の調整では、通常、最高の色品質は必要ありません。画質を下げると画面の更新量を減らせます。視覚確認時のみ一時的に戻してください。

TERMINAL tmux

ネットワーク瞬断からタスクを守る

ビルド、テスト、依存関係の処理をターミナルマルチプレクサーのセッションで実行し、出力をログファイルにも保存します。再接続後にセッションを復元できるため、最初から実行し直す必要がありません。

tmux new -s build
tmux attach -t build
RECOVERY 状態を保存

切断に備えて復旧ポイントを作る

長い処理を繰り返し可能な手順に分割し、出力を固定ディレクトリに保存して、直近の完了段階を記録します。接続が切れたら、まずプロセスと成果物を確認し、同じタスクをすぐ再起動しないでください。

07 / エラー早見表

症状から接続問題の範囲を絞り込む

調査時はノード識別子、発生時刻、タイムゾーン、接続方法、完全なエラー概要を記録します。一度に変更する変数は1つだけにし、どの手順が実際に効果を発揮したか分からなくならないようにしてください。

SSHで認証に失敗すると表示される場合

まずユーザー名と秘密鍵のパスを確認し、次に秘密鍵ファイルの権限と公開鍵が対象ノードに設定されているかを確認します。詳細モードで、クライアントが実際にどの鍵を試したかを確認してください:

ssh -v -i ~/.ssh/mw_node "$NODE_USER@$NODE_HOST"

完全な秘密鍵や機密フィールドを含む詳細ログを他人に送らないでください。サポートチケットには、エラーの段階、アルゴリズム情報、加工済みの概要だけを提供してください。

ブラウザ接続後に画面が空白になる場合

ノードがオンラインであることを確認し、現在のセッションの確立を待ちます。その後、拡張機能なしの独立したブラウザウィンドウで再試行し、ブラウザが必要な機能をブロックしていないか確認します。SSHで接続できてもデスクトップが空白のままなら、ブラウザのバージョン、発生時刻、ノード識別子を記録してサポートチケットを送信してください。

キーボードの記号や修飾キーがずれる場合

機密情報を含まないテキスト欄に、期待される文字と実際の文字を記録し、ローカルとリモートのシステムキーボードレイアウトを確認します。次にCommand、Option、Controlがローカルシステムまたはブラウザのショートカットに横取りされていないか確認します。調整後はキーごとに再テストし、認証情報の入力欄で試行しないでください。

デスクトップまたはSSH接続がタイムアウトする場合

ローカルネットワーク、対象アドレス、ノード状態、クライアント設定の順に確認します。まず既知の安定したローカルネットワークに切り替えて再テストし、その後アドレスが期限切れまたは誤ってコピーされていないか確認します。同じノードへの2つの接続方法がいずれもタイムアウトする場合は、現地時刻、利用ネットワーク、エラーの継続時間を記録してください。

SSHでホストフィンガープリントの変更が表示される場合

直ちに接続を停止し、検証を無効にしたり既知のホスト記録を直接削除したりして警告を回避しないでください。まずノードアドレスが変わっていないか確認し、コンソールで新しいフィンガープリントと変更理由を照合します。検証が完了してから、そのアドレスに対応する古い記録を削除して新しい接続を確立してください。

サポートチケットに必要な最小情報:ノード識別子、問題の発生時刻とタイムゾーン、接続方法、クライアントとバージョン、完全なエラー概要、実施済みの切り分け手順。秘密鍵、パスワード、決済情報、プロジェクトのソースコードは添付しないでください。

READY TO CONNECT

ノードを選択し、コンソールからすぐに接続する

まずノードがオンラインであることを確認し、タスクに応じてブラウザリモートデスクトップを開くかSSHを設定します。GUI操作とコマンドラインを組み合わせる場合は、2種類のセッションから同じ専用物理Macに接続できます。