피드로 돌아가기
Dev.toDevOps
원문 읽기
EC2 Spot 기반 Ephemeral Runner 도입으로 CI 비용 99.7% 절감
Spot instances as GitHub Actions runners
AI 요약
Context
GitHub Managed Runners 사용 시 발생하는 고비용 구조와 고정된 인스턴스 사양으로 인한 빌드 제약 발생. VPC 내부 프라이빗 리소스 접근 시 발생하는 네트워크 설정의 복잡성 및 보안상 취약한 Persistent Runner의 빌드 오염 문제 해결 필요.
Technical Solution
- GitHub Webhook과 API Gateway, Lambda를 연동한 이벤트 기반 Runner 프로비저닝 구조 설계
- SQS Queue를 통한 작업 요청 버퍼링으로 급격한 트래픽 증가 시 안정적인 스케일업 제어
- Packer로 사전 빌드된 AMI와 단일 사용 Registration Token을 활용한 Ephemeral Worker 환경 구현
--ephemeral옵션을 통한 1-Job-1-Instance 원칙 준수로 빌드 간 격리 및 보안 Blast Radius 최소화- Scale-down Lambda의 주기적 모니터링을 통한 미사용 인스턴스 자동 회수 및 리소스 최적화
- Terraform-aws-github-runner 모듈을 활용한 인프라 정의 및 관리 자동화
실천 포인트
1. 빌드 사양이 다양하거나 VPC 내부 리소스 접근이 빈번한지 검토
2. Packer를 통한 AMI 표준화 및 자동 업데이트 파이프라인 구축 여부 확인
3. `--ephemeral` 설정을 통한 워커 재사용 방지 및 상태 오염 차단 적용
4. Spot 인스턴스 중단 가능성에 대비한 On-demand Fallback 전략 수립