프로젝트 소개

aws_cloud_gaming을 사용하면 AWS GPU 인스턴스에 개인용 리눅스 게이밍 데스크톱을 띄우고, Tailscale VPN을 통해 Sunshine과 Moonlight로 어떤 기기로든 스트리밍한 뒤, 작업이 끝나면 인스턴스를 파괴할 수 있습니다. 게임과 Steam 세션은 다음을 위해 S3에 저장됩니다. CLI 도구 `cg`가 전체 수명 주기를 처리합니다: - `cg check --fix`는 pacman, apt, dnf, zypper 전반에서 누락된 노트북 의존성(AWS CLI, Tailscale, Moonlight, OpenSSH, curl, python3)을 설치합니다. - `cg init`은 SSH 키 쌍, 게임 저장용 S3 버킷, IAM 역할, 예산 알림, 클라우드 워치독을 생성한 다음, NVIDIA 드라이버, 데스크톱 환경, 오디오, Sunshine, Steam, Tailscale로 박스를 빌드합니다. 또한 Moonlight를 페어링하고 선택한 아카이브 게임을 복원합니다. - `cg open`은 스트리밍을 시작하고, 종료 시 박스를 파괴할지 제안하며 게임과 Steam 로그인 정보를 S3에 저장합니다. - `cg destroy`는 게임을 S3에 저장하고 인스턴스를 삭제하여 과금을 중지합니다. - `cg status`, `cg cost`, `cg games`, `cg library list`는 인스턴스 상태, 지출, Steam 활동, 아카이브된 게임을 보고합니다. 비용 보호에는 플레이를 멈추면 박스를 종료하는 유휴 워치독, AWS 예산 알림, 자체 IAM 역할을 가진 클라우드 워치독이 포함됩니다. 비용 절감을 위해 스팟 인스턴스가 기본값입니다. README는 이것이 실제 AWS 계정에서 실제 비용을 지출하며, GPU 할당량이 승인된 유료 AWS 플랜이 필요하다고 명시적으로 경고합니다. 선택적 데스크톱 GUI 앱(Node.js)은 동일한 `cg` 명령을 감싸서 인스턴스 상태, 지출, 아카이브 내용, 가드 상태, 단계별 빌드 뷰를 보여줍니다. 자체적으로 AWS 로직을 보유하지 않고 `cg`를 실행하여 출력을 렌더링합니다. 추가 기능으로는 `GAME_NTFY_URL`이 설정된 경우 ntfy 휴대폰 알림, `TAILSCALE_API_KEY`가 구성된 경우 오래된 Tailscale 항목 자동 정리, 동일한 tailnet에 참여하여 다중 기기(휴대폰, TV) 지원 등이 있습니다. ap-south-2의 g6.xlarge 인스턴스와 Ubuntu 24.04에서 테스트되었으며, Arch 기반 리눅스 클라이언트로 스트리밍되었습니다.