クラウドMacのサポート

まず確認、必要なら相談

接続からツールチェーン、更新まで、まず問題の発生箇所を特定しましょう。
利用中の方はコンソールからチケットを送信できます。ノードに接続できない場合は緊急障害として優先的に対応します。

チケットは利用中のノードに関する問題にご利用ください。導入前のご相談、複数台のご相談、安全性に関する報告は、お問い合わせページのメール窓口をご利用ください。

問題から探す

適切な確認方法を選ぶ

問題の種類によって対処方法は異なります。決済が未確認でもノードの障害とは限らず、ビルド失敗も必ずしも再起動が必要とは限りません。

接続・ログイン

SSHのタイムアウト、リモート画面のブラックスクリーン、画面共有の表示異常。注文情報とネットワークを確認し、接続の問題かデスクトップセッションの問題かを切り分けます。

Xcode・シミュレータ

コマンドラインで別のXcodeが選択されている、キャッシュがディスクを圧迫している、署名IDが見つからない場合は、バージョンとキーチェーンの確認結果から環境の違いを特定します。

CI runner

対話型ターミナルではビルドできるのに、パイプラインで失敗する場合は、実行ユーザー、PATH、キーチェーン、シミュレータの状態を確認します。並列実行数を増やすのは後にしましょう。

料金・更新

オンチェーン送金の確認待ち、カード決済の失敗、利用期限が不明な場合は、コンソールに表示される注文状況と決済結果を確認してください。

接続トラブル

まずポート、次にセッションを確認

ホスト名、接続ポート、ユーザー名、鍵の要件はコンソールの注文詳細で確認できます。以下のコマンドに含まれる変数は、該当する注文の情報に置き換えてください。例のエイリアスを実際のノードアドレスとして使わないでください。

SSH接続がタイムアウトする

タイムアウトと認証エラーを切り分けます。タイムアウトは通常、TCP接続の確立前に発生します。アドレス、ポート、利用中のネットワークの出口、ノードの状態を確認してください。 Permission denied が表示される場合は認証段階まで進んでいます。ポートを何度も変更するのではなく、ユーザー名と鍵を確認してください。

nc -vz "$NODE_HOST" "$SSH_PORT"

ローカルのターミナルで実行します。接続に成功しても、そのポートに到達できることを示すだけで、認証が成功したとは限りません。失敗した場合は別の利用可能なネットワークでもう一度確認し、両方の結果を記録してください。ポートに到達できるのにログインできない場合は、 ssh -vv を使って認証段階のログを取得できます。送信前にログからユーザー名、アドレス、ローカルパスなどの機密情報を削除してください。

VNC接続後に画面が真っ暗になる

クライアントが接続済みでも画面が表示されない問題と、ポートにまったく接続できない問題は別です。重複したリモート接続を切断し、クライアントの画質設定とデスクトップセッションを確認してください。SSHが使える場合は、現在のコンソールユーザーを確認し、ログイン中のグラフィカルセッションがあるか調べられます。

stat -f '%Su' /dev/console

ノードへのSSHセッションで実行します。出力は手掛かりの一つであり、デスクトップサービスが正常であることを単独で証明するものではありません。不明なプロセスを終了したり、ビルド中のノードを再起動したりしないでください。ブラックスクリーンが発生した時刻、クライアント名、SSHの接続可否、セッションの確認結果をチケットに記載してください。サポートが続けて確認します。

画面共有の解像度がおかしい

まず、リモート側の解像度が変わったのか、ローカルクライアントの拡大縮小で文字がぼやけているのかを確認します。画面共有の拡大縮小と画質の自動調整を確認し、リモート側のディスプレイ情報を取得してください。クライアントのウィンドウサイズを変えても、リモート側の表示モードは変わりません。

system_profiler SPDisplaysDataType

