연결·마이그레이션·문제 해결

클라우드 Mac을 기존 워크플로에 연결하세요

먼저 콘솔에서 노드와 연결 정보를 확인한 다음 SSH 또는 VNC로 최초 세션을 설정하세요. 마이그레이션, 빌드 또는 MLX 서비스에 문제가 발생하면 이 페이지의 순서대로 범위를 좁혀 설정·네트워크·작업 로그를 반복해서 추측하지 않도록 하세요.

3개 단계
연결, 마이그레이션, 연동
2가지 접속 방식
SSH 및 VNC
365일
정상 운영 노드
최초 연동 런북 VMKeep / CONNECT
확인 필요
01
계정 및 주문

주문 상태, 노드 지역, 머신 이름과 대여 기간 정보가 일치하는지 확인하세요.

콘솔
02
연결 정보

호스트 주소, 사용자 이름과 임시 인증 정보를 복사하고 관계없는 구성원에게 전달하지 마세요.

SSH / VNC
03
인증 정보 업데이트

최초 연결 후 비밀번호를 변경하고 팀에서 사용하는 SSH 공개 키를 추가하세요.

필수
04
기준 상태 확인

macOS, Xcode, 디스크 여유 공간과 네트워크 접속 결과를 기록하세요.

권장
티켓 제출 전에 명령 출력과 발생 시각을 보관하세요 RUNBOOK-04
최초 연결 경로

재현 가능한 연결 기준부터 설정하세요

처음부터 저장소를 마이그레이션하거나 많은 종속성을 설치하지 마세요. 먼저 네 가지 기본 항목을 확인해 머신 식별, 연결 방식과 인증 정보 업데이트가 정상적으로 가능한지 검증하세요.

  1. 01 계정 확인

    콘솔 정보 확인

    콘솔에 로그인해 주문 번호, 노드 지역, 머신 이름, 대여 기간과 연결 정보를 확인하세요. 노드와 주문 정보가 일치하지 않으면 작업을 중지해 잘못된 머신으로 파일을 옮기지 않도록 하세요.

    • 주문 번호와 노드 지역 기록
    • 머신 이름과 대여 기간 확인
    • 연결 정보는 콘솔에서만 확인
  2. 02 세션 설정

    SSH 또는 VNC 선택

    명령줄 설정, 자동화와 로그 확인에는 SSH를 우선 사용하고, 그래픽 인터페이스·Xcode 설정·데스크톱 작업에는 VNC를 사용하세요. 최초 연결 시 두 방식을 각각 한 번씩 검증하는 것이 좋습니다.

    • SSH 호스트 지문과 사용자 이름 확인
    • VNC 주소와 화면 해상도 확인
    • 연결에 성공한 네트워크 환경 기록
  3. 03 인증 정보 업데이트

    비밀번호 변경 및 공개 키 등록

    머신에 접속한 즉시 임시 비밀번호를 변경한 다음 팀에서 승인한 SSH 공개 키를 인증 목록에 등록하세요. 키는 구성원별로 분리하고 프로젝트를 떠날 때 개별적으로 철회해야 합니다.

    • 독립적이고 충분히 긴 비밀번호 사용
    • 구성원별 공개 키 유지
    • 개인 키와 연결 정보의 배포 범위 제한
  4. 04 기준 상태 기록

    시스템 및 디스크 상태 검증

    도구를 설치하기 전에 시스템 버전, Xcode 경로, 사용 가능한 디스크 공간과 기본 네트워크 결과를 기록하세요. 이후 문제가 발생하면 이 기준 상태와 바로 비교할 수 있습니다.

    • sw_vers 시스템 버전 확인
    • xcode-select -p 도구 체인 경로 확인
    • df -h 디스크 공간 확인
마이그레이션 경로

로컬 Mac에서 클라우드 Mac으로 세 번에 나누어 마이그레이션

마이그레이션 순서가 문제 해결 비용을 좌우합니다. 먼저 검증 가능한 데이터를 옮기고, 고정 버전의 도구 체인을 복원한 뒤 CI 또는 self-hosted runner를 연동하세요.

01
데이터 동기화

필수 파일만 마이그레이션

먼저 Git으로 코드 저장소를 가져오세요. 대형 모델, 빌드 캐시와 산출물은 별도로 동기화하고 전송 후 파일 크기 또는 체크섬을 확인하세요.

입력
저장소, 모델 파일, 스크립트, 필수 설정
확인
디렉터리 권한, 무시 규칙, 디스크 잔여 공간
결과
독립적으로 검증할 수 있는 프로젝트 작업 사본
02
도구 체인 복원

