エンジニア向け運用ガイド

クラウドMacを納品状態から安定稼働へ

概念の説明からではなく、注文内容とノード情報の確認から始めましょう。アクセス情報、Xcode、CI、MLX推論環境を設定します。各セクションで確認手順、完了条件、保存すべき診断情報を紹介します。

提供形態
専有物理マシン(仮想マシンではありません)
初期設定の目安
約4分
稼働範囲
365日安定稼働
ノード運用チェック 初回設定チェックリスト
4項目を確認
01
注文内容とノード 機種・リージョン・利用期間・オプションを照合
確認
02
アクセス情報 初回接続後すぐに更新して安全に保管
更新
03
開発ツールチェーン macOS、Xcode、CLIツールのバージョンを確認
検証
04
ネットワークと作業ディレクトリ 接続、空き容量、作業ディレクトリの権限を確認
準備完了
完了条件 接続・ビルド・再現ができる
目的から探す

6つのガイドから、今の課題を見つける

初回利用なら順番に進めてください。既存環境で問題が起きた場合は該当項目を開き、コマンド出力、発生時刻、直近の変更内容を記録しましょう。

初回設定

4分で完了する初期設定

注文内容を確認した時点から計測します。利用可能な状態はコンソールの最新情報で確認してください。必要な情報がそろっていない場合は、次の手順に進まないでください。

  1. 01
    注文内容を確認 約45秒

    機種、ノードのリージョン、利用期間、オプションが予定どおりか確認します。標準構成はM4、16GB、256GB。大容量メモリ構成はM4 Pro、64GB、2TBです。内容が違う場合は作業を止め、サポートに連絡してください。

    • 注文番号とノードのリージョンを記録します。
    • ストレージ拡張とThunderbolt 5接続の必要性を確認します。
  2. 02
    ノード情報を受け取る 約2分

    自動割り当てとシステムチェックの完了を待ち、コンソールでノードのアドレスと接続情報を確認します。接続情報を公開チャンネルに転送したり、平文の認証情報をコードリポジトリに保存したりしないでください。

    • アドレスと注文に記載されたリージョンが一致するか確認します。
    • 初期情報はチームで承認された認証情報管理ツールに保存します。
  3. 03
    アクセス情報を更新 約1分

    初回接続後すぐに認証情報を更新し、自動化ジョブには専用の鍵を設定します。対話型アカウントとCI実行アカウントを分け、スクリプトに不要なシステム権限を与えないようにしましょう。

    • 初期パスワードを変更し、新しい認証情報で接続できることを確認します。
    • SSH接続用の鍵を用意し、ホストフィンガープリントを確認します。
  4. 04
    システムとネットワークを検証 約15秒

    macOSとXcodeのバージョンを記録し、デフォルトルート、名前解決、空きディスク容量、作業ディレクトリへの書き込み権限を確認します。最後に小規模なビルドまたは推論リクエストを実行し、結果を検証できることを確認します。

開発環境

Xcodeと署名環境の基準を整える

再現性のあるビルドには、明確なバージョン、アクセス可能なキーチェーン、一貫したCLIツールが欠かせません。GUIでプロジェクトを開けるだけで、CLIの確認を済ませたことにしないでください。

設定手順

  1. 01
    Xcodeのバージョンを確認

    完全なバージョン番号とビルド番号を記録し、プロジェクトで必要なSDK、シミュレーターランタイム、最小OSバージョンがそろっているか確認します。

  2. 02
    証明書とプロビジョニングプロファイルを読み込む

    現在のプロジェクトに必要なものだけを読み込みます。後から担当者が変わっても出所が分かるよう、プロジェクト名と用途を付けて命名しましょう。

  3. 03
    キーチェーンの権限を確認

    実行対象のアカウントで秘密鍵を読み取れるか確認します。自動ビルドでは、キューが権限確認画面で止まらないよう、先に非対話型の署名テストを実行しましょう。

  4. 04
    CLIツールを選択

    選択中の開発者ディレクトリが想定したXcodeを指しているか確認し、結果をプロジェクトの環境記録に残します。バージョンを切り替えたら、依存関係と署名を再確認してください。

  5. 05
    初回ビルドを検証

    古い成果物を削除してから、テスト、アーカイブ、署名検証を実行します。コマンド、終了コード、ログの保存先、最終成果物のチェックサムを記録してください。

継続的インテグレーション

実行環境を一時フォルダーではなく固定リソースとして扱う

専有物理マシンではハードウェアを固定できますが、キャッシュの汚染、過剰な同時実行、ログ不足でジョブが失敗することはあります。導入前にディレクトリ構成とクリーンアップの担当を決めましょう。

