納品から開発開始まで

マシンに接続できないときは、
まずここを確認

専用クラウドMacの接続と開発環境に関するガイドです。まずコンソールに表示された納品情報を確認し、ツールチェーンとタスク設定をチェックしてください。ご利用のノードは仮想マシンではなく専用物理マシンです。GUIとコマンドラインの両方を利用できます。

ご注文済みの場合はインスタンスの詳細をご確認ください。ホストアドレス、ユーザー名、ポート、現在の納品状況は、コンソールの最新情報をご確認ください。

初回接続

接続情報を確認して接続方法を選ぶ

リモートデスクトップは、システムの確認やXcodeの設定、GUIでのデバッグに便利です。SSHはコードの取得、ビルドの実行、ログの確認に適しています。どちらも同じマシンに接続するため、プロジェクトを2つ複製する必要はありません。

GUI

画面共有 / VNC

コンソールのインスタンス詳細で、リモートデスクトップのアドレスと認証情報を確認してください。macOSでは「画面共有」を利用できます。それ以外のOSでは、VNC対応クライアントをお使いください。SSHのパスワードと専用のVNC認証情報を混同しないでください。

  1. ホストアドレス、リモートデスクトップのポート、ユーザー名をコピーし、余分な空白がないか確認します。
  2. クライアントにアドレスとポートを入力します。VNCの標準的なポートは 5900ですが、実際のポートはコンソールに表示された値を入力してください。
  3. 納品時の案内に従って認証します。認証エラーが表示された場合は、ユーザー名と認証情報の種類を確認してから再試行してください。
  4. デスクトップに接続したら、初期システムパスワードを変更してください。専用のリモートデスクトップ認証情報を使用する場合は、インスタンスの案内に従って更新し、安全に保管してください。

デスクトップの動作が遅い場合は、画質を下げ、不要なアニメーションをオフにしてください。SSH接続も維持しておくと、ネットワークの問題とGUIセッションの問題を切り分けやすくなります。

コマンドライン

SSH

システムのターミナル、または信頼できるSSHクライアントを使用してください。SSHの標準的なポートは 22です。納品情報に別のポートが記載されている場合は、接続コマンドに対応する -p オプションを指定してください。

  1. インスタンスの詳細でホストアドレス、SSHポート、ユーザー名を確認し、推測したデフォルトアカウントは使用しないでください。
  2. 次のコマンドで ssh -p PORT USER@HOST 接続します。大文字の項目は納品情報の値に置き換えてください。
  3. 初回接続時にホストフィンガープリントの確認が表示されたら、信頼できるインスタンス情報と照合してください。フィンガープリントが突然変わった場合は接続を中止し、お問い合わせください。
  4. 初回ログイン後、 passwd を実行して初期パスワードを変更し、ご自身のSSH公開鍵を設定してください。

公開鍵でログインできることを確認してから、パスワード認証の設定を変更してください。作業前にログイン済みのセッションを残し、マシンに接続できなくなる事態を防ぎましょう。

エラー内容から原因を確認し、むやみにマシンをリセットしない
症状 まず確認すること お問い合わせ時に添える情報
接続がタイムアウトする インスタンスの納品が完了しているか、アドレスとポートが正しいか、利用中のネットワークやファイアウォールで外向き接続が許可されているかを確認します。別のネットワークでも比較してください。 ノード、マシン番号、接続方法、エラー発生日時とタイムゾーン。
認証に失敗する ユーザー名が正しいか、認証情報の種類を間違えていないか、パスワードを変更済みかを確認します。ログやスクリーンショットにパスワードを載せないでください。 エラー全文、使用したクライアントと認証方式。パスワードや秘密鍵は添付しないでください。
SSHは接続できるが、デスクトップが真っ暗 GUIセッションを終了して再接続し、クライアントの互換性を確認してください。実行中のビルドやテストは、まず終了しないでください。 クライアントのバージョン、画面が真っ暗な状態のスクリーンショット、SSHの接続状況、最近変更したシステム設定。
ホストフィンガープリントが変わった マシンの交換やシステムのリセットが確認済みか調べてください。確認が取れるまでは、ローカルのフィンガープリント情報を削除しないでください。 以前と現在のフィンガープリント、マシン番号、直近の納品通知。
初日の準備

約4分で開発開始に必要な基本項目を確認