Xcode 및 종속성 버전 고정

프로젝트에 필요한 Xcode, 명령줄 도구, Ruby, Node.js와 CocoaPods 버전을 확인하세요. 먼저 최소 빌드를 실행한 다음 전체 종속성 캐시를 복원하세요.

입력
버전 목록, 잠금 파일, 설치 스크립트
확인
기본 Xcode, SDK, 런타임 및 PATH
결과
반복 실행 가능한 로컬 빌드 명령
03
자동화 연동

runner 등록 후 첫 작업 관찰

runner 작업 디렉터리, 캐시 디렉터리와 로그 디렉터리를 분리하세요. 첫 작업은 병렬로 실행하지 말고 가져오기·빌드·테스트·아카이브 각 단계의 출력을 먼저 확인하세요.

입력
runner 등록 정보 및 작업 태그
확인
실행 사용자, 디렉터리 권한, 실패 종료 코드
결과
반복 실행 및 로그 추적이 가능한 작업
명령 실행 기록

짧은 경로 하나로 SSH·빌드·아카이브를 검증하세요

다음 기록은 문제 해결 순서를 보여 주며 프로젝트 전용 인증 정보는 포함하지 않습니다. 먼저 원격 세션을 확인하고 Xcode 빌드를 실행한 뒤 자동화 도구가 성공 상태를 반환하는지 확인하세요.

VMKeep 빌드 세션 · zsh SESSION 01
09:14:02 $ ssh vmkeep@203.0.113.24
호스트 vmkeep-m4-plus 지역 JP /bin/zsh
09:14:18 $ xcodebuild -workspace Client.xcworkspace -scheme Client -configuration Release build

[1/4] 패키지 종속성 확인

[2/4] 소스 및 리소스 컴파일

[3/4] 단위 테스트 실행

[4/4] 빌드 출력 아카이브

09:22:41 $ bundle exec fastlane ios build
빌드 성공
exit=0 · archive=Client.xcarchive · duration=08m23s

단계가 실패하면 실패한 명령 전후의 출력 최소 30줄, 종료 코드, Xcode 버전과 발생 시각을 보관하세요. 티켓 제출 전에 토큰, 개인 키와 서명 자료 원문을 삭제하세요.

CI/CD 연동

runner·작업 디렉터리·캐시를 분리해 관리하세요

지속적 빌드 문제는 대개 실행 사용자, 디렉터리 권한, 버전 변경 또는 캐시 오염에서 발생합니다. 첫 번째 정식 파이프라인을 실행하기 전에 다음 다섯 항목을 결정해야 합니다.

A1

runner 등록

독립 실행 사용자로 self-hosted runner를 등록하고 빌드 유형별로 명확한 태그를 설정하세요. 서비스 재시작 후 runner가 자동으로 온라인 상태를 복구하는지 확인하세요.

사용자 및 태그
A2

작업 디렉터리 계획

소스 체크아웃, 임시 빌드, 아카이브 산출물과 작업 로그를 서로 다른 디렉터리에 저장해 실패한 작업의 파일이 다음 실행에 영향을 주지 않도록 하세요.

권한 및 정리
A3

캐시 범위 설정

캐시 키에는 최소한 종속성 잠금 파일, Xcode 버전과 아키텍처 정보를 포함하세요. 원인을 설명하기 어려운 컴파일 오류가 발생하면 먼저 빈 캐시로 다시 실행하세요.

버전 및 적중 여부
A4

서명 자료 보관

서명 파일, 비밀번호와 토큰은 작업 실행 중에만 주입하고 저장소, 일반 로그 또는 장기 공유 디렉터리에 기록하지 마세요. 작업이 끝나면 임시 사본을 삭제하세요.

최소 노출
A5

실패 재시도 정의

먼저 네트워크 가져오기 실패, 종속성 해결 실패, 컴파일 실패와 테스트 실패를 구분하세요. 작업의 멱등성이 확인된 경우에만 해당 단계를 자동으로 재시도하세요.

종료 코드 및 로그
CI/CD 일반 단계 및 확인 항목
단계 우선 확인 보관할 결과 로그에 포함하지 않을 항목
코드 가져오기 저장소 권한, 원격 주소, 네트워크 확인 커밋 해시, 브랜치, 실패한 명령 액세스 토큰 원문
종속성 설치 잠금 파일, 미러 설정, 캐시 키 도구 버전, 종속성 해결 출력 개인 인증 정보 원문
Xcode 빌드 scheme, SDK, 빌드 설정, 대상 플랫폼 전체 명령, 종료 코드, 주요 오류 서명 비밀번호
테스트 및 아카이브 테스트 대상, 시간 초과, 산출물 디렉터리 테스트 보고서, 아카이브 경로, 작업 소요 시간 서명 자료 원본 파일
MLX 서비스 문제 해결

