프로나이아(Pronaia) 일본 배포 및 API 접근 제어 아키텍처 논의

Source

  • Field Notes/ReturnZero/Daily Notes/Day 719. 2023-06-19.md

Summary

프로나이아 서비스의 일본 지역 배포를 위한 기술적 우선순위와 아키텍처 설계안을 기록한 일일 노트입니다. 핵심 과제로는 API 레벨에서의 접근 제한(라이선스/키 관리 없이 API 차단을 우선 고려), 동시 연결 수 제한(Concurrency Control) 구현, 그리고 AWS 기반의 쿠버네티스(EKS 대신 EC2+K8s) 배포 환경 구축이 있습니다. 또한 S2 관련 모델 빌드(Triton, ONNX 등) 및 온라인 API 서버(GRPC/WebSocket)의 고루틴 풀 관리 로직에 대한 기술적 고민과 구현 방향성이 포함되어 있습니다.

Key Points

  • 프로나이아 일본 배포를 위한 API 접근 제어 전략: 초기에는 복잡한 키 관리 없이 API 레벨에서 차단을 우선 적용하기로 함.
  • 동시 연결 제한(Concurrency Control) 구현: 전역 변수를 통해 최대 동시 채널 수를 관리하고, GRPC 연결 수립 시 검사하여 초과 시 오류 처리하는 로직 설계.
  • AWS 배포 인프라: EKS 대신 EC2 위에 쿠버네티스를 직접 구축하고, ECR 이미지 관리, S3, EFS(VPN 연동 필요) 등을 포함한 아키텍처 논의.
  • S2 모델 빌드 작업: Triton 서버 설정, Spacer/ITN 모델 재빌드, ONNX 변환 및 베이스 이미지 변경 작업 진행.
  • 온라인 API 서버 구조: WebSocket 및 GRPC 서버를 NewConcurrentRunner 로 동시에 구동하며, GRPC 스트림 처리 및 미들웨어에서의 제어 가능성 검토.