メンバーごとに個別アカウントを作成
メンバーごとにmacOSユーザーを作成し、それぞれ本人の公開鍵だけを登録してください。日常の開発には一般権限を使い、システム全体に関わる変更は指定管理者が行います。
メンバーがチームを離れたら、該当するアクセス権を削除し、ビルドツールに保存されたアクセストークンも確認してください。共有パスワードを変更するだけでは不十分です。
まず接続情報を確認し、鍵認証と初回ビルドを済ませましょう。ノードの受け取り後に必要な手順を順番にまとめています。クラウド上のMacをチームの日々の業務に取り入れる際にお役立てください。
専用物理ノードを1台ご利用いただけます。仮想マシンではなく、macOSのGUIとコマンドラインをどちらも利用できます。
ご注文当日に利用を開始できます。通常の手順は以下のとおりで、所要時間は合計約4分です。決済の確認とノードの状態はコンソールに表示される最新情報をご確認ください。決済後に同じ注文を重複して作成しないでください。
シンガポール、東京、ソウル、香港の4拠点からノードの場所を選び、日・週・月・四半期単位の利用期間を指定します。機種、オプション、期限もあわせてご確認ください。
お支払いはUSDT-TRC20、Visa、Mastercard、Amex(Stripe経由)に対応しています。決済はすべて米ドル建てです。実際に利用できる決済手段は、バックエンドの応答をご確認ください。
物理ノードの割り当てとシステムの準備が完了してから接続してください。決済後もインスタンスの準備が続いている場合は、まず状態を確認しましょう。準備中のノードをネットワーク障害と誤認しないようご注意ください。
コンソールにログインしてインスタンス一覧を開き、今回の注文に該当するノードの詳細を確認します。ホストアドレス、SSHポート、ユーザー名が表示されます。詳細画面の情報を確認し、接続前にノード番号も照合してください。
合計約4分。 決済済みなのに接続情報を確認できない場合は、注文番号と現在の状態を添えてコンソールからチケットを送信してください。接続情報一式、秘密鍵、カード情報を公開ページに記載しないでください。
以下では東京ノードを例に、SSHログイン、SDKの確認、アーカイブ、アップロードのコマンド例を順に紹介します。ホスト名には変数を使っています。ワークスペース、scheme、fastlaneのフロー名は実際のプロジェクトに合わせて変更してください。性能テストや実際の注文ログではありません。
$ ssh -v -i ~/.ssh/minissh_ed25519 -p "$NODE_SSH_PORT" "$NODE_USER@$NODE_HOST"
debug1: Server host key: ssh-ed25519 SHA256:…
debug1: Authentication succeeded (publickey).
Authenticated using publickey.
Welcome to your Mac mini.
$ xcodebuild -showsdks
iOS SDKs:
iOS -sdk iphoneos
$ xcodebuild -workspace App.xcworkspace -scheme App -archivePath build/App.xcarchive archive
** ARCHIVE SUCCEEDED **
$ fastlane upload
Uploading build to App Store Connect
Upload complete
初回のSSH接続では、まず NODE_HOST、NODE_USER 、 NODE_SSH_PORT をノード詳細に表示された値に設定します。初回接続時はホストフィンガープリントを確認してください。確認できない場合は、チケットで照会してから接続し、ホストの本人確認を無視しないでください。
初回ビルドでは、まず xcodebuild -version と xcodebuild -showsdksを実行して、現在のツールチェーンを記録します。プロジェクトの依存関係、署名用ファイル、ビルド設定を準備してからアーカイブを実行してください。fastlane upload は、プロジェクトに対応するフローが定義され、アップロード権限も設定されている場合にのみ使用できます。
どこまで完了したかを確認するには、SSH接続に成功しても、プロジェクトをビルドできるとは限りません。アーカイブに成功しても、アップロードが完了したとは限りません。接続・アーカイブ・アップロードの結果をそれぞれ保存しておけば、問題がどの段階で発生したかを特定しやすくなります。
各メンバーの公開鍵に個別のアクセス権を付与し、秘密鍵をチーム全員で共有しないでください。認証設定を変更するときは現在のセッションを残し、別のターミナルから新しい接続が成功したことを確認してから、元のセッションを終了してください。
ご自身のコンピューターで以下のコマンドを実行し、秘密鍵にパスフレーズを設定してください。アップロードまたは配布できるのは .pub 公開鍵ファイルのみです。拡張子のない秘密鍵は必ずローカルに保管してください。
ssh-keygen -t ed25519 -f ~/.ssh/minissh_ed25519
ノード上の対象ユーザーの ~/.ssh/authorized_keysに公開鍵を追加します。鍵ごとに1行ずつ記載してください。すでに確認済みの接続経由で登録し、ディレクトリとファイルの権限も確認しましょう。
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
別のターミナルを開き、秘密鍵を明示してログインをテストします。想定したユーザーとノードに接続できたことを確認してから、認証設定を変更してください。
管理権限を持つメンバーがSSHサービスの有効な設定を確認し、 PasswordAuthentication と KbdInteractiveAuthentication を noに設定します。変更後は構文と最終的な適用値を確認し、ほかの設定で上書きされていないことを確かめてください。
sudo /usr/sbin/sshd -t
sudo /usr/sbin/sshd -T | grep -E 'passwordauthentication|kbdinteractiveauthentication'
現在のシステムのサービス管理方法に従って設定を反映し、新しい接続で再度テストしてください。設定に不安がある場合は、先にチケットを送信しましょう。唯一利用できるセッションから、いきなり再起動したりリモートログインを無効にしたりしないでください。
ノード上の画面共有サービスとユーザー権限が設定されていることを確認してから、ローカルでSSHトンネルを作成します。この例では、ローカルの 15900 番ポートから、ノードのループバックアドレスの 5900 番ポートへ転送します。ローカルネットワークからアクセスできる状態にはしません。
ssh -N -o ExitOnForwardFailure=yes -L 127.0.0.1:15900:127.0.0.1:5900 -i ~/.ssh/minissh_ed25519 -p "$NODE_SSH_PORT" "$NODE_USER@$NODE_HOST"
続いて、ローカルのデスクトップクライアントから 127.0.0.1:15900に接続します。トンネルのターミナルを閉じると、接続も切断されます。SSH接続はできるのにデスクトップ接続が失敗する場合は、デスクトップ用ポートを直接公開せず、まずノード上の画面共有サービスを確認してください。
専用物理ノードはお客様専用ですが、複数人の作業が自動的に分離されるわけではありません。北米とアジア太平洋地域のメンバーでMac miniサーバーを共有する場合は、まずアカウントを分け、次にビルド時間を調整し、最後に引き継ぎ内容を記録しましょう。
メンバーごとにmacOSユーザーを作成し、それぞれ本人の公開鍵だけを登録してください。日常の開発には一般権限を使い、システム全体に関わる変更は指定管理者が行います。
メンバーがチームを離れたら、該当するアクセス権を削除し、ビルドツールに保存されたアクセストークンも確認してください。共有パスワードを変更するだけでは不十分です。
ビルド時間の基準となるタイムゾーンを決めてください。アジア太平洋地域のメンバーがアーカイブを始める前に、北米の同僚の作業が続いていないかを確認しましょう。大規模なアーカイブ、依存関係のインストール、システム更新が同時に重ならないよう調整してください。
プロジェクトと出力のディレクトリはユーザーまたはブランチごとに分け、複数のメンバーが同じビルド成果物を削除しないようにしましょう。
引き継ぎ前に、コードのバージョン、Xcodeのバージョン、実行コマンド、終了結果を記録してください。ツールチェーンを変更する場合は、次のタイムゾーンのメンバーに事前に知らせましょう。引き継ぎ後に環境が変わっていると気づく事態を防げます。
時差をまたぐデスクトップ操作の使い勝手は各自のネットワーク環境に左右されます。時間のかかる処理はSSHで実行し、後から確認できるビルドログを残しましょう。
常時稼働する作業と一時的な作業は分けて計画できます。ノードの追加契約は独立したレンタルとなり、元のノードのコード、依存関係、鍵、ビルド成果物は自動で引き継がれません。先に環境を準備してから、作業を振り分けてください。
注文ページからノードを1台追加し、作業期間に合わせて日・週・月・四半期単位で選びます。機種はMiniSSH M4 Core(M4 / 16GB RAM / 256GB SSD)とMiniSSH M4 Plus(M4 / 24GB RAM / 512GB SSD)の2種類です。価格とオプションの詳細はプランページでご確認ください。
プロジェクトに必要なコードと依存関係を同期し、新しいノードに個別のアクセス権を設定します。まず再現可能なビルドを1回実行し、成果物を取り出せることを確認してから、ほかのブランチや複数のタスクを移してください。唯一のバックアップを一時ノードに置かないでください。
コンソールで一時ノードの期限を確認し、更新しないでください。自動更新の設定がある場合は、無効になっていることを確認しましょう。期限を迎えると利用は停止し、停止料金はかかりません。期限前に成果物とログをエクスポートし、アクセストークンを無効化してください。ノードの回収後にファイルを探す事態を防げます。
ノードは365日、年間を通して稼働しています。問題が発生したら、コンソールからチケットを送信し、同じチケットに進捗を追記してください。状況を再現しにくくなるため、何度も再インストールしたり設定を繰り返し変更したり、再決済したりしないでください。
| 状況 | まず確認すること | チケットに記載する情報 |
|---|---|---|
| SSHで接続できない | ノードの準備が完了しているか、アドレス・ポート・ユーザー名が詳細画面と一致しているかを確認します。タイムアウト、接続拒否、認証失敗のどれに該当するか確認し、エラーの種類を記録してください。 | ノード番号、所在地、問題が発生した時刻とタイムゾーン、接続元のネットワーク、機密情報を削除したSSHエラー出力 |
| ビルドが停止または失敗する | ディスク容量、同じノードで実行中のほかのタスク、直近でツールチェーンや依存関係を変更したかを確認してください。ログが増えていないだけなのか、プロセスが実際に終了したのかも切り分けましょう。 | 実行コマンド、Xcodeのバージョン、開始時刻、直近のログ、終了コード、安定して再現できるかどうか |
| システムを再インストールしたい | コード、ビルド成果物、必要な設定を先にバックアップし、維持する環境と再準備する環境を記録してください。再インストールすると、ノード内の既存データに影響します。 | ノード番号、再インストールの理由、バックアップの完了状況、操作可能な時間帯。チケットで対応範囲を確認してから手配してください。 |
| 決済や更新について確認したい | 該当する注文と請求の状態を確認し、どのノードの操作なのかを特定してください。別の注文に重複して支払わないようご注意ください。 | 注文番号。USDT-TRC20での支払いは取引ハッシュを、Stripeのカード決済は注文番号と画面に表示されたエラーを添えてください。カード番号全桁は送信しないでください。 |
時刻にはタイムゾーンを明記してください。「現地時間14:30、UTC+8」のように書くと、「午後から接続できない」とだけ伝えるより確認しやすくなります。アジア太平洋地域と北米にチームがまたがる場合は、連絡のつきやすい時間帯もお知らせください。
進捗は元のチケットで確認できます。コンソールにログインしてチケット一覧を開き、該当する記録から返信を確認し、必要な情報を追加してください。ログインできない場合は、 support@minissh.com宛てに、アカウントのメールアドレスと該当する注文番号を記載してメールを送ってください。パスワードや秘密鍵は送信しないでください。
詳しく知りたい場合は、技術記事一覧から以下のトピックをお探しください。このページのコマンドは操作の順序を示すものです。プロジェクトのディレクトリ、権限、ツールのバージョンはご利用の環境に合わせて確認してください。
アカウントの分離、プロジェクトディレクトリ、依存関係の準備、時差をまたぐ引き継ぎを解説します。再現可能な開発環境を整えてから、ほかのメンバーを参加させましょう。
公開鍵認証、パスワード認証の変更、ローカルポート転送を解説します。セキュリティ設定を変更するときは、検証済みの接続を必ず1つ残してください。
SDKの確認、archiveのパラメーター、fastlaneのフローを解説します。アーカイブとアップロードを個別に確認し、1回の成功だけで処理全体が安定したと判断しないでください。
1日単位で利用でき、料金は$20.8/日から。すでにノードをお持ちの場合はコンソールで接続情報をご確認ください。これから注文する場合は、プロジェクトの期間に合わせてノードをお選びください。