01

セルフホスト型ランナーをインストール

ランナー専用のシステムアカウントとサービスディレクトリを用意し、ビルドに必要な権限だけを付与します。登録後は署名なしの小さなジョブを実行し、キュー、ネットワーク、終了状態を確認しましょう。

完了条件:再起動後に自動でジョブを受け付ける
02

作業ディレクトリを設計

ソースのチェックアウト、依存関係のキャッシュ、一時ビルド、アーカイブ成果物、長期保存ログを分けます。ジョブ終了時に削除するのは一時ディレクトリだけにし、次のジョブが使う共有キャッシュを誤って消さないようにしましょう。

完了条件:ディレクトリの所有者と削除ルールが明確
03

同時実行数を制限

まず単一ジョブでメモリ、ディスク、所要時間の基準を取り、段階的に同時実行数を増やします。XcodeビルドとMLX推論を並行する場合は、メモリ使用量のピークとディスク書き込みを別々に監視してください。

完了条件:ピーク時もスワップや容量不足が発生しない
04

失敗の証跡を残す

失敗したジョブでは、ジョブID、コミット、ランナーのバージョン、開始時刻、終了コード、重要なログ、成果物のパスを保存します。ログをアップロードする前に、トークンや署名情報を削除してください。

完了条件:別のメンバーが単独で再現できる
キャッシュの削除範囲

プロジェクト、ブランチ、ツールのバージョンごとにキャッシュキーを設定しましょう。容量管理の代わりに定期的な全削除を行わないでください。削除前に、実行中のビルドやアーカイブがないことを確認します。

AI・MLX

負荷テスト・監視・復旧ができる推論サービス

まず単一リクエストを通し、コンテキスト長と同時実行数を段階的に増やします。モデル、実行環境、サービスログを分離し、依存関係の更新でモデルファイルまで壊れないようにしましょう。

MLXサービスの設定 単一リクエストで基準を取る
Apple Silicon
環境の分離
サービスごとに独立したPython環境を使い、依存関係のバージョンを固定してインストール内容を保存します。
モデルの保存先
モデルファイルはソースコードと分け、モデル名、量子化形式、チェックサム、使用容量を記録します。
待ち受け範囲
必要なインターフェースとアドレスだけで待ち受け、デバッグ用エンドポイントを無関係なネットワークに公開しないでください。
同時実行の負荷テスト
同時リクエスト数を1、2、4と順に増やし、最初のトークンまでの時間、全体の所要時間、失敗率、メモリ使用量のピークを記録します。
メモリ監視
モデルの常駐分、コンテキストの増加分、リクエストキャッシュを分けて把握し、安定稼働の上限に近づく前に負荷の追加を止めます。
再起動の設定
起動コマンド、作業ディレクトリ、環境変数、ログのパスをサービス設定に記載し、異常終了後に復旧できるか確認します。
容量と接続

プロジェクト名で推測せず、実際の使用量からストレージを選ぶ

ソース、依存関係、モデル、ビルド成果物、ログ、一時ファイルの最大使用量を合計し、削除やロールバック用の空き容量も確保します。標準SSD容量は選択した機種によって異なります。

ArmMesh M4

標準SSD 256GB

コードのチェックアウト、一般的な依存関係キャッシュ、単一プロジェクトのビルド、短期のリリース作業に適しています。大規模モデル、複数バージョンのXcodeランタイム、大量の動画素材を扱う場合は、ピーク使用量を先に見積もりましょう。

ArmMesh M4 Pro

標準SSD 2TB

大規模なモデルリポジトリ、長期のビルドキャッシュ、複数プロジェクトの並行作業、音声・動画の書き出しに適しています。容量が固定でも整理は必要です。ログと成果物の保存期間を設定しましょう。

ストレージ・Thunderbolt 5オプション料金(すべて米ドル)
オプション 日額 週額 月額 3か月 おすすめの用途
+1TB SSD $2.4 $6.4 $11.9 $32.4 依存関係のキャッシュ、ビルドアーカイブ、中規模モデルが標準容量を超える場合におすすめです。
+2TB SSD $4.8 $12.8 $23.8 $64.8 大規模モデル、長期の成果物保存、音声・動画素材を扱うワークフローにおすすめです。
Thunderbolt 5接続(1台あたり) $1.2 $3.2 $5.9 $16 複数台を連携する前に、タスクの分割、データ同期、障害からの復旧、結果の集約方法を決めましょう。

