リモート接続メモ

起動から10分以内に
Macへ接続

まずSSHで接続を確認してから、画面共有を開始しましょう。専有の物理Mac miniで、macOSのGUIとコマンドラインを利用できます。リモートワークやビルド、テストに最適です。

ここでいう10分は、認証情報を受け取り、クライアントとネットワークの準備が整った後の接続目安です。注文後の納品時間を示すものではありません。接続先、ポート、認証方式はコンソールの表示をご確認ください。

接続方法を選ぶ

デスクトップ操作は画面共有、自動化はSSH

日常的な設定にはGUIを、ビルドやログ確認、ファイル転送にはコマンドラインを活用しましょう。2つの接続方法は互いに補完するもので、ビルドのたびにデスクトップを開いたままにする必要はありません。

以下はサービスのデフォルトポートです。実際の接続にはコンソールに表示されたポートをお使いください
接続方法用途必要なポート認証と注意事項
macOSの画面共有Xcodeの設定、シミュレータ操作、GUIの確認、リモートワークVNCのデフォルトはTCP 5900。トンネル接続にはSSHポートも必要発行されたシステムユーザーの認証情報を使用します。デスクトップ接続はSSH公開鍵認証の代わりにはなりません。
サードパーティ製VNCクライアントWindowsまたはLinuxからmacOSのデスクトップに接続VNCのデフォルトはTCP 5900。ローカルトンネル経由の場合は接続先のポートを指定サーバー側の認証方式に対応したクライアントが必要です。互換性の問題を解決するために認証を無効化したり、すべての接続元に公開したりしないでください。
SSHコマンドラインビルド、ログ確認、runnerの登録、SFTPでのファイル転送SSHのデフォルトはTCP 22。外部公開用ポートはコンソールで確認公開鍵認証を推奨します。初回接続時はホストフィンガープリントを確認してから、信頼するか判断してください。

まずポートを確認し、次にクライアントを調べましょう。接続がタイムアウトする場合は、接続先アドレス、送信側の通信ポリシー、接続先ポートから確認してください。認証画面が表示されるなら、通常はネットワーク経路が確立しています。ユーザー名、パスワード、鍵を確認しましょう。

OSに合わせて接続

3種類のOS、共通の確認手順

まずSSH接続を確立し、インスタンスの識別情報と作業ディレクトリを確認してからデスクトップに接続します。以下の手順で、ローカルのファイアウォールを無効にしたり、クラウドMacを不特定の接続元に公開したりする必要はありません。

macOSから接続

  1. 「ターミナル」を開き、コンソールに表示されたユーザー名、アドレス、SSHポートを指定して接続します。初回にフィンガープリントの確認が表示されたら、確認してから進めてください。
  2. デスクトップを使う場合は「画面共有」を開き、インスタンスの画面共有アドレスを入力します。トンネル経由の場合は、ローカルの待ち受けアドレスとポートを指定してください。
  3. システムユーザー名とパスワードを入力します。デスクトップが開いたら、キーボード配列、画面解像度、タイムゾーンを確認してからプロジェクトを開きましょう。
  4. デスクトップ接続を終了する前に、ビルドログが保存されていることを確認してください。画面共有を切断しても、利用契約やバックグラウンドタスクは終了しません。

初回確認:ターミナルでシステム情報を確認でき、Finderが開き、プロジェクトディレクトリに書き込めること。

Windowsから接続

  1. PowerShellでOpenSSHクライアントが利用できるか確認します。会社支給の端末でコンポーネントをインストールできない場合は、まず社内の管理者に確認してください。
  2. SSHコマンドでアドレスとポートを確認します。パスワード入力中に文字が表示されないのは正常です。表示されないからといって、何度も貼り付けないでください。
  3. macOSの画面共有の認証方式に対応したVNCクライアントをインストールし、ホストとポートをそれぞれ入力します。アドレスの指定方法はクライアントによって異なる場合があります。
  4. SSHトンネル経由でのデスクトップ接続をおすすめします。ハンドシェイクに失敗したら、まず認証方式の互換性を確認し、次にサービスの状態を調べてください。パスワードを何度も推測して入力しないでください。

初回確認:SSH接続が確立でき、VNC認証が完了し、ショートカットキーが普段の操作に合っていること。

Linuxから接続

  1. ディストリビューション標準のOpenSSHクライアントを使います。ローカルの鍵のアクセス権を確認し、秘密鍵を他のユーザーが読み取れないようにしてください。
  2. 発行された接続情報を使ってSSH接続します。プロジェクトや成果物の転送には、同じSSH接続先を使ってSFTPを利用できます。
  3. サーバー側の認証方式に対応したVNCクライアントを選び、デスクトップサービスを直接公開せず、SSH転送したローカルポートへの接続を優先してください。
  4. デスクトップに初めて接続したら、クリップボードと入力方式を確認します。ファイルの一括転送にはSFTPを使い、デスクトップのクリップボードをプロジェクトの同期手段にしないでください。