以下は環境の納品が完了し、小規模なリポジトリを問題なくダウンロードできる場合の目安です。大規模プロジェクトのダウンロード、Xcodeのインストール、依存関係のビルド時間は含みません。まず確認してから作業し、安全設定を省いて時間を短縮することは避けてください。

  1. 01

    パスワード変更とファイアウォールの確認

    約1分

    初期パスワードを変更し、認証情報を保管します。macOSのファイアウォールルールを有効化または確認し、現在使用しているリモート接続サービスが許可されていることを確認してください。接続を確認せずに、すべての接続口を一度に閉じないでください。

  2. 02

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

    約2分

    GUIでXcodeのバージョンを確認してから、 xcode-select -p と xcodebuild -versionを実行します。プロジェクトで特定のバージョンが必要な場合は、対応するツールチェーンに切り替えてからビルドしてください。

  3. 03

    リポジトリを取得して小規模なタスクを実行

    約1分

    必要最小限の権限を持つ認証情報を設定してコードを取得します。まず小規模なビルドやテストを実行し、依存関係、パス、書き込み権限を確認してから、パイプライン全体を開始してください。

確認完了の目安:再ログインできる、ツールチェーンのバージョンがプロジェクトの要件を満たしている、コードを読み取れる、ビルド出力先に書き込める。どれか一つでも満たさない場合は、次に進まずその項目を解決してください。

移行とCI

データ、ツールチェーン、タスクの順に移行

移行を3段階に分けると、問題の原因を特定しやすくなります。ローカルキャッシュ、旧アーキテクチャ向けのバイナリ依存関係、使用中の署名認証情報をまとめて移行しないでください。マシンには安定した開発環境を維持できますが、タスクの権限はご自身で設定してください。

01 / DATA

データ

rsyncまたは外部クラウドストレージを使って、プロジェクトとリソースを移行します。まず移行先の空き容量を確認し、プロジェクト、素材、アーカイブを分けてコピーしてください。再生成できるビルド成果物やキャッシュは、最初に移行する必要はありません。

rsyncの初回実行では、 --dry-run を付けてプレビューすることをおすすめします。コピー元パスの末尾にスラッシュがあるかどうかで、コピー後のディレクトリ構造が変わる点に注意してください。移行先の内容を確認するまでは、移行先ファイルを削除するオプションを使わないでください。

完了の目安:プロジェクトのディレクトリ構造が保たれ、重要なリソースを読み取れ、ファイル数またはチェックサムが想定どおりであること。

02 / TOOLS

ツールチェーン

Homebrew、Xcode、SDK、プロジェクトの依存関係のバージョンを確認してください。Apple SiliconでHomebrewを使う場合、一般的なパスは /opt/homebrewです。ローカルマシンの絶対パスをそのまま使わないでください。

プロジェクトのロックファイルを使って依存関係を再構築します。署名証明書、対応する秘密鍵、プロビジョニングプロファイルは個別に確認してください。GUIで利用できるからといって、GUIを使わないCIプロセスにも署名権限があるとは限りません。

完了の目安:バージョン確認コマンドが正常に動作し、ローカル環境でビルドが成功し、証明書とプロビジョニングプロファイルがプロジェクトに適合していること。

03 / CI

CI設定

GitHub ActionsまたはGitLab Runnerのセルフホスト実行環境を登録します。専用のシステムユーザーと最小権限のトークンを使用し、実行環境のラベルをプロジェクトのタスクに正しく対応付けてください。

まず、コードを読み取るだけで署名を行わない検証タスクを実行し、その後にテストとリリースを接続します。実行プロセスのPATH、作業ディレクトリ、キーチェーンへのアクセス権を確認してください。対話型ターミナルでの確認だけで済ませないでください。

完了の目安:タスクが実行環境に割り当てられ、ログが記録され、実行環境の再起動後も想定どおりに接続できること。

実行環境がアクセスできるリポジトリのコードには、その実行環境もアクセスできます。信頼できないソースのタスクとリリース署名を同じ実行環境で処理しないでください。複数人で作業する場合も、同じシステムアカウントを共有する必要はありません。

Xcodeと署名

マシン上の証明書だけでなく、プロセスの権限も確認

署名エラーが発生したら、証明書、秘密鍵、プロビジョニングプロファイル、プロセスの権限を確認してください。同じファイルを何度も読み込んだり、秘密鍵をリポジトリやお問い合わせの添付ファイルに入れたりしないでください。

証明書を読み込んでも署名IDが見つからないのはなぜ?

