Synology NAS에서 Docker로 개발 환경을 구축했다면 VS Code로 원격 접속해 개발하는 것이 가장 효율적입니다. 이 글에서는 VS Code Remote SSH를 사용해 NAS 내부 Ubuntu 컨테이너에 접속하는 전체 과정을 단계별로 정리합니다. Django 개발 환경 구축을 위한 필수 단계이므로 정확하게 따라 하면 손쉽게 셋업할 수 있습니다.
1. 왜 VS Code SSH 접속을 사용해야 할까?
일반적으로 Docker 컨테이너는 터미널로만 작업할 수 있습니다.
하지만 VS Code SSH 연결을 적용하면 다음 기능이 활성화됩니다.
- 코드 수정과 서버 설정을 한 화면에서 진행 가능
- Git, Docker, Python 등 확장 기능 활용
- Django, Gunicorn, Nginx 설정이 훨씬 간편해짐
- 로컬 PC에서 NAS를 완전한 개발 서버처럼 활용
즉, 개발 생산성이 크게 향상됩니다.
2. 사전 준비 사항
필수 조건:
- Synology NAS에서 SSH 활성화
DSM → 제어판 → 터미널 및 SNMP → SSH 서비스 활성화 - NAS 계정 비밀번호 확인
- 개발 PC에 VS Code 설치
- VS Code 확장 기능 설치
- Remote Development
- Remote SSH
확장은 VS Code 좌측 Extensions 메뉴에서 검색 및 설치합니다.
3. NAS에 SSH 접속 테스트
먼저 PC에서 접속이 되는지 확인합니다.
Windows 기준:
ssh yourname@NAS_IP -p 22
예시:
ssh admin@192.168.0.10
접속이 잘 된다면 다음 단계 진행.
4. VS Code에서 SSH 연결 설정
VS Code 실행 후 좌측 하단 → 녹색 Remote 아이콘 클릭
Remote-SSH: Connect to Host 선택
SSH 설정 파일에 SSH 접속 정보를 추가합니다.
예시 설정:
Host synology
HostName 192.168.0.10
User admin
Port 22
저장 후 적용하면 바로 연결됩니다.
5. Ubuntu 컨테이너로 이동하기
중요 포인트:
- SSH는 NAS 자체로 접속하는 것이 핵심
- Docker 컨테이너에는 docker exec 명령으로 진입
접속 후 터미널에서 다음을 실행:
sudo docker ps
컨테이너 ID 확인 후:
sudo docker exec -it 컨테이너ID bash
이제 Ubuntu 컨테이너 내부에 접속한 상태가 됩니다.
즉,
접속 구조는 다음과 같습니다:
개발PC
→ SSH
→ Synology NAS
→ docker exec
→ Ubuntu 컨테이너 내부
6. VS Code 내에서 편하게 컨테이너 접근하기
추가로 다음 확장을 설치하면 더 편합니다:
- Dev Containers
- Docker
VS Code에서 컨테이너를 선택하면 내부 파일 시스템을 바로 열 수 있어 Django 코딩까지 즉시 진행 가능합니다.
7. 보안 주의사항
외부 접속을 계획한다면 필수 설정:
- 공개키 기반 SSH 인증 적용
- NAS 루트 계정 직접 접속 금지
- 방화벽에서 SSH 포트 제한
보안 문제는 항상 가장 먼저 고려해야 합니다.
마무리
이번 단계에서는 Ubuntu 컨테이너 접근을 위한 개발 환경 연결 과정을 완료했습니다.
| 완료한 작업 | 결과 |
|---|---|
| SSH 활성화 | NAS 접근 가능 |
| VS Code Remote SSH 설정 | GUI 기반 원격 개발 가능 |
| docker exec 컨테이너 접속 | Django 서버 준비 가능 |
이제 컨테이너 내부에서 Django, Python, 의존 패키지 설치가 가능하며, 앞으로 Gunicorn + Nginx 연동까지 진행할 계획입니다.