初回確認:鍵認証に成功し、SFTPで対象ディレクトリにアクセスでき、デスクトップの入力と表示が正常であること。

SSH接続とデスクトップ用トンネルのコマンド

まずローカルのターミナルで変数を設定します:SSH_USER はシステムユーザー名、SSH_HOST はインスタンスのアドレス、SSH_PORT はコンソールに表示されたSSHポートです。パスワードをコマンドやスクリプトに書き込まないでください。

ssh -p "$SSH_PORT" "$SSH_USER@$SSH_HOST"

ssh -N -o ExitOnForwardFailure=yes \
  -L 127.0.0.1:15900:127.0.0.1:5900 \
  -p "$SSH_PORT" "$SSH_USER@$SSH_HOST"

2つ目のコマンドは、リモートの画面共有サービスがローカルTCP 5900で待ち受け、SSH転送が許可されている場合にのみ使用できます。ターミナルは起動したままにして、VNCクライアントから次のアドレスに接続します 127.0.0.1:15900。これはローカルポートで、インスタンスの外部公開ポートではありません。すでに使用中の場合は、未使用のローカルポートに変更してください。

操作をスムーズにする

帯域をむやみに増やすより、画面負荷を下げる

リモートデスクトップの使い心地は、往復遅延、パケット損失、画面の変化量、クライアントのエンコード性能に左右されます。以下は初期設定の目安であり、インスタンスの速度測定値や帯域の保証ではありません。ご利用のネットワークで実測してください。

まず低めの解像度で安定した接続を確立し、画質を一つずつ上げましょう
ネットワークと作業内容初期解像度画質と色深度調整方法
モバイル回線または不安定な国際通信1280 × 720まずは自動画質調整を使用します。クライアントが対応していれば16ビットカラーもお試しください。デスクトップの視覚効果を無効にし、大容量ファイルの同期を一時停止して、入力の反応を確認します。
安定したブロードバンド、コードやドキュメントの作業1920 × 1080まず自動画質に設定します。文字が読みづらい場合は、画質を上げてください。一度に変更する設定は1つだけにし、スクロール、ウィンドウのドラッグ、キー入力で比較します。
画面確認や画像編集1920 × 1080以上色の細部を確認する場合は、クライアントの対応状況に応じて24ビット以上の色深度を使用します。拡大率と圧縮による劣化を確認してください。最終的な画質は、書き出したファイルで確認します。

デスクトップは操作用。リアルタイムの音声・映像の確認には不向き

動画プレビュー、素早いアニメーション、高フレームレートの操作では、画面の変化量が増えます。音声・映像素材はリモート環境で変換できますが、完成した動画はローカルにダウンロードして確認してください。リモートデスクトップのコマ落ちを、書き出したファイルの問題と混同しないようにしましょう。

おすすめの順序:解像度を下げる → 自動画質調整を有効にする → パケット損失を確認する → 色深度を調整する。

ビルドや転送はデスクトップを開きっぱなしにしない

長時間のビルドにはrunnerまたは管理可能なバックグラウンドタスクを使い、ログをファイルに保存します。プロジェクトや成果物の転送にはSFTPを利用します。デスクトップ切断後にタスクが続くかは起動方法によるため、ターミナルのコマンドがすべて継続するとは限りません。

継続して作業する場合は、まず一連の作業を最後まで試してから、長期の利用期間を決めましょう。

実機テストの条件

シミュレータが使えても、手元のスマートフォンが認識されるとは限りません

クラウドMacの物理マシンを専有できることと、モバイルデバイスがネットワーク経由で接続できることは別の問題です。Xcode、シミュレータ、ビルドはリモートで実行できますが、手元のiPhoneやiPadを接続するには、デバイスのペアリング、信頼設定、ネットワーク上での検出が必要です。

方法1:まずリモートのシミュレータで検証

クラウドMacでプロジェクトを開き、Xcode、SDK、プロジェクト設定の整合性を確認してから、シミュレータで画面、ロジック、基本的な回帰テストを実行します。コンパイル環境や実行環境の問題を先に切り分けるのに適しています。

シミュレータでは、実機のカメラ、センサー、モバイル通信、性能、温度制御を再現できません。これらの確認が必要な場合は、別途実機テストを手配してください。

成果物:再現可能なビルド記録、テストログ、シミュレータの実行結果。

