MakeAI 딥러닝

폐쇄망 설치형 배포 체크리스트 — 도커 이미지 하나로는 안 끝나요

금융·공공·제조 현장에 설치형으로 들어가면서 매번 놓쳤던 것들을 체크리스트로 만들었어요. 모델 반입, GPU 드라이버, 업데이트 경로, 로그 반출까지요.

3분 읽기

1월 첫 글에서 "설치형은 도커 이미지 넘겨주는 일이 아니더라"고 썼는데, 오늘 그 얘기를 제대로 할게요. 폐쇄망(인터넷이 안 되는 망)에 문서 AI를 설치하면서 저희가 실제로 겪은 걸 체크리스트로 정리했어요. 비슷한 일 하시는 분들이 한 번씩 당하는 것들이에요.

반입 전

□ 반입 매체와 절차를 먼저 물어보세요. USB가 되는 곳, 전용 반입 PC만 되는 곳, 승인된 CD만 되는 곳이 다 있어요. 파일 용량 제한도 있어요(수십 GB 모델 가중치를 4GB 단위로 쪼개 본 적 있어요).

□ 전부 한 번에 가져가세요. 설치 중에 "아, 이 패키지 하나만 더" 는 안 돼요. 다음 반입 승인까지 며칠 걸려요. 저희는 설치 이미지를 만든 뒤 인터넷 끊은 가상 머신에서 처음부터 끝까지 설치 리허설을 해요. 이걸 안 하고 갔다가 pip 패키지 하나 때문에 허탕 친 적이 있어요.

□ 체크섬 목록을 같이 가져가세요. 반입 과정에서 파일이 깨지기도 하고, 보안 검사에서 특정 파일이 조용히 빠지기도 해요. 설치 스크립트 첫 단계가 체크섬 검증이에요.

□ 모델 가중치의 출처를 문서화하세요. 보안 심사에서 "이 모델 파일은 뭐고 어디서 왔냐"를 물어봐요. 라이선스, 학습 데이터 출처 개요, 저희가 추가 학습한 부분을 문서로 준비해요.

GPU와 드라이버

□ 드라이버 버전을 미리 확인하세요. 고객사 GPU 서버는 이미 드라이버가 깔려 있고 함부로 못 바꿔요. 저희 컨테이너의 CUDA 버전이 그 드라이버와 호환되는지 설치 전에 확인해요. 안 맞으면 저희 쪽 이미지를 바꾸는 게 빨라요.

□ 컨테이너 런타임이 GPU를 보는지 확인하세요. NVIDIA Container Toolkit이 안 깔려 있거나 버전이 안 맞는 경우가 있어요. 이것도 반입 목록에 넣어요.

□ GPU 메모리 여유를 가정하지 마세요. "A100 80GB"라고 들었는데 가 보니 다른 팀이 절반 쓰고 있어요. 모델별 최소 메모리와 배치 크기 설정을 환경 변수로 열어 두고, 현장에서 조정해요.

네트워크와 보안

□ 외부 호출이 0인지 코드로 확인하세요. 폰트 CDN, 텔레메트리, 패키지 업데이트 확인, 허깅페이스 토크나이저 다운로드. 이런 게 코드 어딘가에 숨어 있어요. 저희는 설치 전 테스트로 아웃바운드가 전부 막힌 환경에서 모든 기능을 돌려 봐요. 하나라도 외부로 나가려고 하면 실패해야 해요.

□ 시간 동기화. 폐쇄망은 NTP도 안 되는 경우가 있어요. 인증서 검증, 로그 타임스탬프가 틀어져요. 내부 NTP 서버 주소를 받아 두세요.

□ 인증서. 내부 HTTPS를 쓰면 고객사 사설 CA 인증서를 컨테이너에 넣어야 해요. 이거 빠지면 내부 시스템 연동이 전부 실패해요.

□ 계정과 권한. root 못 쓰는 곳이 많아요. 컨테이너를 비root 사용자로 돌리고, 필요한 디렉터리 권한만 문서화해요.

운영

□ 업데이트 경로를 설계하세요. 처음 설치보다 두 번째 업데이트가 더 어려워요. 저희는 "전체 재설치"가 아니라 바뀐 컨테이너 이미지와 모델만 반입하는 차분 업데이트 패키지를 만들어요. 그리고 롤백 절차를 같이 넣어요.

□ 로그 반출 규정을 확인하세요. 장애 분석을 하려면 로그가 필요한데, 로그에 문서 내용이 들어가면 반출이 안 돼요. 저희는 로그에 문서 내용을 절대 안 남기고(ID와 좌표만), 반출용 로그 묶음을 만드는 스크립트를 넣어 둬요. 이것도 보안팀 사전 승인을 받아요.

□ 모니터링은 현장 안에서. 외부 모니터링 서비스는 못 써요. 간단한 상태 페이지와 디스크·GPU 사용량 알림을 제품 안에 넣었어요.

□ 라이선스 체크가 외부 서버를 안 부르게. 라이선스 서버 호출하는 제품은 폐쇄망에서 그냥 안 돌아요. 오프라인 라이선스 키 방식이어야 해요.

사람

□ 현장 담당자와 역할을 정하세요. 설치 당일에 서버 접속 권한 가진 분이 휴가인 경우가 있어요. 사전에 날짜·권한·연락처를 맞춰요.

□ 운영 교육 자료를 종이로도. 폐쇄망 안에서는 저희 문서 사이트를 못 봐요. 운영 가이드는 설치 패키지 안에 넣고, 핵심은 인쇄해서 드려요.

정리하면

설치형 제품은 "인터넷 없이 처음부터 끝까지 혼자 설치되는가" 를 매 릴리스마다 자동으로 검증해야 해요. 저희는 CI에 아웃바운드 차단 환경에서 설치·기동·기본 기능 테스트를 넣었어요. 이게 있고 없고가 현장에서 하루 차이를 만들어요.

다음 주는 GPU 한 장으로 얼마나 처리할 수 있는지, 배치 처리량 설계 이야기예요.