Enterprise Infrastructure Intelligence ● Certified engineers online · Fast response guaranteed
클라우드/DevOps

GitHub Actions Runner: 아키텍처 및 통신 메커니즘

GitHub Actions Runner는 워크플로우 작업을 실행하는 컴퓨팅 환경으로, GitHub 호스팅 러너와 사용자 관리 자체 호스팅 러너로 구분됩니다. Runner는 HTTPS 장시간 폴링을 통해 GitHub Actions 서비스와 통신하며, 라벨 기반 라우팅과 에피머럴(ephemeral) 모드를 지원하여 안전하고 확장 가능한 CI/CD 실행 환경을 제공합니다.

2026.10.09  ·  5회  · 

Runner의 기본 역할과 유형

Runner는 GitHub Actions 워크플로우의 개별 작업(job)을 실행하는 서버입니다. GitHub는 GitHub 호스팅 러너(리눅스, 윈도우, macOS)와 조직이 직접 관리하는 자체 호스팅 러너 두 가지를 제공합니다. 자체 호스팅 러너는 Linux, Windows, macOS에서 실행 가능하며, Docker 컨테이너 기반 작업을 실행하려면 Linux 환경에 Docker가 설치되어야 합니다.

Runner와 GitHub Actions 서비스 간 통신 메커니즘

자체 호스팅 Runner는 포트 443 아웃바운드 HTTPS 연결을 통해 GitHub Actions 서비스와 통신합니다. Runner 애플리케이션은 HTTPS 장시간 폴링(long poll) 방식으로 작업 할당을 대기하며, 작업 수신 후 로그와 상태를 지속적으로 보고합니다. Runner는 최소 70Kbps의 업로드/다운로드 속도와 github.com, api.github.com, actions.githubusercontent.com 등의 도메인에 접근할 수 있어야 합니다.

작업 라우팅과 Runner 선택 알고리즘

GitHub Actions 서비스는 워크플로우 작업의 runs-on 레이블을 자체 호스팅 Runner의 레이블 및 그룹과 매칭하여 작업을 디스패치합니다. 온라인 상태이고 유휴 중인 Runner를 발견하면 작업을 할당하며, 60초 내에 Runner가 작업을 수용하지 않으면 재큐잉됩니다. 일치하는 Runner가 없으면 최대 24시간까지 작업이 대기합니다.

에피머럴 Runner와 자동 업데이트

GitHub는 에피머럴 모드(--ephemeral 플래그)로 Runner 등록할 것을 권장합니다. 각 Runner가 정확히 하나의 작업을 처리한 후 자동으로 등록 해제되어, 이전 작업의 상태 노출을 방지하고 보안을 향상시킵니다. Runner 애플리케이션은 작업 할당 시 또는 릴리스 후 1주일 내에 자동으로 업데이트되며, 사용자가 --disableupdate 플래그로 자동 업데이트를 비활성화한 경우 30일 내에 수동 업데이트를 해야 합니다.

참고 출처: GitHub Docs
WIKIDATA WORKSTATION
AI·렌더링에 최적화된
전문가용 워크스테이션
NVIDIA RTX GPU · 최대 192GB 메모리 · ECC 지원