方法2:デバイスのネットワークデバッグ条件を確認

ネットワーク経由でデバッグするには通常、デバイスと対象のMacをあらかじめ正しくペアリングし、対応するXcodeとOSのバージョン要件を満たす必要があります。また、デバイスとMacが相互に検出できるか、検証済みのネットワーク経路で通信できる必要があります。

SSHトンネルだけでは、デバイスの検出、初回ペアリング、信頼設定の問題は解決しません。外部からアドレスにアクセスできても、ワイヤレスで実機デバッグできるとは限りません。

ご利用前に、ペアリング方法、ネットワーク構成、デバイスのOSバージョン、必要な操作権限をご確認ください。

リモートデバイスの接続には個別の検証が必要です。USB転送などのリモートデバイス接続は、プロトコルの互換性、ドライバー、デバイスの再接続、ネットワーク品質に左右されます。標準の提供機能には含まれず、スマートフォンも付属しません。手元のデバイスをクラウド上のXcodeに接続する必要がある場合は、デバイスのモデル、OSバージョン、ペアリング方法、テスト目的をチームにお知らせください。実現可能性を確認してから作業を進めます。アプリのインストール用パッケージを検証するだけなら、署名済みの成果物をテスターに渡し、ローカルの実機でテストできます。リモートデバッグ接続を常時維持する必要はありません。

接続できたら、次は

アクセスを保護してから、コードと鍵を配置

専有の物理マシンにより、他の利用者とコンピューティングリソースを共有せずに利用できます。ただし、アカウントのセキュリティ対策は別途必要です。以下の3項目を済ませてから、ビルド証明書、業務コード、自動化用の認証情報を配置しましょう。

  1. 公開鍵認証を有効にする

    信頼できるローカル端末で鍵を生成し、公開鍵をリモート側の該当ユーザーの認証済み鍵ファイルに登録します。秘密鍵はローカルに保管し、マシンやチケットにアップロードしないでください。新しいターミナルから公開鍵でログインできることを確認し、復旧用に元のセッションを残してから、パスワード認証の設定を変更します。

  2. 発行されたパスワードを変更する

    初回ログイン後にシステムパスワードを変更し、信頼できるパスワード管理ツールに保存します。runnerの設定、コマンド履歴、プロジェクトのリポジトリにパスワードを書き込まないでください。チームで使う場合は、アクセスを追跡できる個別の認証情報を割り当て、同じ認証情報を長期間共有しないようにしましょう。

  3. 必要なポートだけを許可する

    実際に使うSSHとデスクトップの接続経路だけを残し、トンネルを使える場合は優先してください。ファイアウォールやアクセスルールを変更する前に、現在の管理用接続を確認し、元に戻す方法を用意します。接続の問題を調べるために、すべての保護機能を一度に無効にしないでください。

問題が起きたら、チケットに記載する情報

インスタンスID、クライアントのOSとバージョン、接続方法、発生日時とタイムゾーン、エラーの全文、「タイムアウト/接続拒否/認証失敗」のどれに該当するかをお知らせください。機密情報を隠したスクリーンショットは添付できますが、パスワード、秘密鍵、認証情報一式は添付しないでください。

接続前チェック

4つの準備が整ってから初回ログイン

順番に確認しましょう。不足があれば先に補い、何度も接続を試して時間を無駄にしないでください。企業ネットワークで必要な送信接続が許可されていない場合は、先にアクセス許可を申請してください。

  • 認証情報を保存済み
    インスタンスのアドレス、システムユーザー名、認証情報、実際のポートをコンソールで確認し、安全な場所に保存しました。
  • クライアントをインストール済み
    コマンドラインでSSHを実行でき、GUIが必要な場合は、互換性のある画面共有またはVNCクライアントを用意しました。
  • 公開鍵を登録して確認済み
    公開鍵認証を使う場合は、正しいユーザーに公開鍵を登録し、新しいセッションで接続できることを確認しました。秘密鍵はローカルに保管しています。
  • ローカルネットワークの送信ポートを確認済み
    実際のSSHポートを確認しました。デスクトップに直接接続する場合はVNCポートも確認し、トンネルを使う場合はローカルの待ち受けポートを確認しました。

初回接続を確認したら、クライアントのバージョン、接続方法、有効だった設定を記録しましょう。チームの次のメンバーは手順を再利用できますが、個人の秘密鍵やパスワードをそのまま共有してはいけません。

接続方法を確認してから、作業を移行しましょう。

まずデスクトップ、コマンドライン、実際の作業を確認してください。利用を始める場合は、作業内容に合ったプランを選択します。すでにインスタンスをお持ちの場合は、コンソールで認証情報をご確認ください。