콘텐츠로 이동

Chaos Game Day Runbook

이 런북을 사용하여 범위가 제한된 Chaos 실험을 계획, 승인, 실행하고 실험 후 복구합니다. Chaos Game Day는 승격된 시나리오, 고정된 대상 집합, 지속적인 상태 점검, 검증된 롤백 경로를 사용하여 복원력 가설 하나를 검증합니다.

환경별 장애 주입은 다운스트림 포크에서만 실행하세요. 이 업스트림 절차는 실제 대상이나 공급자 명령이 아닌 안전 및 증거 계약을 정의합니다.

시나리오가 스키마, 정책, 회귀 테스트, 관찰 모드 검토를 모두 통과하고 팀이 실제 운영 환경과 유사한 환경에서 통제된 검증 증거를 확보해야 할 때 Chaos Game Day를 진행합니다. 원인이 밝혀지지 않은 진행 중인 인시던트를 진단하는 용도로는 사용하지 마세요.

일반적인 목표는 다음과 같습니다.

  • 장애 조치 검증: 종속 서비스 또는 복제본이 정해진 목표 내에 역할을 인계받을 수 있는지 검증합니다.
  • 탐지 검증: 예상한 탐지된 문제, 인시던트, 알림이 생성되는지 검증합니다.
  • 롤백 검증: 주입한 장애를 제거하고 안정 상태를 복원할 수 있는지 검증합니다.
  • 담당자 대응 검증: 담당자가 증거를 전달받고 예상된 인계 절차를 따르는지 검증합니다.
역할 또는 입력책임
훈련 책임자가설, 일정, 조정, 최종 기록을 책임집니다.
승인자범위, 위험, 중지 조건, 롤백을 독립적으로 검토합니다.
운영자권한이 부여된 프로바이더를 통해 승인된 시나리오를 시작하고 중지합니다.
관찰 담당자상태 점검 결과를 관찰하고 즉시 중지를 요청할 수 있습니다.
시나리오버전이 지정된 장애, 대상 선택자, 소요 시간, 영향 범위 한도입니다.
정상 상태실험 중 유지되어야 하는 측정 가능한 조건입니다.
롤백장애를 제거하고 이전 상태를 복원하는, 테스트를 거친 작업입니다.

운영자와 승인자는 구분하는 것이 좋습니다. 선언된 조건이 발생하거나 관찰한 상태가 불명확해지면 모든 참가자가 중지를 요청할 수 있습니다.

훈련 시작 전에 사전 검사를 완료합니다.

  1. 시나리오 버전과 관찰 모드 근거를 확인합니다.
  2. 반증 가능한 가설 하나와 예상되는 상태 점검 값의 변화를 작성합니다.
  3. 정확한 대상 집합을 고정하고 보호 대상 의존성이 제외됐는지 확인합니다.
  4. 기준선 상태 점검 값을 기록하고 텔레메트리 최신성을 확인합니다.
  5. 중지 조건, 최대 소요 시간, 동시성, 영향 범위를 검증합니다.
  6. 롤백 경로를 테스트하거나 동일한 시나리오 버전에 대한 최근 근거를 첨부합니다.
  7. 운영자 신원, 필수 잠금, 감사 기록 담당, 알림 경로를 확인합니다.
  8. 훈련 시간대를 알리고 중지 권한이 있는 사람을 확인합니다.

