튜토리얼

휴대폰으로 서버 10대 관리하기

태그, 검색, 그룹, 그리고 작은 함대를 모바일에서 정말 쾌적하게 관리하기 위한 워크플로.

CC Chen Chen· 창업자·2026년 4월 23일·8분 분량

좋은 명명 규칙

10대 규모 서버 함대에 가장 큰 레버리지를 주는 한 가지는 이름을 잘 짓는 것입니다. 나쁜 이름——server1, vps-2, random-vps——은 반쯤 잠든 상태에서 보면 휴대폰 목록을 추측 게임으로 만듭니다. 좋은 이름은 한눈에 어떤 머신이 무엇을 하고 어디 있는지 알려줍니다.

제가 이것저것 시도한 끝에 정착한 형식:

<role>-<env>-<number>-<region>

prod-web-01-sgp
prod-db-01-sgp
stage-web-01-sgp
dev-web-01-local
home-nas
home-pihole

역할을 맨 앞에. 가장 먼저 읽는 부분이니까. 환경이 두 번째——피곤할 때 prod와 staging이 섞이지 않도록. 리전은 가장 덜 변하므로 마지막. 홈랩과 개인 머신은 구조적 명명을 그냥 포기——home-nas면 충분합니다. 100대가 아니라 3대니까요.

제값을 하는 태그

TermAI는 연결마다 여러 태그를 붙일 수 있습니다. 방심하면 과도하게 태깅하게 되고——서버마다 태그 5개씩, 전부 노이즈가 됩니다. 절제가 도움이 됩니다.

저에게 꾸준히 값을 해온 태그:

  • prod / staging / dev——가장 중요한 필터
  • web / db / worker——두 번째로 중요
  • oncall——현재 로테이션에 있는 머신에 붙이고, 빠지면 떼기. 새벽 2시 목록은 짧아야 합니다.
  • home——개인용과 업무용 분리

붙이기를 멈춘 태그: 리전(이미 이름에 있음), OS 버전(목록 뷰에서는 무관함), nginx 같은 서비스별 태그(신호가 약함). 적은 게 더 낫다.

시각적 구조를 위한 그룹

TermAI의 그룹은 사실상 이름 붙인 폴더입니다——호스트 목록에서 접고 펼 수 있습니다. 저는 평탄하게 유지합니다: 환경마다 그룹 하나(Production / Staging / Dev / Home). 그룹 안에서는 역할 순으로 정렬.

Production은 기본 접힘. 앱을 열 때마다 보이는 게 아니라 의도적으로 펼치고 싶습니다. Home은 기본 펼침——일상 사용 목록이니까.

그룹 중첩은 피합니다. "이 prod-db는 Production → DB 안에 있나, Production → Critical 안에 있나?" 같은 인지 비용은 추가 정리 정돈으로 얻는 가치보다 큽니다. 평탄한 그룹 + 태그가 계층적 그룹보다 더 멀리 확장됩니다.

서버가 8~10대를 넘기면, 분류를 고민하기보다 스크롤하는 게 빠릅니다. TermAI 호스트 목록 상단 검색바는 라벨, 호스트, 사용자명, 태그를 모두 매칭합니다. 세 글자만 치면 맞는 서버만 남습니다.

전술적으로, 일상 사용 세트 내에서 3글자 접두사로 유일하게 식별되도록 서버 이름을 지으세요. pro = prod-web-01, nas = home-nas, pi = home-pihole. 세 글자로 모호함이 사라지면, 어떤 연결도 두 번 탭과 한 번 스와이프로 실행할 수 있습니다.

명명이 잘 됐다는 신호는, 목록을 더 이상 읽지 않고 검색바에 터치 타이핑을 시작할 때입니다.

반복 명령을 위한 Snippets

휴대폰에서 치는 쉘 명령은 데스크톱에서 치는 것과 다릅니다. 데스크톱은 탐색과 일회성. 휴대폰은 "매번 같은 다섯 개". 그 다섯 개를 저장하세요.