まずキーチェーンアクセスで、証明書に対応する秘密鍵があるか確認してください。証明書ファイルだけでは署名できません。秘密鍵を含む書き出しファイルを使う場合は、書き出し時のパスワードと読み込み先のキーチェーンを確認し、証明書の有効期限も確認してください。

続いて、 security find-identity -v -p codesigning を実行して、現在のユーザーが利用できる署名IDを確認します。コマンドの結果とGUIの表示が一致しない場合は、すぐにマシンを変更するのではなく、実行ユーザーとキーチェーン検索リストを確認してください。

証明書は使えるのに、ビルドでプロビジョニングプロファイルの不一致が表示されるのはなぜ?

プロジェクトのBundle Identifier、チームID、ビルド種別、プロビジョニングプロファイルの有効期限を確認してください。開発・テスト用とリリース用では、異なるプロビジョニングプロファイルを使う場合があります。デバイスでテストする場合は、対象デバイスが該当する設定に含まれていることも確認してください。

まず、明確なビルド設定を一つ選んで検証してください。複数のTargetがあるプロジェクトでは、署名設定を一つずつ確認し、メインアプリと拡張機能で異なるチームや期限切れのファイルが使われていないか確認します。

ターミナルでは署名できるのに、CIで失敗するのはなぜ?

CIは別のユーザーや異なる環境変数、GUIのないセッションで実行されている場合があります。実際に使われるキーチェーンのロックが解除されているか、署名IDが含まれているか、署名ツールに秘密鍵へのアクセスが許可されているか確認してください。

必要な認証情報は、CIの保護されたシークレット設定に保存し、スクリプト本文には記載しないでください。まず実行環境のユーザーで最小限の署名テストを行い、失敗した段階を記録します。お問い合わせには、機密情報を伏せたエラーのみを添付し、キーチェーンのパスワード、書き出しパスワード、秘密鍵は送らないでください。

複数人で1台の物理マシンを使う場合、権限をどう分ける?

メンバーごとにシステムユーザーを作成し、役割に応じてディレクトリとキーチェーンの権限を設定してください。自動化タスクには専用の実行ユーザーを使います。引き継ぎ時には誰がGUIセッションを使っているかを明確にし、他の人のビルド中にツールチェーンを切り替えたり、共有ディレクトリを削除したりしないでください。

こうした対策で誤操作を減らせますが、同じマシンを使うユーザー間ではCPU、メモリ、ディスクを共有します。強い分離が必要なプロジェクト、信頼できないタスク、安定した並列リリースには、ノードを分けてください。

パフォーマンスとディスク

ボトルネックを特定してから対策を選ぶ

コンパイルが遅い原因は、必ずしもチップとは限りません。まずアクティビティモニタでメモリプレッシャーとCPUを確認し、次にディスク容量、依存関係のダウンロード、同時に実行中のタスク数を調べてください。同じプロジェクトとビルド設定で比較しましょう。

シミュレータとビルドキャッシュでディスクがいっぱい。何から削除する?

まず df -h を実行して空き容量を確認し、Xcodeで使っていないシミュレータランタイムとビルドアーカイブを調べてください。DerivedDataは再生成できますが、削除後の初回ビルドではキャッシュの再構築が必要です。作業中のプロジェクトは、タスクを一時停止してから整理してください。

次のコマンドで xcrun simctl list devices デバイスを確認できます。不要であることを確認したら、 xcrun simctl delete unavailable を実行して利用できないデバイスを削除します。デバイスを削除すると、シミュレータ内のテストデータも失われる場合があります。重要なデータは事前に書き出してください。

+1TB SSDと+2TB SSD、どちらを選ぶ?

プロジェクト、複数のシミュレータランタイム、コンテナイメージ、素材を長期保存する必要があり、再生成可能なキャッシュを整理してもディスク容量が継続的に不足する場合は、容量の追加を検討してください。+1TB SSDは$2.2/日、+2TB SSDは$4.4/日です。その他の利用期間の料金は、注文時の構成画面でご確認ください。

ディスクの追加で解決できるのは容量の問題であり、メモリ不足は解消されません。複数のタスクを同時に実行し、メモリプレッシャーが高い状態が続く場合は、同時実行数を減らすか、上位プランをご検討ください。

ビルドや推論の用途に合うプランは?

