1. 정의
Sunshine은 원격 PC의 화면과 오디오를 실시간으로 인코딩하여 다른 기기로 전송하고, 원격 기기의 키보드·마우스·게임패드 입력을 다시 호스트 PC에 전달하는 오픈소스 저지연 스트리밍 호스트 소프트웨어이다. LizardByte가 개발하며 Moonlight를 대표적인 클라이언트로 사용한다. Windows, Linux, macOS, FreeBSD를 호스트로 지원하고 NVIDIA·AMD·Intel GPU의 하드웨어 인코딩을 활용할 수 있다. 게임 스트리밍을 주목적으로 개발되었지만 데스크톱 전체를 전송할 수 있어 고성능 원격 데스크톱, 그래픽 작업, 개발 환경 접속 등의 용도로도 활용할 수 있다.
2. 동작 구조
Sunshine은 호스트 PC에 설치하고, 접속하는 기기에는 Moonlight를 설치하여 사용하는 구조이다. Moonlight에서도 Sunshine을 권장 호스트로 안내하고 있다.

Sunshine과 Moonlight의 관계는 다음과 같이 구분할 수 있다.
| 역할 | Host / Server | Client |
| 설치 위치 | 원격으로 사용할 PC | 사용자가 접속하는 기기 |
| 주요 기능 | 화면 캡처·인코딩·전송·입력 처리 | 영상 디코딩·화면 표시·입력 전달 |
| 개발 형태 | 오픈소스 | 오픈소스 |
| 관계 | 스트리밍 제공 | Sunshine에 접속 |
3. 특징
- 저지연 영상 스트리밍 중심 설계
- 게임 플레이를 고려한 낮은 입력 지연
- 원격 데스크톱보다 실시간 영상 전송 성능에 중점
- 키보드·마우스·게임패드 입력 전달 지원
- GPU 하드웨어 인코딩 지원
- NVIDIA NVENC 지원
- AMD AMF 지원
- Intel Quick Sync·VAAPI 지원
- Apple VideoToolbox 지원
- GPU 미지원 환경의 소프트웨어 인코딩 지원
- 다양한 운영체제의 호스트 지원
- Windows
- Linux
- macOS
- FreeBSD
- Moonlight와 결합된 Client-Server 구조
- Sunshine: Host
- Moonlight: Client
- PC·스마트폰·태블릿 등 다양한 클라이언트 이용 가능
- PIN 기반 기기 Pairing 지원
- 고화질 영상 코덱 활용
- H.264 계열 지원
- HEVC/H.265 지원
- 지원 하드웨어에서 AV1 활용 가능
- Windows의 HDR 스트리밍 공식 지원
- Linux의 HDR 스트리밍 실험적 지원
- 원격 입력 장치 지원
- 키보드 입력
- 마우스 입력
- Xbox 계열 게임패드
- DualShock·DualSense 계열
- 기타 가상 게임패드 구성 가능
- 운영체제에 따른 지원 기능 차이 존재
- Web UI 기반 관리
- 웹 브라우저를 통한 Sunshine 설정
- 애플리케이션 등록 및 관리
- Moonlight Client Pairing 관리
- 인코더·네트워크·입력 장치 설정
- LAN과 인터넷 환경 모두 지원
- 내부 LAN에서 직접 스트리밍 가능
- 공인 IP와 포트포워딩을 이용한 인터넷 접속 가능
- UPnP 기반 포트 개방 기능 제공
- UPnP 기본값은 비활성화
- 다수 TCP·UDP 포트 사용
- HTTPS: TCP 47984
- HTTP: TCP 47989
- Web: TCP 47990
- RTSP: TCP 48010
- Video: UDP 47998
- Control: UDP 47999
- Audio: UDP 48000
- 기본 포트 그룹 변경 가능
- 스트리밍 암호화 정책 설정 지원
- LAN 암호화 비활성·선택·필수 설정 가능
- WAN 암호화 비활성·선택·필수 설정 가능
- WAN 기본값은 지원되는 Client에서 암호화 사용
- 강제 암호화 설정 시 비암호화 Client 접속 거부 가능
- 오픈소스·Self-hosted 구조
- 서비스 사업자의 중계 인프라에 필수적으로 종속되지 않는 구조
- 사용자가 호스트와 네트워크 직접 관리
- 별도의 Sunshine 사용료가 없는 오픈소스 프로젝트
4. Sunshine과 주요 원격접속 기술 비교
Sunshine은 일반적인 업무용 원격 데스크톱보다 영상 품질과 입력 지연을 중요하게 설계한 제품이다. 따라서 RDP와 같은 전통적인 원격 데스크톱보다 Parsec이나 Steam Remote Play와 성격이 가깝다.
| 주요 목적 | 고성능 원격 스트리밍 | 게임·고성능 원격 작업 | Steam 게임 스트리밍 | 업무용 원격 데스크톱 |
| 구조 | Self-hosted | 서비스 기반 | Steam 기반 | Windows 기능 |
| 비용 | 오픈소스 | 무료·유료 서비스 | Steam 제공 | Windows 포함 |
| Host OS | Windows·Linux·macOS·FreeBSD | Windows·macOS 중심 | Steam 지원 OS | Windows Pro 이상 등 |
| GPU 인코딩 | 적극 활용 | 적극 활용 | 활용 | 지원 환경에 따라 활용 |
| 게임패드 | 강함 | 강함 | 강함 | 주목적 아님 |
| 고프레임 영상 | 강함 | 강함 | 강함 | 상대적으로 업무 화면 중심 |
| 관리 편의성 | 직접 구축 필요 | 비교적 간단 | 비교적 간단 | Windows 통합 |
| 외부 접속 | 네트워크 구성 필요 | 서비스가 연결 지원 | Steam 계정 기반 | VPN·포트포워딩 등 필요 가능 |
| 서버 종속성 | 낮음 | Parsec 의존 | Steam 의존 | Microsoft 생태계 |
| 주요 장점 | 자유도·성능·비용 | 편의성·기업 기능 | Steam 통합 | 업무·Windows 관리 |
Parsec 역시 데스크톱 화면을 영상으로 캡처해 네트워크로 전송하는 저지연 방식이며, 유료 Teams·Enterprise 제품에서는 SAML, 감사 로그, 관리 기능 등을 제공한다. Steam Remote Play는 Steam 게임 스트리밍을 중심으로 구성된 서비스이다. Windows RDP는 원격 Windows 애플리케이션과 데스크톱의 화면·입력을 전달하기 위한 Microsoft의 원격접속 프로토콜로, 게임 스트리밍보다는 업무 환경과 서버 관리에 중점을 둔 기술이다.
5. 도입 시 기대효과
- 고성능 PC 자원의 원격 활용
- 저사양 노트북에서 고성능 데스크톱 사용
- GPU가 필요한 프로그램의 원격 실행
- 외부에서도 기존 워크스테이션 자원 활용
- 원격 게임 환경 구축
- 거실 TV에서 데스크톱 게임 실행
- 스마트폰·태블릿을 이용한 PC 게임 플레이
- 저사양 단말을 게임 스트리밍 Client로 활용
- 원격 그래픽 작업 환경 구축
- 3D 프로그램 원격 실행
- CAD·영상편집·렌더링 프로그램 활용
- GPU 워크스테이션의 원격 활용
- 장비 투자 효율 향상
- 여러 장소에 고성능 PC를 중복 구축할 필요 감소
- 기존 데스크톱 GPU 자원의 원격 활용
- 저사양 Client 단말 활용 가능
- 클라우드 서비스 의존도 감소
- 자체 PC를 Host로 활용
- 자체 네트워크를 통한 직접 스트리밍
- Self-hosted 방식의 데이터 관리
- 기존 VPN과 결합한 보안 구성 가능
- Sunshine 포트의 인터넷 직접 노출 최소화
- VPN 접속 이후 내부 IP로 Sunshine 연결
- WireGuard·Tailscale·Synology SSL VPN 등과 조합 가능
6. 활용 예시
| 원격근무 | 개발자·엔지니어 | 외부 노트북에서 사무실 고성능 PC 접속 | 기존 개발환경 그대로 활용 |
| 소프트웨어 개발 | 개발자 | IDE, VM, Docker, 컴파일 환경 원격 이용 | 개발환경 이동 최소화 |
| AI·GPU 작업 | 연구자·개발자 | GPU가 장착된 데스크톱에서 모델 실행·결과 확인 | 고성능 GPU 원격 활용 |
| 영상·그래픽 | 디자이너·영상 제작자 | 편집·렌더링 워크스테이션 원격 조작 | 저사양 Client에서도 고성능 작업 |
| 게임 | 개인 사용자 | 데스크톱 게임을 노트북·태블릿·TV에서 이용 | 장소와 단말 제약 완화 |
| 홈 서버 | 개인·SOHO | 집의 고성능 PC를 개인 클라우드 PC처럼 활용 | 별도 클라우드 PC 비용 절감 |
| 원격 장비 관리 | 개발실·연구실 | 특정 GPU·라이선스가 설치된 PC에 원격 접속 | 장비 공유 효율 향상 |
7. 네트워크 구성 예시
인터넷에서 Sunshine 포트를 직접 공개하기보다는 VPN과 결합하는 방식이 관리와 보안 측면에서 유리하다.