ノードで実行してディスプレイ情報を確認します。想定した表示モードがない場合は、現在の解像度、クライアントのウィンドウサイズ、選択可能な表示モードを記録してください。スクリーンショットにはディスプレイ設定だけを残し、プロジェクト、認証情報、業務データは含めないでください。最初の対処として、提供元が不明なディスプレイドライバをインストールしないでください。

SSHとリモート画面の両方に接続できず、別のネットワークでも解決しない場合は、ノードに接続できない旨のチケットをすぐに送信してください。クライアントの再インストールを繰り返しても、障害報告の代わりにはなりません。

開発環境

ターミナルとビルドで同じツールチェーンを使う

環境を変更する前に、エラーログを保存してください。以下の操作はお使いの専有物理ノードを対象としています。権限が必要なコマンドを実行する前に、他のチームのタスクが環境を使用していないことを確認してください。

Xcodeのバージョンを切り替える方法と、パイプラインで実際に使われているバージョンの確認方法を教えてください。

まず xcode-select -p と xcodebuild -versionを実行し、現在の開発者ディレクトリとバージョンを記録します。目的のXcodeがインストールされていることを確認してから、開発者ディレクトリをその Contents/Developerに切り替えてください。以下のパスはアプリ名がXcode.appの場合に使えます。ノード上のアプリ名にバージョン番号が含まれる場合は、実際のパスに置き換えてください。

xcode-select -p
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
xcodebuild -version

CIプロセスは、 DEVELOPER_DIR でシステムの選択を上書きしている場合があります。ターミナルとパイプラインでバージョンが異なる場合は、システム設定だけでなく、jobの環境変数とrunnerのサービスユーザーを確認してください。特定のタスクで別のバージョンが必要な場合は、そのタスク内で開発者ディレクトリを明示的に指定し、同じノード上の他のビルドに影響しないようにしましょう。

DerivedDataを削除するタイミングと、プロジェクトを誤って消さない方法を教えてください。

まずディスク使用量を確認し、削除するか判断します。ツールチェーンの切り替え後にキャッシュ関連のエラーやインデックスの異常が発生した場合、またはディスク容量が不足している場合は、DerivedDataを整理できます。通常のコンパイルエラーを、最初からキャッシュが原因だと決めつけないでください。関連するビルドタスクを終了してから、キャッシュディレクトリを削除せずに名前を変更しておくと、切り戻しがしやすくなります。

du -sh "$HOME/Library/Developer/Xcode/DerivedData"
mv "$HOME/Library/Developer/Xcode/DerivedData" "$HOME/Library/Developer/Xcode/DerivedData.backup.$(date +%s)"

ディレクトリが存在する場合にのみ名前を変更してください。次回のビルド時にXcodeがキャッシュを再作成します。名前を変更しただけではディスク容量は空きません。新しいビルドが正常に完了したことを確認してから、実際のバックアップパスにある古いキャッシュを削除してください。必要なアーカイブは残し、Archives、プロジェクトディレクトリ、署名関連ファイルをまとめて消さないでください。CIで独自の -derivedDataPathを指定している場合は、現在のユーザーのデフォルトディレクトリではなく、そのパスを確認してください。

署名証明書を読み込んだのに、ビルドで署名IDが見つからないのはなぜですか?

署名には、有効な証明書と対応する秘密鍵の両方が必要です。通常、証明書ファイルだけでは署名できません。使用権限のある署名関連ファイルをキーチェーンアクセスで読み込み、実際にビルドを実行するユーザーで利用可能なIDを確認してください。証明書ファイルや読み込み用パスワードをチケットに記載しないでください。

security find-identity -v -p codesigning
security list-keychains -d user

対話型ユーザーにIDが表示されても、runnerのサービスユーザーから見えるとは限りません。サービスの実行アカウント、キーチェーンの検索リスト、ロック解除状態、アクセス権を確認してください。キーチェーンのアクセス制御を変更する場合は、必要な署名ツールだけに許可を与えてください。一度のエラーを解消するために、すべてのアプリに秘密鍵へのアクセスを許可しないでください。チケットには、機密情報を除いたIDの確認結果、エラーコード、実行ユーザーの種類を記載してください。