複数台を接続する前の5項目チェック

  • 再試行できる独立した作業単位にタスクを分割できますか?
  • 入力データの正本は1つですか?複数台から同時に書き込まれませんか?
  • モデル、依存関係、ツールのバージョンを統一できますか?
  • 障害が発生したノードのタスクを、結果を重複生成せず安全に引き継げますか?
  • 成果物の命名、チェックサム、集約先を統一できますか?
トラブルの切り分け

まず原因の範囲を絞り、設定変更はその後に

一度に変更する条件は1つにし、変更前後の結果を記録します。繰り返しの再インストールやキャッシュ削除、ネットワークとツールチェーンの同時変更は、原因の特定を難しくします。

接続できない

手元のネットワークからノードの状態まで確認

  1. 手元のネットワークが使えること、プロキシやファイアウォールに遮断されていないことを確認します。
  2. ノードのアドレス、ポート、ホストフィンガープリントを再確認します。
  3. 認証情報が更新されているか、コピー時に空白が入っていないか確認します。
  4. コンソールでノードの状態を確認し、クライアントのバージョンとエラーメッセージの原文を記録します。
速度が遅い

遅延、帯域、ノード負荷を切り分ける

  1. ネットワークを固定してテストを繰り返し、Wi-Fiの変動を切り分けます。
  2. 操作時の遅延とファイル転送速度を別々に測定します。
  3. ビルド、同期、推論のジョブがリソースを使用していないか確認します。
  4. アクセス元、ノードのリージョン、時間帯、連続テストの結果を記録します。
ビルドに失敗する

コードの問題か環境の問題かを判断

  1. コミットを固定し、同じビルドコマンドを再実行します。
  2. Xcode、SDK、依存関係、CLIツールのバージョンを記録します。
  3. 署名情報、キーチェーンの権限、作業ディレクトリの権限を確認します。
  4. 現在のプロジェクトの一時ファイルを削除して再試行します。ディスク全体を削除しないでください。
ディスク容量が足りない

増加の原因を調べてから容量を拡張

  1. モデル、依存関係のキャッシュ、アーカイブ、ログ、一時ディレクトリの容量を個別に確認します。
  2. 重複したモデル、古いアーカイブ、終了していないジョブの残存ファイルがないか確認します。
  3. 保存ルールに沿って再生成できるファイルを削除し、最大使用量を記録し直します。
  4. 安全に使える空き容量を確保できない場合は、+1TBまたは+2TB SSDを選びます。
推論プロセスが終了する

リクエスト規模とメモリ使用量のピークを比較

  1. 起動時、モデルの読み込み時、リクエストの処理中のどの段階で終了したか確認します。
  2. モデル形式、コンテキスト長、同時実行数に変更がないか確認します。
  3. 終了前のメモリ、ディスク、サービスログを確認します。
  4. 単一リクエストで基準の状態に戻し、負荷を一つずつ増やします。
認証情報が使えない

再試行を止め、変更の原因を確認

  1. 対話型アカウントと自動化アカウントのどちらを使っているか確認します。
  2. 最近、パスワード、鍵、アクセス権を持つメンバーを変更したか確認します。
  3. スクリプトとキャッシュに残った古い認証情報を削除し、新しい情報でテストします。
  4. 変更の原因が分からない場合は、コンソールからサポートに連絡します。
サポートへの問い合わせ

調査をすぐ始められる情報をチケットに記載

技術的な問題は、注文とノードに紐づけて調査できるよう、コンソールからチケットを送信してください。コンソールにログインできない場合は、 support@armmesh.comまでメールでご連絡ください。

送信前に用意する6項目

01 注文番号

問題が発生した注文番号を記載してください。複数のノードに影響がある場合は、チーム名だけでなく各注文番号を記載します。

02 ノードのリージョン

実際に利用しているリージョンを記載し、問題が1台だけか複数台かも説明してください。

03 macOSのバージョン

完全なバージョンとビルド番号を記載します。ビルドに関する問題の場合は、XcodeとCLIツールのバージョンも添えてください。

04 発生時刻

タイムゾーン、最初に発生した時刻、直近の発生時刻、安定して再現できるかを記載します。

05 再現手順

正常な状態から、操作、入力、期待される結果、実際の結果を順番に記載します。

06 機密情報を除いたログ

タイムスタンプ、エラーコード、前後の状況は残し、パスワード、鍵、トークン、署名情報、プロジェクトの機密情報は削除してください。

次のステップ

物理ノードを選び、チェックリストに沿って確認

どちらの機種も仮想マシンではなく専有物理マシンです。日単位、週単位、月単位、3か月単位で利用できます。ノードの利用状況はコンソールの最新情報で確認してください。