다른 사용자의 작업과 분리
한 머신의 리소스를 여러 사용자에게 나눠 주거나, 시간을 나눠 사용자별 빌드를 번갈아 실행하지 않습니다. 다만 직접 실행한 시뮬레이터, 인덱싱, 백그라운드 프로세스끼리는 리소스를 공유하므로, 문제를 진단할 때는 먼저 머신 부하를 확인하세요.
물리 머신을 단독으로 사용해도 리소스 제한이 없는 것은 아닙니다.
Mac mini 한 대를 사용자 한 명에게만 할당합니다. 가상 머신이 아닙니다. 물리 리소스를 분리해 제공하며, 클라우드 워크스테이션에 누가 접근할지는 키, 최소 권한, 별도 백업으로 직접 관리할 수 있습니다.
이 페이지는 격리와 운영 범위를 설명합니다. 전용 머신이 자동 백업을 의미하지 않으며, 디스크 암호화가 접근 권한을 대신하지도 않습니다.
Desk M4는 전용 물리 Mac mini입니다. M4, 메모리 16GB, SSD 256GB를 갖췄습니다. 대여 기간에는 메모리와 디스크를 다른 사용자에게 할당하지 않습니다. macOS 그래픽 인터페이스와 명령줄을 모두 사용할 수 있으며, 프로젝트와 빌드 캐시, 서명 환경은 직접 관리합니다.
한 머신의 리소스를 여러 사용자에게 나눠 주거나, 시간을 나눠 사용자별 빌드를 번갈아 실행하지 않습니다. 다만 직접 실행한 시뮬레이터, 인덱싱, 백그라운드 프로세스끼리는 리소스를 공유하므로, 문제를 진단할 때는 먼저 머신 부하를 확인하세요.
물리 머신을 단독으로 사용해도 리소스 제한이 없는 것은 아닙니다.
Xcode 버전, 종속성, 인증서, 프로비저닝 프로파일은 작업 환경의 일부입니다. 업그레이드 전에 버전을 기록하고, 중요한 설정은 자체 복구 목록에 포함하세요. 서명 자료의 유일한 사본을 클라우드 작업 디스크에만 보관하지 마세요.
환경은 다시 구성할 수 있어도 중요한 자료는 별도 사본이 필요합니다.
물리적 격리만으로 네트워크 접근이 제어되지는 않습니다. SSH, 화면 공유, 개발 서비스를 켠 뒤에는 리스닝 주소와 인증 방식, 허용된 접근 출처를 확인하세요. 필요한 서비스만 외부에서 접근할 수 있게 설정하세요.
머신을 단독으로 사용하더라도 모든 포트를 열어 둘 필요는 없습니다.
콘솔 계정, macOS 사용자 계정, SSH 개인 키는 서로 다른 인증 정보입니다. 콘솔 암호를 시스템 암호와 재사용하지 마세요. 협업자마다 개인 키를 사용하고, 접근을 취소할 때는 해당 공개 키를 삭제하세요. 모두가 같은 개인 키를 함께 쓰면 안 됩니다.
자신의 컴퓨터에서 키를 생성하고 암호를 설정하세요. 공개 키 파일만 업로드하고, 확장자가 없는 개인 키는 업로드하지 마세요. 개인 키를 코드 저장소, 채팅 기록, 빌드 산출물에 넣지 마세요.
ssh-keygen -t ed25519
콘솔에서 연결 정보를 확인하고 공개 키를 대상 사용자 계정의 인증 키 목록에 추가하세요. 처음 연결할 때는 호스트 지문을 확인합니다. 현재 연결을 유지한 채 두 번째 터미널에서 키 로그인을 테스트한 후 인증 설정을 변경하세요.
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에는 별도의 계정을 사용하고 토큰 권한을 필요한 프로젝트와 작업으로 제한하세요. 로그에 환경 변수가 출력되지 않도록 주의하고, 협업자가 나가거나 작업이 끝나면 더 이상 필요 없는 공개 키와 토큰을 철회하세요.
코드는 직접 관리하는 저장소에 커밋하고, 대용량 파일과 빌드 산출물은 별도로 백업하세요. Xcode 버전, 종속성, 빌드 명령을 기록합니다. 캐시는 다시 만들 수 있지만 서명 자료와 커밋하지 않은 코드는 캐시로 복구할 수 없습니다.
데이터를 옮긴 뒤 CI Runner를 등록 해제하고 임시 토큰을 철회하며, 더 이상 필요 없는 서버 권한을 삭제하세요. 로컬 프로젝트 폴더만 비우고 외부 시스템이 계속 이 워크스테이션을 신뢰하게 두지 마세요.
전용 물리 Mac이 필요하다면 바로 워크스테이션을 선택하세요. 민감한 서명 자료나 팀 보안 요구사항이 있다면 먼저 지원 티켓으로 접근, 복구, 삭제 범위를 확인하세요.