ローカルのターミナルではビルドできるのに、CI runnerやシミュレータのタスクが失敗する場合、まず何を確認すればよいですか?

SSHターミナルだけでなく、失敗したjob内でも同じ環境チェックを実行してください。実行ユーザー、開発者ディレクトリ、Xcodeのバージョン、PATH、利用可能なシミュレータを比較します。サービスプロセスは対話型シェルの設定を読み込まない場合があるため、手動で実行できてもサービス環境が同じとは限りません。

whoami
xcode-select -p
xcodebuild -version
printf '%s\n' "$PATH"
xcrun simctl list devices available

シミュレータ一覧に目的のデバイスがない場合は、必要なランタイムがインストールされているか、テストタスクのdestinationが一致しているかを確認してください。runnerがオフラインの場合は、サービスの起動状態とタスクログを確認してから、ネットワーク接続と登録情報を確認します。比較基準がない場合は、まずビルドを一つ実行して手順を検証し、統合メモリとディスクの使用量を見ながら並列実行数を段階的に増やしてください。

専有とは、物理リソースを他の利用者と共有しないことです。同じノード上の複数タスクが互いに影響しないという意味ではありません。GitHub ActionsとGitLab CIの詳しい接続手順は、接続ガイドをご覧ください。

決済・利用期間

注文状況を確認してから次の手順へ

料金はすべて米ドル建てです。お支払いはUSDT-TRC20、Visa、Mastercard、Amex(Stripe)のみ対応しています。実際に利用できる決済ゲートウェイはコンソールの表示をご確認ください。

USDT-TRC20を送金したのに、注文が支払い済みにならないのはなぜですか?

ウォレットでの送金表示、ブロックチェーン上の承認、注文の照合はそれぞれ別の段階です。確認にかかる時間は、ブロックチェーンの処理状況と決済ゲートウェイの状態によって異なります。このページでは所要時間を保証していません。まず支払いページに記載されたネットワーク、送金先アドレス、金額を確認してください。次に取引が成功しているかを確認し、最後にコンソールで注文状況を確認します。

注文状況が更新されていないからといって、再度支払わないでください。手動での照合が必要な場合は、注文番号、トランザクションハッシュ、送金額、送金時刻を、タイムゾーンとともにお知らせください。トランザクションハッシュは取引の特定に使用します。シードフレーズ、ウォレットの秘密鍵、パスワードは不要です。絶対に送信しないでください。指定されたネットワークや金額と異なる送金をした場合は、取引記録を保管し、チケットに正確に記載してください。

カード決済に失敗した場合や、明細に保留中の取引がある場合は、どう確認すればよいですか?

まず決済ページのエラーメッセージと注文状況を確認し、カード発行会社が該当する米ドル決済を許可しているか、追加認証が必要かを確認してください。カード発行会社に保留中の利用承認が表示されても、注文の支払いが完了したとは限りません。カードの通知だけでサービスの利用開始状況を判断しないでください。

決済に何度も失敗する場合は、短時間に連続して再試行せず、カード発行会社に拒否理由を確認してください。コンソールで支払いが未確認なのに銀行側で引き落としが表示されている場合は、注文番号、決済時刻、金額、機密情報を除いたエラーメッセージをお知らせください。決済取引IDがあれば、あわせてご提示ください。カード番号全桁、セキュリティコード、認証SMSは送信しないでください。サポートが注文と決済記録を照合します。返金や利用承認の解除状況は、決済ゲートウェイとカード発行会社の結果に基づいて確認します。

更新のお知らせはいつ届きますか?期限切れによるプロジェクトの中断を防ぐにはどうすればよいですか?