로컬 추론 결과에서 원격 API까지 추적하세요

먼저 머신에서 모델이 로컬 요청을 한 번 완료하는지 확인한 다음 리슨 주소와 포트 접근을 점검하세요. 모델이 아직 성공적으로 로드되지 않았다면 원격 클라이언트부터 확인하지 마세요.

  1. 01

    모델 경로 확인

    설정의 모델 디렉터리, 가중치 파일과 읽기 권한을 확인하세요. 상대 경로는 서비스의 실제 작업 디렉터리를 기준으로 해야 합니다.

    test -r /srv/models/model && echo readable
  2. 02

    메모리 사용량 관찰

    먼저 단일 요청으로 모델을 로드하고 로드 전후의 메모리 변화를 기록하세요. 프로세스가 종료되면 시스템 로그와 애플리케이션 종료 코드를 확인하세요.

    ps -o pid,rss,command -p <PID>
  3. 03

    로컬 리슨 확인

    서비스가 바인딩된 주소와 포트를 확인하세요. 루프백 주소에서만 리슨하면 원격 클라이언트가 직접 연결할 수 없습니다.

    lsof -nP -iTCP:<PORT> -sTCP:LISTEN
  4. 04

    로컬 요청 실행

    클라우드 Mac 내부에서 최소 요청을 보내 응답 상태, 첫 토큰 지연 시간, 총 소요 시간과 모델 응답을 기록하세요.

    curl -sS http://127.0.0.1:<PORT>/health
  5. 05

    원격 API 재확인

    로컬 요청이 성공한 후 인증된 클라이언트에서 원격 액세스를 검증하세요. 클라이언트 시간, 서비스 로그와 요청 ID를 비교하세요.

    curl -sS https://<YOUR-ENDPOINT>/health
모델 호환성

실행 가능한 모델은 모델 형식, 양자화 방식, 종속성 버전과 선택한 메모리 구성에 따라 달라집니다.

성능 판단

첫 토큰 지연 시간과 지속 처리량은 동일한 모델·파라미터·동시성 조건에서 비교해야 합니다.

티켓 증거

모델 경로 구조, 시작 명령, 프로세스 로그, 리슨 결과와 인증 정보를 제거한 최소 요청을 제출하세요.

용어 사전

연동 및 문제 해결에 자주 쓰이는 8가지 용어

용어를 통일하면 팀 커뮤니케이션의 오해를 줄일 수 있습니다. 티켓을 제출할 때 아래 명칭으로 머신, 연결 방식과 작업 역할을 설명하세요.

물리 노드
macOS와 작업이 실제로 실행되는 Apple Silicon 장비로, 추상화된 컴퓨팅 인스턴스가 아닙니다.
전용
주문 하나당 독립된 물리 머신 한 대가 할당되며, 실행 리소스를 다른 테넌트와 공유하지 않습니다.
비가상 머신
시스템과 작업이 할당된 물리 장비에서 직접 실행되며 공유 가상화 인스턴스로 제공되지 않습니다.
VNC
macOS 그래픽 인터페이스에 액세스하는 원격 연결 방식으로, Xcode 설정과 데스크톱 작업에 적합합니다.
SSH
명령줄 관리, 파일 전송, 로그 확인과 자동화 실행에 사용하는 암호화 원격 연결 방식입니다.
self-hosted runner
팀 CI 시스템에 등록되어 이 클라우드 Mac에서 빌드 작업을 실행하는 자체 호스팅 실행기입니다.
MLX
Apple Silicon용 머신러닝 프레임워크로, 모델 변환·양자화·추론과 서비스 패키징에 사용할 수 있습니다.
빌드 캐시
반복적인 다운로드와 컴파일을 줄이기 위해 보관하는 중간 파일로, 캐시 키가 불완전하면 이전 결과가 유입될 수 있습니다.
일반적인 연결 문제

증상별로 확인하되 기본 항목을 건너뛰지 마세요

모든 문제는 먼저 주문과 노드를 확인한 다음 클라이언트, 네트워크와 머신 내부 상태를 점검하세요. 해당 항목을 펼치면 권장 순서와 티켓 정보를 확인할 수 있습니다.

SSH 또는 VNC에 로그인할 수 없음