사전 검사 항목 중 하나라도 확보할 수 없으면 no-op 결과를 기록하고 일정을 다시 잡습니다.

  1. 훈련을 시작합니다. 시나리오, 대상 집합, 참가자, 승인, 기준선 샘플, 예정 종료 시간을 기록합니다.
  2. 보호장치를 확보합니다. 필요한 리소스 잠금을 획득하고 충돌하는 변경이나 활성 인시던트가 대상과 겹치지 않는지 확인합니다.
  3. 시나리오를 시작합니다. 승인된 프로바이더를 통해서만 장애를 주입하고 프로바이더 작업 참조와 시작 시간을 기록합니다.
  4. 계속 관찰합니다. 실험 동안 정상 상태, 탐지, 의존성, 범위에 대한 점검 결과를 평가합니다. 누락되거나 오래된 샘플은 정상 값이 아니라 실패로 처리합니다.
  5. 유지하거나 중지합니다. 모든 보호 조건이 유효한 동안에만 계속합니다. 권한이 부여된 관찰 담당자는 누구나 중지 절차를 시작할 수 있습니다.
  6. 장애를 제거합니다. 소요 시간 한도에 도달하거나 가설의 관찰을 마치면 선언된 롤백을 실행합니다. 중지 조건이 발생하면 즉시 롤백을 실행합니다.
  7. 복구를 검증합니다. 대상 집합이 정상 상태로 돌아오고 장애 주입 리소스, 잠금, 임시 권한이 남지 않았는지 확인합니다.
  8. 훈련을 종료합니다. 가설 결과, 예상하지 못한 영향, 복구 시간, 후속 조치 담당자를 기록합니다.

다음 조건이 발생하면 주입을 즉시 중지합니다.

  • 범위 확대: 고정된 집합 외부의 대상이 영향을 받습니다.
  • 보호 대상 영향: 보호 대상 의존성 또는 컨트롤 플레인 구성 요소의 상태가 저하됩니다.
  • 관측 정보 부족: 필수 상태 점검, 인벤토리 스냅샷 또는 감사 기록 담당을 사용할 수 없습니다.
  • 안전성 한도: 소요 시간, 동시성, 오류 비율, 지연 시간 또는 영향받는 리소스 수의 상한에 도달합니다.
  • 작업 충돌: 동일 대상에서 인시던트 대응 또는 배포가 시작됩니다.
  • 롤백 불확실성: 롤백 경로를 사용할 수 없거나 사전 조건이 변경됩니다.

중지는 유효한 실험 결과입니다. 활성 실행 안에서 소요 시간 또는 대상 집합을 확장하지 않습니다.

문서화된 순서로 롤백을 실행하고, 설정된 복구 구간 동안 모든 필수 정상 상태 조건을 충족할 때까지 샘플을 계속 수집합니다. 복구가 완료되지 않으면 인시던트 분류로 전환하고 실험 상관관계 ID를 보존하며 훈련을 인시던트 출처로 취급합니다.

첫 번째 장애 주입을 상쇄하려고 두 번째 장애를 주입하지 않습니다. 복구 작업은 별도로 승인된 경로를 따라야 하며 자체 감사 기록을 남겨야 합니다.

다음 근거를 기록합니다.

  • 계획: 시나리오 및 카탈로그 버전, 가설, 대상 해시, 훈련 시간대입니다.
  • 권한: 책임 담당자, 승인자, 운영자, 관찰 담당자, 승인 참조입니다.
  • 기준선: 훈련 전 상태 점검 값과 텔레메트리 시각입니다.
  • 실행: 잠금 참조, 프로바이더 작업, 장애 주입 및 중지 시간, 중지 사유입니다.
  • 관측: 정상 상태, 탐지, 의존성, 범위에 대한 샘플입니다.
  • 복구: 롤백 참조, 복구 샘플, 복구 시간, 잔여 영향입니다.
  • 결과: 가설을 뒷받침하거나 반증한 결과 또는 결론을 내릴 수 없는 결과와 담당자가 지정된 후속 조치입니다.

롤백이 완료되고 정상 상태를 검증했으며, 임시 접근 권한을 제거하고 잠금을 해제한 뒤에만 훈련을 종료합니다. 모든 후속 조치에는 담당자와 확보할 근거가 지정되어 있어야 합니다. 새로 발견한 탐지 또는 대응 공백은 사후 분석 작업 흐름을 통해 제출합니다.

다음 작업문서
예상하지 못한 서비스 영향 분류인시던트 분류
통제된 복구 작업 적용인시던트 완화와 롤백
훈련에서 발견한 문제를 담당자가 있는 개선 작업으로 전환사후 분석 작업 흐름