他のユーザーのタスクと分離
1台のマシンのリソースを複数ユーザーに分けたり、時間帯ごとに別ユーザーのビルドを実行したりすることはありません。ただし、自分で起動したシミュレーターやインデックス作成、バックグラウンドプロセスとはリソースを共有します。問題の切り分けでは、まずマシンの負荷を確認してください。
物理マシンを専有しても、タスクのリソースが無制限になるわけではありません。
1台のMac miniを1ユーザー専用で提供します。仮想マシンではありません。物理リソースを他のユーザーと分離し、誰がクラウド上の作業環境にアクセスできるかは、鍵認証と最小権限、独立したバックアップであなた自身が管理できます。
このページでは分離と操作の範囲を説明します。専有マシンが自動バックアップを意味するわけではなく、ディスク暗号化がアクセス権限の管理に代わるわけでもありません。
Desk M4は専有物理Mac miniです。M4、16GBメモリ、256GB SSDを搭載。利用期間中、メモリとディスクを他のユーザーに割り当てることはありません。macOSのGUIとコマンドラインを利用でき、プロジェクト、ビルドキャッシュ、署名環境はご自身で管理できます。
1台のマシンのリソースを複数ユーザーに分けたり、時間帯ごとに別ユーザーのビルドを実行したりすることはありません。ただし、自分で起動したシミュレーターやインデックス作成、バックグラウンドプロセスとはリソースを共有します。問題の切り分けでは、まずマシンの負荷を確認してください。
物理マシンを専有しても、タスクのリソースが無制限になるわけではありません。
Xcodeのバージョン、依存関係、証明書、プロビジョニングプロファイルは、ご自身の作業環境に含まれます。アップグレード前にバージョンを記録し、重要な設定を復旧用チェックリストにまとめてください。署名に必要なデータをクラウドの作業ディスクだけに保存しないでください。
環境は再構築できても、重要なデータには別のコピーが必要です。
物理的に分離されていても、ネットワークのアクセス制御は別途必要です。SSH、画面共有、開発サービスを有効にしたら、待受アドレス、認証、接続元の許可範囲を確認してください。外部からアクセスできるサービスは必要なものだけにしましょう。
マシンを専有しても、すべてのポートを開放する必要はありません。
コンソールアカウント、macOSユーザー、SSH秘密鍵は、それぞれ別の認証情報です。コンソールのパスワードをシステムのパスワードと使い回さないでください。共同作業者には各自の鍵を使ってもらい、アクセスを取り消すときは該当する公開鍵を削除します。全員で1つの秘密鍵を共有しないでください。
ご自身のPCで鍵を生成し、パスフレーズを設定してください。アップロードするのは公開鍵ファイルだけです。拡張子のない秘密鍵をアップロードしたり、秘密鍵をコードリポジトリ、チャット、ビルド成果物に保存したりしないでください。
ssh-keygen -t ed25519
コンソールで接続情報を確認し、公開鍵を対象ユーザーのauthorized_keysに追加してください。初回接続時はホストフィンガープリントを確認します。現在の接続を維持したまま、別のターミナルから鍵認証でログインできることを確認してから、認証設定を変更してください。
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
現在のmacOSでSSH設定ファイルとインクルードファイルの場所を確認してから、以下の認証項目を設定してください。構文を検証したうえで、現在のシステムのサービス管理方法に従って設定を反映します。新しい接続でもう一度テストし、成功してから古い接続を終了してください。
PubkeyAuthentication yes
PasswordAuthentication no
KbdInteractiveAuthentication no
sudo /usr/sbin/sshd -t
インスタンスを受け取ったら、まずコンソールに表示された接続ポートとmacOSの実際の待受状態を確認してください。確認できていない提供ルールを、固定の初期設定として案内することはありません。基本方針は、必要な管理用接続だけを残し、使わないサービスを無効にすることです。接続元を制限できる場合は、信頼できるネットワークに絞ってください。
| 接続方法 | 推奨する設定 | 確認する項目 |
|---|---|---|
| SSH | 必要なリモートログインだけを残し、鍵認証を優先してください。 | 接続ポート、許可ユーザー、ホストフィンガープリント、ローカルネットワークからの接続可否。 |
| VNC/画面共有 | SSHトンネル経由でのアクセスを推奨します。インターネットに直接公開しないでください。 | サービスの有効・無効、リモートの待受ポート、直接接続の範囲が実際の必要性に応じて制限されているか。 |
| 開発用プレビュー・デバッグサービス | ローカルのループバックアドレスへのバインドを優先し、一時的に開放した場合は速やかに閉じてください。 | 認証の有無、デバッグ用インターフェースの公開状況、環境変数や機密情報を含むログの出力有無。 |
| その他の受信接続 | 用途が明確でなければ有効にせず、問題の切り分けのために全ポートを開放しないでください。 | 実際に有効なホスト側ファイアウォールと上位ネットワークのルール。片方だけでなく両方を確認してください。 |
以下の例は、リモート側のサービスが5900番ポートで待ち受けている場合に限り利用できます。ユーザー名とIPアドレスはコンソールに表示された値に置き換えてください。サービスポートが異なる場合は、コマンドも合わせて変更します。その後、ローカルのクライアントから127.0.0.1:15900に接続してください。
ssh -N -L 127.0.0.1:15900:127.0.0.1:5900 USER@HOST
トンネルは通信を暗号化しますが、既存のインターネット向け接続を自動で閉じるものではありません。リモート側のアクセス範囲も別途確認してください。リモートデスクトップの利用が終わったら、該当するトンネル接続を終了します。
契約終了後は、システムディスクと割り当て済みの追加SSDを処理します。消去はバックアップではなく、契約期間の延長にもなりません。終了前にプロジェクト、証明書、ビルド成果物、設定のコピーを管理下の保存先に書き出し、コピーを開けることを確認してください。
コンソールに表示された終了日時を基準に、余裕を持ってデータを移行してください。ディスクへの書き込みを続けるRunnerやタスクを停止し、最後の整合性の取れたコピーをエクスポートします。引き続き利用する場合は、コンソールで更新状況を確認してください。
契約終了後も接続できるとは限りません。
サービス終了後、手順に沿って元のユーザー環境を処理し、ディスクを消去して再初期化します。追加SSDも同じクリーンアップの対象です。プロジェクトフォルダーを削除するだけでは、デバイスのクリーンアップを完了したことにはなりません。
対象範囲を確認したい場合は、注文に関するサポート依頼からお問い合わせください。
次の利用者への再提供前に、クリーンアップと環境初期化の確認を行います。コンプライアンス上、消去期限や記録の明示が必要な場合は、機密データを移行する前に注文情報を添えてご相談ください。ご要望に対応できるか確認します。
具体的な期限は、利用規約および注文に関するサポート依頼でご確認ください。
契約終了後のデータ保持期間や、消去後の復元は保証していません。破棄、復元、移行はそれぞれ目的が異なります。作業を始める前に、必要な対応を確認してください。
通常の運用サポートは、お客様のプロジェクトコード、署名証明書、業務ファイルの閲覧を目的としません。デバイスの故障、接続障害、お客様から依頼されたシステム操作、安全上の問題への対応では、調査範囲と想定される影響を明確にします。ユーザー環境へのアクセスが必要な場合は、注文に関するサポート依頼で権限の範囲をご確認ください。
| 状況 | 事前に確認する内容 | ご用意いただく情報 |
|---|---|---|
| 接続できない | インスタンスの状態、ネットワーク接続、必要なサービスの稼働状況。再インストールを前提にしません。 | 注文番号、エラーの該当部分、再現手順をお知らせください。再起動を許可するかもご記載ください。 |
| システム内のトラブルシューティング | 確認が必要なログ、ディレクトリ、アカウント権限、およびタスクが中断する可能性。 | ログの機密情報を削除してください。一時的なアクセスが必要な場合は、権限を限定し、作業後に取り消してください。 |
| 再インストールまたはディスク操作 | 対象デバイス、データへの影響、バックアップの状態、操作範囲。 | 実行してよい破壊的操作を明確に確認してください。「直してください」といった曖昧な依頼は、操作の許可にはなりません。 |
| 異常・セキュリティインシデント | 影響を受けた接続先、制限が必要なアクセス、証拠の保全要件。 | まず漏えいした認証情報を無効化し、必要なログを保存してから、復旧手順を相談してください。 |
サポート依頼やメールにSSH秘密鍵、証明書の秘密鍵、キーチェーンのパスワード、復旧キーを記載しないでください。調査を依頼する場合は、機密情報を伏せてからお送りください。お問い合わせ先は、コンソールのサポート依頼またはsupport@macminivps.comのみです。
セキュリティ設定は一度確認すれば終わりではありません。初回利用、共同作業者の追加、ツールチェーンの更新、契約終了のたびに、以下の項目を確認してください。まず復旧手順を確認してからアクセスを制限し、マシンにログインできなくなる事態を避けましょう。
ディスク暗号化は保存データを保護しますが、再起動後にロック解除が必要となり、リモートサービスが復旧できない場合があります。現在の環境で起動・ロック解除する方法を確認し、復旧キーを別の管理された場所に保管してから、有効にするか判断してください。
必要なデータだけをバックアップし、コピーへのアクセス権限を制限してください。キーチェーンのコピーとパスワードを、同じプロジェクトフォルダーやビルド成果物に保存しないでください。バックアップ後は実際に使えるか確認します。
パスワードで保護されたファイルとしてエクスポートし、有効期限、用途、復旧に必要なデータを確認してください。証明書ファイルがあっても、利用可能な秘密鍵が含まれているとは限りません。管理された環境で読み込みと署名の手順を検証してください。
Runnerには専用のIDを使用し、トークンの対象を必要なプロジェクトと操作に限定してください。ログに環境変数を出力しないようにします。共同作業者の離脱後やタスクの終了後は、不要になった公開鍵とトークンを失効させてください。
コードは管理下のリポジトリにコミットし、大容量の素材やビルド成果物は別途バックアップしてください。Xcodeのバージョン、依存関係、ビルドコマンドも記録します。キャッシュは再作成できますが、署名データや未コミットのコードはキャッシュから復元できません。
データの移行後、CI Runnerを登録解除し、一時トークンを失効させ、不要なサーバー側の権限を削除してください。ローカルのプロジェクトフォルダーを空にするだけで、外部システムからこの作業環境への信頼が残らないようにしましょう。
専有物理Macをご希望の場合は、プランをお選びください。機密性の高い署名データやチームのセキュリティ要件については、サポート依頼でアクセス、復旧、消去の範囲を事前にご確認ください。