Microsoft 역시 외부에서 원격 PC에 접속할 때 포트포워딩 외에 VPN을 사용하는 방식을 안내하고 있다. Sunshine도 같은 원칙으로 내부망에서만 접근시키고 VPN을 원격 진입점으로 사용하는 구성이 가능하다.
8. 활용 시 고려사항
- 네트워크 지연시간 중요
- 단순 다운로드 속도보다 RTT·Jitter·Packet Loss의 영향 큼
- Host PC의 유선 Ethernet 연결 권장
- Wi-Fi 사용 시 Wi-Fi 6·6E·7 등 안정적인 무선 환경 권장
- Steam 역시 Remote Play 성능 문제 완화를 위해 Host의 유선 연결을 권장 (스팀 지원 센터)
- Host PC의 GPU 인코더 성능 중요
- 해상도·FPS·코덱에 따른 GPU 인코더 부하 발생
- 오래된 GPU에서 HEVC·AV1 제한 가능
- Software Encoding 사용 시 CPU 부하 증가
- Client 디코더 성능 중요
- 고해상도 HEVC·AV1 사용 시 Client 하드웨어 디코딩 지원 확인 필요
- Client 성능 부족 시 지연·프레임 드롭 발생 가능
- 인터넷 직접 노출 시 보안 설정 필요
- 불필요한 포트포워딩 최소화
- Web UI의 WAN 접근 제한
- 강력한 인증 정보 사용
- 필요 시 WAN 스트리밍 암호화 강제
- VPN 사용 검토
- UPnP 사용 신중
- Sunshine의 UPnP 기본값 비활성화
- 자동 포트 개방보다 방화벽·NAT 정책 직접 관리 권장 (LizardByte Docs)
- 소프트웨어 업데이트 중요
- 보안 취약점 수정 버전 지속 적용 필요
- 2026년 9월 15일 공개된 안정 버전 v2026.914.233613에도 Linux Host 대상 높은 심각도의 보안 수정 포함
- 인터넷 접근이 가능한 Sunshine Host의 최신 버전 유지 필요 (GitHub)
9. 핵심 정리
Sunshine은 Moonlight와 함께 사용하는 오픈소스 Self-hosted 저지연 원격 스트리밍 솔루션이다. Windows RDP처럼 단순한 업무 화면 전송보다 고해상도·고프레임 영상과 빠른 입력 응답에 강점이 있으며, 게임뿐 아니라 개발, AI, 영상편집, 3D 그래픽 등 고성능 PC를 외부에서 사용하는 환경에도 활용할 수 있다. 특히 다음과 같은 구성이 적합하다.
Sunshine = Host
Moonlight = Client
VPN = 외부에서 내부망으로 들어오는 보안 통로
따라서 가정이나 사무실에 고성능 PC가 있고 외부에서 이를 원격으로 활용하려는 경우 VPN + Sunshine + Moonlight 조합은 클라우드 원격 PC 서비스를 대체할 수 있는 하나의 Self-hosted 구성이다.
참고문서
- "Sunshine", LizardByte. @원문보기
- "Sunshine - Self-hosted game stream host for Moonlight", LizardByte. @원문보기
- "Getting Started", LizardByte. @원문보기
- "Configuration", LizardByte. @원문보기
- "Moonlight Game Streaming", Moonlight. @원문보기
- "Releases · LizardByte/Sunshine", LizardByte, 2026년 9월 15일. @원문보기
- "Overview", Parsec, 2026년 7월 7일. @원문보기
- "Understanding the Remote Desktop Protocol (RDP)", Microsoft, 2026년 2월 12일. @원문보기
- "Steam Link - 권장 네트워크 설정", Valve. @원문보기
'컴퓨터 공학·과학 이론 > IT 용어' 카테고리의 다른 글
| [IT 용어] Moonlight, 문라이트 (0) | 2026.09.19 |
|---|---|
| [IT 용어] Synology SSL VPN (0) | 2026.09.19 |
| [IT 용어] 핑거세일즈, Finger Sales (0) | 2026.09.17 |
| [IT 용어] Blender, 블렌더 (0) | 2026.09.17 |
| [IT 용어] Three.js (0) | 2026.09.16 |
댓글