Hold 16はM4、メモリ16GB、SSD 256GBで、軽量なビルドや単一プロジェクトのCIに適しています。Hold 24はM4、メモリ24GB、SSD 512GBで、日常的なXcode開発、複数のシミュレータ、UIテストに余裕を持たせたい場合に適しています。

Hold Pro 64はM4 Pro、メモリ64GB、SSD 2TBで、大規模プロジェクトやMLXの実験に適しています。モデルを実行できるかどうかは、モデルのサイズ、量子化方式、コンテキスト長によって異なります。機種名だけで判断せず、実際の環境でご確認ください。

Thunderbolt 5による複数台接続はどんな用途に向いている?

複数のノードを利用しており、ソフトウェアのワークフローがマシン間の連携に対応している場合に適しています。追加料金は1台あたり$1.5/日です。設定前に、対象ノード数、データのやり取り方法、アプリケーションの要件をお知らせください。サポートが適用条件を確認します。

複数台を接続しても、1台の大容量メモリ搭載Macになるわけではなく、一般的なビルドタスクが自動的に分割されるわけでもありません。アプリケーションが連携に対応していることを確認してから設定してください。

料金と更新

更新前に注文内容と利用期間を確認

日、週、月、四半期単位でご利用いただけます。料金はすべて米ドルです。注文内容、有効期限、追加オプション、支払い状況はコンソールでご確認ください。支払い後は、クライアントの表示だけで更新完了と判断しないでください。

有効期限と更新状況はどこで確認できる?

コンソールにログインし、該当するサブスクリプションの有効期限、請求情報、更新手続きへのリンクを確認してください。アカウントのメールアドレスにも期限のお知らせが届くため、メールを受信できることをご確認ください。通知時期は実際の通知内容に従ってください。通知1回だけを頼りに、期限直前の更新を予定しないでください。

支払い後、元のサブスクリプションに戻り、新しい有効期限を確認してください。請求が支払い済みなのに有効期限が更新されていない場合は、請求番号と支払い記録を添えてお問い合わせください。同じ請求を重複して支払わないでください。

更新後に接続情報は変わる?

同じインスタンスを通常どおり更新する場合は、インスタンス詳細に表示されている現在の接続情報を引き続きご利用ください。更新によってシステムがリセットされることはありません。マシン交換、再構築、その他の納品内容の変更があった場合は、コンソールに表示される新しい接続情報とサービス通知をご確認ください。

利用を停止し、回収手続きに入った場合、更新をデータ復旧の手段として使うことはできません。期限前にプロジェクト、証明書のバックアップ、再生成できないリソースを書き出してください。回収後にディスクが消去されると、新たに注文しても取り消すことはできません。

利用できる支払い方法は?

お支払い方法はUSDT-TRC20とVisa / Mastercard / Amex(Stripe)のみです。すべて米ドル(USD)で決済されます。実際に利用できる決済方法は、バックエンドから返される情報をご確認ください。

USDT-TRC20で支払う場合は、決済画面のネットワーク、アドレス、金額を一つずつ確認してください。カードで支払う場合は、決済ゲートウェイの案内に従って認証を完了してください。支払いについてお問い合わせの際は、トランザクションハッシュまたは請求番号をご用意ください。カード番号全桁、セキュリティコード、ウォレットの秘密鍵は送らないでください。

プラン変更や追加ディスクの調整には、新しく注文すればよい?

現在のインスタンス番号、希望する構成、タスクを一時停止できる時間を記録し、コンソールからお問い合わせください。移行の要否、現在の接続情報を維持できるか、変更が有効になるタイミングは、作業前にご確認ください。

追加ディスクにはデータが保存されるため、解約前にデータを移行し、アプリケーションの設定も確認してください。変更が即時に完了する、すべてのデータが自動的に維持される、自動的に返金されるとは限りません。注文条件と確認結果に従って処理されます。

解決しない場合は、状況を整理してお問い合わせください

ご利用中のインスタンスについては、コンソールからお問い合わせください。マシン番号、ノード、エラー発生日時とタイムゾーン、最後に正常に利用できた時刻、すでに試した手順を記載してください。機密情報を伏せたログを添えると、「接続できない」とだけ伝えるより原因を特定しやすくなります。

返信状況はコンソールのお問い合わせ履歴で確認できます。対応時間は問題の内容や調査範囲によって異なり、一定の分数での返信はお約束できません。購入前のご相談、チーム構成、ログインできない場合のお問い合わせは、support@vpshold.comまでご連絡ください。