まずコンソールに表示された利用期限をご確認ください。通知の送信時期と配信状況はコンソールで確認できます。このページでは、期限の何日前に通知されるかを保証していません。また、通知を受け取ることだけを利用継続の判断基準にしないでください。チームのプロジェクトカレンダーにも期限を登録し、更新結果を確認する担当者を決めておくことをおすすめします。

日、週、月、四半期から期間を選んだら、更新請求の機種、追加オプション、利用期間を確認してください。支払い後は注文状況が更新されたことを確認し、決済ページのスクリーンショットだけに頼らないでください。期限までに更新しないとノードを利用できなくなる場合があります。プロジェクト、成果物、必要な設定は期限前にバックアップしてください。コンソールの日時や金額が想定と異なる場合は、請求書番号を控えてチケットを送信してから、支払いを続けるか判断してください。

各利用期間の料金とストレージ拡張料金は、プランページをご確認ください。既存の注文に関する料金の確認はコンソールからチケットを送信してください。メールにマシンのパスワードを添付しないでください。

チケットの準備

再現できる問題は、まとめて伝えましょう

利用中の方は、コンソールのチケット窓口からお問い合わせください。影響範囲に応じて振り分けます。ノードに接続できない問題を優先し、環境設定や請求に関するご相談は内容に応じて対応します。

通常のお問い合わせ:期待した結果と実際の結果を記載

開発環境、設定方法、更新内容の確認はチケットでお問い合わせください。連絡時刻の目安はUTC+8です。アジア太平洋地域の営業時間帯をカバーしています。具体的な対応時間と進捗は、コンソールのチケット通知と返信をご確認ください。このページでは一定時間内の返信を保証していません。

実行したかった操作、実際の結果、すでに試した手順を記載し、最短の再現コマンドを添えてください。複数の担当者がノードを交代で使用している場合は、問題発生時に並列ビルドやグラフィカルセッションが実行中だったかも記載してください。タスクの競合をノードの障害と誤認しにくくなります。

緊急障害:ノードに接続できない場合を優先

SSHとリモート画面の両方に接続できず、進行中のタスクにノードを使えない場合は、件名に「ノードに接続できない」と記載し、最後に正常接続できた時刻をお知らせください。別のネットワークで確認したポートの結果も添えると、ローカルネットワークとノード側のどちらに問題があるか判断しやすくなります。

緊急優先は調査の順番を決めるためのもので、復旧時間を保証するものではありません。SSHで接続できる場合は、影響を受けている機能を記載してください。影響の拡大や診断情報の消失を防ぐため、ディスク消去、再インストール、電源の入れ直しを繰り返さないでください。

送信前に3種類の情報を準備

  1. 注文・ノード

    注文番号、機種、ノードIDをお知らせください。選択できるノードはシンガポール、東京、ソウル、香港です。マシンのパスワード、SSH秘密鍵、決済認証情報は送信しないでください。

  2. 時刻・影響範囲

    障害が始まった時刻をタイムゾーンとともに記録し、SSH、リモートデスクトップ、ビルドタスク、決済確認のどれに影響しているか、最後に正常に利用できた時刻とあわせて記載してください。

  3. 結果・証拠

    機密情報を削除したコマンド出力、エラーコード、最短の再現手順を貼り付けてください。スクリーンショットからプロジェクト内容と認証情報を削除してください。同じ問題は元のチケットに追記し、対応の経緯を一つにまとめましょう。

コンソールにログインできない場合や、導入前・複数台のご相談、安全性に関する報告は、次のメールアドレスにご連絡ください: support@xcodenode.comメールにも、パスワード、秘密鍵、署名関連ファイル、カード番号全桁を記載しないでください。

次のステップ:接続手順を最後まで確認

接続ガイドではSSH、リモートデスクトップ、CIの接続方法を解説しています。注文に関する内容以外のお問い合わせは、お問い合わせページで必要な情報と窓口をご確認ください。