人工支援只有兩條管道:控制台工單與電子郵件。這兩條管道都由值班工程師直接處理,沒有客服話術轉接這一層。
適用情境:執行個體故障、退款申請、遷移預約等所有與具體機器相關的問題。路徑:登入控制台 → 工單 → 新增。處理過程全程留有紀錄,狀態變化會自動發送電子郵件通知。
首次回應 ≤ 2 小時
| 等級 | 典型情境 | 工單首次回應 | 進度更新 | 建議管道 |
|---|---|---|---|---|
| P1 | 執行個體無法連線 / 節點級故障 | ≤ 30 分鐘 | 每 60 分鐘 | 控制台工單 |
| P2 | 單項功能受損(如 VNC 可用但 SSH 不通) | ≤ 2 小時 | 每 4 小時 | 控制台工單 |
| P3 | 使用諮詢、設定求助 | ≤ 4 小時 | 依處理進度 | 工單或電子郵件 |
| P4 | 建議回饋、商務合作 | ≤ 24 小時 | 依處理進度 | 電子郵件 |
支援團隊依 UTC+8 與 UTC-8 兩個時區排班,SLA 以自然時計算,週末與假日同樣適用。等級由我們依影響範圍判定,不需要你在工單裡自行標註。
重新開機、重新安裝、重設憑證都不需要人工介入。控制台的電源操作走頻外通道,系統完全當機也照樣生效——這正是獨享實體機的優勢之一。
路徑:控制台 → 執行個體 → 電源 → 重新開機。整機斷電再上電,約 90 秒恢復;硬碟資料不受影響,但未儲存的工作會遺失。VNC 黑畫面、系統無回應時的首選動作。
路徑:控制台 → 執行個體 → 系統 → 重新安裝。可從版本列表選擇要安裝的 macOS;重新安裝為全碟清除,25~40 分鐘完成,新的 VNC/SSH 憑證會透過電子郵件寄送。每個計費週期含一次免費重新安裝。
路徑:控制台 → 執行個體 → 存取 → 重設 VNC 密碼。即時生效,新密碼只會在頁面上顯示一次,請立即儲存。忘記密碼、懷疑密碼外流或交接機器時可以使用,不影響 SSH 與機內資料。
路徑:控制台 → 執行個體 → 存取 → SSH 公鑰。貼上新公鑰後 60 秒內寫入 authorized_keys,可勾選同時撤銷舊金鑰。支援 ed25519 與 RSA(≥3072 位),單台執行個體最多可保留 5 組。
照著步驟操作,每一步都有可核對的輸出結果。走完仍未解決,把最後一步的指令輸出貼進工單,我們能直接從中斷點接手處理。
症狀:VNC 客戶端顯示已連線,畫面呈純黑或停在灰畫面,滑鼠鍵盤沒有反應。
$ sudo launchctl list | grep -i screensharing
$ sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -restart -agent -console
Done.
$ sudo pmset -a displaysleep 0 sleep 0
症狀:ssh 長時間沒有回應後顯示 Operation timed out,或立即回傳 Permission denied。
sudo pfctl -d 暫時停用規則後再修正。$ ping -c 5 <執行個體公用IP>
$ chmod 600 ~/.ssh/id_ed25519
$ ssh -vvv -o ConnectTimeout=10 dev@<執行個體公用IP>
$ sudo pfctl -sr | grep 22
症狀:xcodebuild 在 CI 裡回報 errSecInternalComponent 或 User interaction is not allowed,但本機 GUI 建置卻正常。
$ security unlock-keychain -p "$KEYCHAIN_PASS" ~/Library/Keychains/login.keychain-db
$ security set-key-partition-list -S apple-tool:,apple: -s -k "$KEYCHAIN_PASS" ~/Library/Keychains/login.keychain-db
$ security find-identity -v -p codesigning
1 valid identities found
runner 安裝檔請從你所使用 CI 平台的 runner 設定頁下載 arm64 macOS 版本,以下指令在執行個體的 SSH 工作階段裡執行即可。
$ mkdir ~/actions-runner && cd ~/actions-runner
$ tar xzf actions-runner-osx-arm64.tar.gz
$ ./config.sh --url <儲存庫或組織位址> --token <註冊權杖> --labels self-hosted,macos,arm64
$ ./svc.sh install && ./svc.sh start
√ runner service started
用 svc.sh 裝成 launchd 服務,而不是用前景執行 run.sh:斷線後會自動重連,執行個體重新開機後也會自動拉起,不需要額外的保活腳本。註冊權杖只有一小時有效期,過期重新產生即可。
$ brew install gitlab-runner
$ gitlab-runner register --executor shell --url <你的 GitLab 位址> --token <驗證權杖> --tag-list macos,xcode,arm64
$ brew services start gitlab-runner
Successfully started `gitlab-runner`
executor 選 shell,建置會直接跑在 macOS 使用者工作階段裡,可完整存取 Xcode 工具鏈與模擬器。並行數建議維持 1:Apple Silicon 上單個 job 可獨佔全部效能核心,比兩個 job 搶核心更快。
別把 CI 憑證混進 login 鑰匙圈。建立獨立的 build.keychain,逾時設為 21600 秒(6 小時),每個 job 開頭執行一次 unlock,簽署彈出視窗問題就從根源消失。
給 xcodebuild 傳入 -derivedDataPath 指向 job 之外的固定目錄。獨享實體機上快取可跨 job 常駐硬碟,大型 Swift 專案的增量編譯比全量編譯快 40%~70%。
用 xcrun simctl create 預先建立常用機型並保持常駐,UI 測試就能跳過模擬器冷啟動,單個 job 通常可省下 60~90 秒。執行個體不會被回收,預先建立一次即可長期使用。
$ security create-keychain -p "$PASS" build.keychain
$ security set-keychain-settings -lut 21600 build.keychain
$ security unlock-keychain -p "$PASS" build.keychain
$ xcodebuild -scheme App -derivedDataPath ~/ci-cache/DerivedData build
| 節點 | 測試位址 | 機房區域 | 說明 |
|---|---|---|---|
| 東京 | ping.tyo.armmini.com | 東亞 | 與東京執行個體同出口,延遲可代表實際體驗 |
| 首爾 | ping.icn.armmini.com | 東北亞 | 與首爾執行個體同出口 |
| 矽谷 | ping.sjc.armmini.com | 北美西岸 | 與矽谷執行個體同出口 |
$ ping -c 20 ping.tyo.armmini.com
20 packets transmitted, 20 received, 0% loss
$ mtr -rwzbc 100 ping.tyo.armmini.com > mtr-report.txt
-r 報告模式 -c 100 取樣一百個封包,約兩分鐘
mtr -rwzbc 100 到對應節點的測試位址,並保存報告。機房出口端的問題我們當天處理;跨網路中間路徑的封包遺失需要與上游逐一核對,定位通常需要 1~2 個工作日,處理進度會在工單裡持續更新。
所有節點全年 365 天連續運作,不存在需要你配合預約的服務中斷;節點端硬體更換以備援機頂替完成,不會佔用你的使用時間。萬一真的發生故障,流程如下,全程可供核對。
監控告警觸發,值班 SRE 立即介入。五個節點均為 7×24 全天候值班輪班。
確認影響範圍,向受影響使用者發出第一封事故通知信:症狀、範圍、預估恢復時間。
每 60 分鐘以電子郵件更新一次進度,直到恢復為止,不玩「靜默修復」這一套。
依月度 99.5% 上線承諾核算故障時長,應補償的服務時長會自動計入帳戶,不需要主動申請。
發布事後複盤報告:根本原因、完整時間線、改進項目,以電子郵件寄送並同步公告於控制台。
時長補償的具體檔級與除外條款(不可抗力、使用者自身操作)請見服務條款第五章。如果你監測到中斷卻沒收到我們的事故通知信,請直接送出 P1 工單,我們會依你的監測紀錄核對。
換節點、從其他服務商或從本機 Mac 遷移到 ArmMini,工程師都提供一對一免費協助。範圍與界限如下,建議先看清楚再預約。
$ rsync -avzP --exclude 'Library/Caches' -e ssh ~/work/ dev@<新執行個體IP>:~/work/
-P 支援斷點續傳,東京→首爾同區段實測約 45~80MB/s
sent 182.4G speedup is 1.31
把最後一步的指令輸出貼進工單,值班工程師會從你的中斷點直接接手。故障類工單首次回應不超過 2 小時,週末與假日同樣適用。