프로젝트

웹 게임 플랫폼

HTML·Unity WebGL 게임과 커뮤니티, 유료 멤버십을 제공하는 웹 서비스입니다.

웹 게임 플랫폼 이미지 1/3
1 / 3

이미지 출처: 게임 목록·게임 상세·커뮤니티 화면

맡은 일

HTML·Unity WebGL 게임과 커뮤니티, 유료 멤버십을 제공하는 회사의 웹 서비스입니다. 기획자·디자이너와 협업했고, 프론트엔드와 API, 인증·결제, 실시간 게임과 AWS 인프라를 개발했습니다.

기술 사례

서버리스 구성

서비스 초기에는 트래픽 규모를 예측하기 어려워 상시 실행 서버를 두지 않는 구성을 선택했습니다. 프론트엔드는 정적 페이지로 배포하고, API는 Lambda와 온디맨드 DynamoDB로 구성했습니다.

이미지는 S3, 인증은 Cognito를 사용했습니다. 테이블·버킷·권한·스케줄은 CDK 코드로 정의하고, 데이터 테이블에는 RETAIN 정책을 적용했습니다.

실시간 게임 통신

API Gateway WebSocket과 전용 Lambda로 실시간 게임의 투표·채팅·진행 상태를 처리했습니다. 상태 데이터에 TTL을 설정해 만료 후 정리되도록 했습니다.

REST API와 실시간 통신의 실행 환경을 분리해 메모리와 타임아웃을 따로 설정했습니다.

추가 작업

정기구독 결제

토스페이먼츠 빌링키 결제와 EventBridge 기반 정기 청구를 연결했습니다. 웹훅 검증, 결제 실패 시 구독 비활성화, 카드 정보 조회 결과 재사용을 구현했습니다.

카드 정보는 24시간 안에 조회한 결과를 재사용하고, 동기화 작업은 백그라운드에서 처리하도록 바꿨습니다.

캐시 도입 검토

DynamoDB 읽기 비용과 별도 캐시 서버 비용을 비교해 도입을 보류했습니다. 캐시 인터페이스는 남겨 두었습니다.

목록 조회 개선

댓글과 소식 목록에서 항목별로 하던 조회를 BatchGet으로 묶었습니다. 목록에 필요 없는 본문 필드는 응답에서 제외했습니다.

실제 서비스와 사용자 기록

게임 목록·상세 페이지와 커뮤니티, 유료 멤버십을 제공하는 서비스로 운영했습니다. 아래는 운영 당시 저장한 GA4의 최근 30일 활성 사용자 화면입니다.

GA4의 최근 30일 활성 사용자 약 3천 명 기록
운영 당시 GA4 기록 · 최근 30일 활성 사용자 약 3천 명 (캡처 내 조회 기간 기준)