확인 순서:주문과 노드 정보를 확인하고 호스트 주소와 사용자 이름을 다시 복사하세요. 입력 방식과 비밀번호 문자를 확인하고 SSH 호스트 지문 또는 VNC 주소를 검증한 뒤, 정상 작동이 확인된 다른 네트워크에서 다시 테스트하세요.

티켓 정보:주문 번호, 노드 지역, 발생 시각, 클라이언트 이름, 전체 오류 텍스트와 호스트의 민감한 부분을 가린 연결 명령

연결 후 자주 끊김

확인 순서:끊긴 시각을 기록하고 로컬 네트워크 안정성을 테스트하세요. 라우팅을 변경할 수 있는 프록시를 끈 뒤 재테스트하고 SSH keepalive 설정을 확인하며, 끊김이 고부하 작업과 동시에 발생했는지 확인하세요.

티켓 정보:끊김 시간대, 사용한 네트워크 환경, 연속 테스트 횟수, 클라이언트 로그, 작업 유형과 끊김 전후의 시스템 부하

VNC 화면 지연 또는 조작 끊김

확인 순서:화면 해상도와 색상 품질을 낮추고 대역폭을 많이 사용하는 동기화 작업을 일시 중지하세요. 유선과 무선 네트워크를 비교하고 특정 시간대 또는 특정 클라이언트에서만 발생하는지 확인하세요.

티켓 정보:노드 지역, 클라이언트 버전, 화면 해상도, 로컬 네트워크 유형, 지연 발생 시각과 재현 가능한 조작 단계

디스크 공간 부족 또는 빌드 디렉터리 지속 증가

확인 순서:실행 df -h 파티션을 확인한 다음 디렉터리별로 DerivedData, 아카이브 산출물, 종속성 캐시, 시뮬레이터 데이터와 작업 영역을 집계하세요. 삭제 전에 산출물을 내보냈는지 확인하세요.

티켓 정보:디스크 사용 결과, 가장 빠르게 증가한 디렉터리, 최근 실행 작업, 실행한 정리 명령과 추가 스토리지 검토 필요 여부

로컬에서는 빌드되지만 runner 작업 실패

확인 순서:실행 사용자, 환경 변수, 작업 디렉터리, Xcode 버전, 종속성 잠금 파일과 캐시 키를 비교하세요. runner 실행 사용자로 동일한 빌드 명령을 수동 실행해 가장 먼저 차이가 발생한 위치를 찾으세요.

티켓 정보:전체 빌드 명령, Xcode 버전, runner 태그, 실패 종료 코드, 비식별화 로그와 수동 실행 및 자동 작업 간 차이

지원 경로

증거를 정리한 후 문의 경로를 선택하세요

기존 주문과 실행 중인 노드 문제는 콘솔에서 티켓을 제출하세요. 구성 선택, 배포 범위와 아직 주문하지 않은 사항은 문의 페이지를 통해 이메일로 상담할 수 있습니다.

티켓 자료 체크리스트

한 번의 제출로 바로 문제 해결을 시작할 수 있는 정보

5 ITEMS
주문 번호

해당 머신과 대여 기간을 찾는 데 사용되므로 계정 비밀번호는 제출하지 마세요.

노드 지역

싱가포르, 일본(도쿄), 한국(서울), 홍콩 또는 미국 동부를 명시하세요.

발생 시각

연결 및 작업 기록과 대조할 수 있도록 시간대를 포함한 시간 범위를 제공하세요.

명령 출력

종료 코드와 오류 전후의 맥락을 보관하고 토큰과 민감한 인증 정보는 삭제하세요.

재현 단계

시작 상태부터 문제가 발생한 시점까지 작성하고 각 단계의 예상 결과와 실제 결과를 명시하세요.

기존 주문

콘솔에서 티켓 제출

연결 문제, 머신 상태, 빌드 문제, 청구 및 주문 연계 문제에 적합합니다. 티켓에 맥락이 보존되므로 비식별화 로그를 계속 추가할 수 있습니다.

콘솔에 로그인하여 티켓 제출
구매 전 및 배포

문의 페이지에서 이메일 작성

구성 선택, 팀 배포 범위, 대상 노드와 대여 기간 상담에 적합합니다. 공식 문의 이메일은 support@vmkeep.com입니다.

지원팀에 문의하기
다음 단계

구성을 선택한 후 이 페이지에서 연결 기준 상태를 설정하세요

세 가지 Apple Silicon 전용 물리 머신 구성은 모두 비가상 머신이며 일·주·월·분기 단위로 대여할 수 있습니다. 노드의 실시간 이용 가능 여부는 콘솔 응답을 기준으로 합니다.