제가 가장 자주 쓰는 snippets:

  • journalctl -u nginx --since 1h -n 100——최근 nginx 로그
  • df -h | head——빠른 디스크 점검
  • docker compose ps——뭐가 떠 있는지
  • docker compose logs -f --tail 50 api——특정 서비스 로그 추적
  • sudo systemctl restart caddy——원버튼 "프록시 한 번 차주기"

TermAI의 snippet은 카테고리로 정리되며, 특정 호스트에 핀할 수도 있습니다. 휴대폰 키보드는 영원한 마찰입니다. 이 다섯 명령을 안 치는 것만으로도 모바일 세션 시간 상당 부분을 되찾을 수 있습니다.

휴대폰에 둘 것 vs 랩톱에 둘 것

일부 작업은 그냥 랩톱 거리입니다. 거기에 맞서지 마세요. 휴대폰은 트리아지와 작은 수정용이지, 200줄짜리 Terraform 편집용이 아닙니다.

제 구분:

  • 매번 휴대폰: 서비스 재시작. 로그 확인. 프로세스 추적. top 보기. 푸시로 온 Y/n 응답. 나한테 걸려 있는 배포 승인.
  • 가끔 휴대폰: SFTP로 설정 파일 한 줄 수정. DB 한 줄 쿼리. 원격 tarball 내려받기.
  • 매번 랩톱: 주요 스키마 변경. 코드 리뷰. 새 서비스 배포. 실행 전에 100줄짜리 스크롤백을 세 번 다시 읽고 싶은 모든 것.

휴대폰 세션이 3분을 넘기고 있다면, 그건 신호입니다——빨리 끝내든지, 랩톱으로 에스컬레이션하든지. 휴대폰은 "그 일을 한다"에 좋고, "그 일을 생각한다"에는 나쁩니다.

새벽 2시 워크플로

위 모든 걸 합치면, 애초에 TermAI를 만든 시나리오가 됩니다:

  1. 알람 발생——휴대폰이 진동, 알림에 서버 이름과 문제가 표시됨.
  2. TermAI 열고, 검색바 탭——서버 이름 3글자 입력. 정확한 호스트가 강조됨.
  3. 접속——한 번 탭. 앱이 열린 시점에 Tailscale 터널은 이미 올라와 있음.
  4. Snippet——타이핑 대신, 매칭되는 저장된 명령(로그 / 상태 / 재시작)을 탭.
  5. 출력 읽고 수정 실행——대개 재시작 명령 하나. 복잡하면 AI 헬퍼에게 설명 요청.
  6. 확인하고 종료——같은 snippet으로 서비스가 돌아왔는지 다시 검증, 휴대폰 잠그고, 잠.

목표 시간: 휴대폰 꺼내기부터 수정 확인까지 90초 이내. 잘 명명된 함대와 몇 개의 snippets가 있다면 도달 가능합니다. 모바일 SSH의 핵심은, "알람 → 해결" 간격을 침대에서 끝낼 수 있을 만큼 작게 줄이는 데 있습니다.

핵심 요약

  • 대규모 정리: 태그와 그룹으로 수십 개의 연결도 탐색 가능
  • 스니펫: 자주 쓰는 명령을 빠른 바에 고정해 반복 입력 제거
  • 멀티 세션: 여러 활성 세션 사이를 위치 손실 없이 전환
  • 호스트별 AI: 어시스턴트가 접속 중인 서버(OS, 최근 출력, 실시간 리소스)에 맞춰 제안
  • 안정적 주소: 내장 Tailscale로 각 머신이 네트워크와 무관하게 동일 주소 유지
TermAI 사용해 보기

iOS/Android 무료. 무료 플랜은 AI 5회/일, SSH/SFTP 무제한, Tailscale 내장.

CC
Chen Chen — Founder of TermAI

Writes about mobile DevOps, terminal UX, and the surprising depth of "boring" infrastructure.

Was this useful? ← Back to blog