단일 클라우드 Mac DR는 두 번째 머신 이전에 업무 프로세스 문제입니다
단독 베어메탈은 이웃 가상화 소음을 줄이지만 주·비 선언이 없으면 유지 창·인증서·시크릿·Runner 지문은 여전히 단일 경로입니다. 병렬 한 대를 더해 처리량만 늘리는 목적과 단일 경로가 끊긴 뒤 역할을 넘기는 목적은 다릅니다. 두 목적을 거친 하나의 Runner 태그에 몰아넣으면 대기열 논쟁만 커집니다.
아래 다섯 줄은 대시보드 곡선과 짝을 맞추기 쉽고 한 번도 안 본 팀이면 오히려 프로브가 부족할 수 있습니다.
단일 존 링크형:점프와 제어가 같은 접두면 손실이 Xcode 문제로 보입니다.
회수·기한형:일 만료와 릴리스가 맞물리면 미리 동결·연장을 넣습니다.
시크릿·Runner 지문형:전환 후 지문을 정리하지 않으면 이중 등록입니다.
디스크·캐시형:캐시 키를 맞추지 않으면 전환 후에도 꼬리 지연입니다.
역할 혼합형:디버그와 나이틀리를 같은 태그에 두지 않습니다.
멀티리전 CI 라우팅은 해당 글의 태그·아티팩트 규칙을 따르고 본 장의 전환 예외만 인시던트 선언 후에 적용하면 됩니다.
냉비·온비·병렬 둘째 Runner가 TCO와 RTO에서 갈라지는 방식
냉비는 필요 시 부팅·온비는 저부하 상시입니다. 병렬 두 대의 목적은 주로 처리량입니다. 세 번째도 대체 경로인지 기록을 남기십시오. 일반 질문은 고객센터입니다.
| 차원 | 냉비(온디맨드 일 대여) | 온비(월간 상시 저부하) | 병렬 둘째 Runner(이중 처리) |
|---|---|---|---|
| 전형 RTO 감 | 수 시간~하루, 이미지·스크립트에 따라 다름 | 대개 15~60분대 전환 | 스케줄러 따라 다름, 단일 경로 RTO와 무관할 수 있음 |
| 현금 흐름 | 불확실한 피크에 지출 | 고정 월비로 예산 라인에 싣기 좋음 | 장기 높지만 대기열 단축을 수치화하기 쉬움 |
| 스펙 거울 여부 | Runbook이 스탠바이 한 단 낮춤 허용 가능 | 동급 권장 또는 금지 job 목록 필수에 가깝습니다 | 큐별 동급·단계 혼합이 많습니다 |
| 주 운영 부담 | 웜 스크립트·납기 SLA·시크릿 주입 | 이중 패치·인증서·모니터 맞춤 | 태그 이름·자원 경쟁·원가 장부 |
| 어울리는 팀 | 예산 민감·피크 드물음 | 강한 단일 경로 의존 공개나 컴플라이언스 창이 있음 | 높은 병렬 CI 상시 필요 |
처리량을 사는지 단일 경로 대체를 사는지 먼저 선을 긋고 가격·기간 페이지에서 주기와 티어를 고르십시오.
회고 때 웜업 시간과 청구를 함께 적으면 청구만 볼 때의 착시를 줄입니다.
주 리전과 스탠바이 선택·시크릿 이전 골격
한 엔지니어에게만 RTT가 짧은 것만으로 고르지 마십시오. 점프·아티팩트·거주 규칙·콜 타임대 네 조건은 자주 부딪칩니다. 가중 표를 두십시오.
자동화만 앞세우지 말고 사람 Runbook이 먼저입니다. 스탠바이 로그인·허용 목록 확인, 주 태그 드레이닝과 고정 타임아웃, 남은 Runner 등록 제거 후 리전 인지 재시도로 가장 짧은 그린을 먼저 돌립니다.
PRIMARY_REGION=sg
STANDBY_REGION=jp
TAG_PRIMARY=runner-${PRIMARY_REGION}-m4pro-64-ci
TAG_STANDBY=runner-${STANDBY_REGION}-m4pro-64-ci-dr
vault read secret/ci/${PRIMARY_REGION}/github-app
ssh ${USER}@${STANDBY_HOST} 'softwareupdate --list; xcodebuild -version'
ctl set-runner-tags ${TAG_PRIMARY} draining=true
ctl wait-queue-depth tag=${TAG_PRIMARY} max=0 timeout=45m
ctl register-runner host=${STANDBY_HOST} tags=${TAG_STANDBY}
ctl reroute-queue from=${TAG_PRIMARY} to=${TAG_STANDBY} strategy=affin-fallback
알림:바스티온 SSH와 제어 웹훅을 따로 검사하십시오. SSH만 살아 있고 웹훅만 뒤처지면 밤새 걸린 것처럼 보입니다.
실패 선언 권한, 동결 내·외 허용 RTO, 낮은 스탠바이에서 막아야 할 스킴을 장부에 먼저 적고 스크립트로 내립니다.
여섯 단계로 전환을 연습 가능한 Runbook으로
폭발 반경 고정:벤더 공고·링크 플랩·호스트 자체를 나누고 사람·아티팩트 두 프로브 모두 확인합니다.
등록된 Runner 드레이닝:진행 중 잡만 끝나게 하고 신규는 막으며 상한 분을 로그합니다.
스탠바이 기동·건강 게이트:Xcode·시크릿·VPN 라우팅·아웃바운드 허용까지 통과해야 다음 단계입니다.
Runner 등록 또는 지문·태그 전환:남은 항목을 지우고 이중 하트비트를 막으며 지역 접미어나 -dr 접미사를 붙입니다.
가장 짧은 그린 먼저:스모크 후 나이틀리를 단계적으로 풀고 무거운 스킴은 약한 하드웨어에서 거절합니다.
사후 장부:실측 RTO·누락·다음 훈련일을 남기고 벤더 유지 통로도 기록합니다.
위험 검토·대장에 붙일 세 가지 단호한 수치
RTO는 훈련 데이터로만 증명:연습 없는 삼십 분 복구 문구는 대외 자료에선 희망에 가깝습니다. 분기마다 전체 드레이닝과 Runner 재생을 벽시계로 남기십시오.
낮은 스탠바이엔 금지 목록 필수:Xcode 스킴·시뮬레이터 매트릭스·LFS 부피까지 거부하지 않으면 전환했다가도 막히는 사고가 남습니다.
청구·인증서·패치 창 알람을 같은 콘솔:인간이 깜빡한 만료와 외부 감사의 불가항력 해석은 다릅니다.
유의:본문의 조합과 임계는 문서용 예시이며 각 지역 SLA와 법적 요구는 회사 데이터로 덮어쓰십시오.
독점 베어메탈을 일·월로 조합하면 주·비 Runbook에 맞추기 쉽습니다.MESHLAUNCH Mac Mini 클라우드 대여는 많은 팀에 실무적으로 더 나은 선택입니다. DC 회선으로 사무실과 분리합니다. 배경은 멀티리전 대여 전략을 참고하십시오.
반드시 같을 필요 없습니다. Runbook에 허용 잡만 적으세요. 더 넓은 선정 배경은 멀티리전 팀 대여 전략을 보고 넣습니다.
자동화와 납기 SLA 여부입니다. 고정 비용을 위험에 맞추려면 가격 페이지 주기 설명과 맞춰 보십시오.
병렬은 처리량과 큐입니다. 주·비는 단일 경로 교체입니다. 라우팅은 CI 큐 라우팅 글을 따로 실패 선언 프로세스와 분리하십시오.