피드로 돌아가기
Spot instances as GitHub Actions runners
Dev.toDev.to
DevOps

EC2 Spot 기반 Ephemeral Runner 도입으로 CI 비용 99.7% 절감

Spot instances as GitHub Actions runners

Khachatur Ashotyan2026년 5월 23일14intermediate

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 전략 수립

원문 읽기