신뢰성 골판지 시티: 가위와 테이프로 만드는 프로덕션 우주의 테이블탑 트윈
저해상도 골판지 모델로 복잡한 시스템을 시각화하고, 보안 설계를 개선하고, 인시던트 대응을 연습하며, 회복탄력성을 높이는 방법을 소개합니다. 필요한 것은 가위, 테이프, 그리고 테이블뿐입니다.
신뢰성 골판지 시티: 가위와 테이프로 만드는 프로덕션 우주의 테이블탑 트윈
프로덕션 환경이 수십 개의 서비스, 클라우드, 벤더, 팀을 가로질러 펼쳐져 있다면, 단 하나의 아키텍처 다이어그램으로는 전체 그림을 담기 어렵습니다. 도구는 박스와 화살표를 그리는 데는 뛰어나지만, 실제로 사람, 프로세스, 기술이 스트레스 상황에서 어떻게 함께 행동하는지를 담아내는 데는 한계가 있습니다.
여기서 등장하는 것이 바로 **“신뢰성 골판지 시티(reliability cardboard city)”**입니다. 골판지, 포스트잇, 마커, 테이프로 만드는 물리적인 저해상도 모델로, 여러분의 프로덕션 우주를 축소해 담은 것입니다. 겉보기엔 장난감 같지만, 특히 보안 설계(secure design), 위협 모델링(threat modeling), 인시던트 대응(incident response) 측면에서 상당한 가치를 제공합니다.
이 글에서는 테이블 위에 올려두는 시스템 트윈을 어떻게 만드는지, 왜 효과적인지, 그리고 NIST에 정렬된 실무와 어떻게 결합해 회복탄력성을 강화할 수 있는지를 살펴보겠습니다.
왜 굳이 테이블탑 트윈을 만들어야 할까?
대부분의 팀은 이미 이런 것들을 갖고 있습니다.
- Confluence나 Lucidchart에 있는 아키텍처 다이어그램
- 클라우드 제공자의 토폴로지 뷰
- 위키나 티켓 시스템에 저장된 인시던트 런북(runbook)
그런데 왜 또 골판지와 테이프까지 써야 할까요?
이유는 간단합니다. 물리적인 저해상도 모델은 디지털 다이어그램이 잘 못하는 일을 매우 잘하기 때문입니다.
- 공유된 이해(Shared understanding): 모든 것이 말 그대로 "테이블 위"에 있을 때, 방 안에 있는 모든 사람이 컴포넌트 간의 관계를 훨씬 쉽게 파악할 수 있습니다.
- 정밀함보다 대화(Conversation over precision): 골판지는 정확한 그림인 척하지 않습니다. 덕분에 사람들이 질문을 하거나, 가정을 의심하거나, 모르는 걸 솔직히 말하는 데에 장벽이 낮아집니다.
- 시스템 사고(Systems thinking): 직접 걸어 다니며 보고, 부품을 옮기고, 플로우를 시뮬레이션할 수 있습니다. 사람들은 개별 컴포넌트가 아니라, 엔드 투 엔드 동작 관점에서 시스템을 보기 시작합니다.
- 몰입과 참여(Engagement): 공예 재료는 긴장을 풀어주고 재미를 줍니다. 이는 사람들이 신뢰성과 보안 관련 작업에 적극적으로 참여하게 만드는 데 중요합니다. 그렇지 않으면 쉽게 흥미를 잃고 소외되기 쉽습니다.
테이블탑 트윈은 기존 다이어그램이나 도구를 대체하는 것이 아닙니다. 오히려 숨겨진 복잡성을 드러내고, 함께 이야기할 수 있게 해주는 보완재입니다.
신뢰성 골판지 시티란 무엇인가?
당신의 프로덕션 환경을 하나의 도시라고 생각해 봅시다.
- 서비스들은 건물이 됩니다.
- 네트워크와 데이터 흐름은 도로와 다리가 됩니다.
- 외부 의존성은 이웃 도시가 됩니다.
- 사용자와 클라이언트는 시민, 차량, 혹은 구역이 됩니다.
신뢰성 골판지 시티는 이 세계를 축소해 추상화한 물리적 표현입니다. 모든 서버를 하나하나 모델링하는 것이 아니라, **핵심 컴포넌트, 관계, 그리고 장애 경로(failure paths)**를 모델링합니다.
전형적인 구성 요소는 다음과 같습니다.
- 골판지 상자: 주요 서비스(API, 인증, 결제, 데이터 파이프라인 등)
- 인덱스 카드나 포스트잇: 더 작은 컴포넌트, 큐(queue), 잡(job)
- 색 테이프나 실(String): 네트워크 구간, 신뢰 경계(trust boundary), 데이터 플로우
- 말이나 피규어: 사용자 유형, 공격자, 온콜 역할, 벤더
- 색 마커: 보안 존, 심각도(severity), 데이터 분류 등 표시
목표는 손으로 만지고, 옮기고, 조작할 수 있는 시스템 표현을 만드는 것입니다. 그래서 다음을 할 수 있습니다.
- 스토리처럼 걸어다니며 설명할 수 있고
- 공격자의 관점에서 공격해볼 수 있고
- 카오스 엔지니어처럼 망가뜨려 볼 수 있고
- 인시던트 커맨더처럼 복구해볼 수 있습니다.
골판지로 보안 설계를 개선하는 방법
보안 설계는 흔히 정적인 다이어그램과 긴 위협 모델링 문서 속에 갇혀 있습니다. 골판지 시티는 이를 3D 세계로 끌고 나옵니다.
아키텍처와 공격 표면(Attack Surface) 매핑하기
먼저 코어를 구축하는 것부터 시작합니다.
- 중요 서비스를 라벨이 붙은 상자로 배치합니다.
- **신뢰 경계(Trust boundary)**를 다른 색의 테이프로 표시합니다. (예: 퍼블릭 인터넷, DMZ, 내부망, 고보안 존 등)
- 컴포넌트 간 데이터 플로우를 선으로 긋거나 실로 연결합니다.
이제 팀이 함께 보안 관점에서 질문을 던져봅니다.
- 외부 트래픽은 처음 어느 지점에서 도시로 들어오는가?
- 어떤 "건물"이 민감한 데이터를 보유하고 있는가?
- 어디에 인증·인가 게이트가 있는가?
- **서드파티 연동(3rd‑party integration)**은 어디에 있고, 무엇까지 접근 가능한가?
그리고 색 칩이나 스티커로 **공격 표면(attack surface)**을 표시합니다.
- 빨간 점: 퍼블릭에 노출된 엔드포인트
- 노란 점: 내부에서만 접근 가능하지만 민감한 컴포넌트
- 파란 점: 관리 인터페이스나 고권한 경로
이제 공격 표면은 추상적인 개념이 아니라, 특정 건물과 도로 위에 몰려 있는 빨간 스티커 덩어리로 눈앞에 나타납니다.
실패와 위협의 전파 경로 탐색하기
모든 것이 시각적으로 드러난 상태에서, 공격이나 장애가 어떻게 번져나갈 수 있는지 물리적으로 추적할 수 있습니다.
- “만약 이 API가 침해되면, 어떤 건물들에 접근할 수 있지?”
- “이 데이터베이스가 잠긴다(랜섬웨어나 설정 오류 등면)면, 어떤 비즈니스 기능이 사라지지?”
공격자를 나타내는 토큰을 도로를 따라 옮기면서, 실제 데이터나 자격 증명이 이동하는 경로를 그대로 밟게 해 봅니다. 그러면 문서에서는 잘 드러나지 않던 묵시적 신뢰, 누락된 통제, 과도한 권한 경로가 드러나는 경우가 많습니다.
시나리오 기반 위협 모델링에 골판지 시티 활용하기
전통적인 위협 모델링 워크숍은 종종 지루하고 이론적이기만 하다는 느낌을 줍니다. 골판지 시티를 사용하면 이것을 시나리오 기반 테이블탑(tabletop) 연습으로 바꿀 수 있습니다.
- 시나리오를 정의합니다. 예: “로그인 엔드포인트에 대한 크리덴셜 스터핑(credential stuffing) 공격”, “내부자가 관리자 패널을 악용하는 케이스” 등
- 공격자 토큰을 적절한 진입점에 배치합니다.
- 팀이 함께 각 단계를 내러티브로 따라갑니다.
- 공격자는 무엇을 볼 수 있는가?
- 다음에 어떤 시스템을 두드리는가?
- 어떤 통제가 발동(또는 실패)하는가?
- 물리적인 마커로 다음을 표시합니다.
- 발생한 알림(Alert)
- 차단된 액션이나 컨트롤
- 횡적 이동(Lateral movement) 시도
모형이 단순하고 손으로 만질 수 있기 때문에, 보안 전문가가 아닌 사람들도 쉽게 참여할 수 있습니다.
- 프로덕트 매니저는 비즈니스 임팩트를 짚어낼 수 있습니다.
- 운영/옵스 엔지니어는 운영 현실(레이턴시, 정기 점검, 수동 작업 등)을 이야기할 수 있습니다.
- 개발자는 **구현상의 특이점이나 지름길(쇼트컷)**을 설명해 줄 수 있습니다.
그 결과, 시스템과 조직이 실제로 어떻게 행동하는지를 더 잘 반영하는 포괄적이고 현실적인 위협 모델을 얻게 됩니다.
테이블탑 트윈으로 인시던트 대응 매핑하기
인시던트 대응은 흔히 흩어진 머릿속 모델에 의존합니다. 각 엔지니어는 시스템의 일부분만 알고 있고, 위기 상황에서는 누구도 전체 그림을 한눈에 파악하지 못합니다.
신뢰성 골판지 시티는 인시던트 상황에서 사용할 수 있는 **공유된 지도(shared map)**를 제공합니다.
심각도와 블라스트 레디우스(Blast Radius) 물리적으로 표시하기
하나의 인시던트 시나리오를 정합니다. 예: “Payments API 레이턴시 급증”.
- 색 카드나 링을 사용해 영향받은 컴포넌트를 표시합니다.
- 빨강: 현재 장애/심각한 성능 저하 상태
- 주황: 위험 상태 / 성능 저하 가능성이 있는 의존성
- 초록: 정상 상태지만 대응에 핵심적인 컴포넌트
- 작은 깃발로 **심각도(예: SEV‑1, SEV‑2)**를 표시합니다.
- 사용자 토큰을 실제 기능이 깨지는 지점에 배치해 사용자 영향을 시각화합니다.
이렇게 작업하다 보면 다음과 같은 패턴이 드러납니다.
- 단일 장애 지점(SPOF, Single Point of Failure)이 한눈에 보이는 허브로 드러납니다.
- 사소해 보이던 컴포넌트가 사실상 핵심 연결고리였다는 사실이 보입니다.
- 어디에 **더 나은 격리(Isolation)**나 **우아한 성능 저하(Graceful degradation)**가 필요한지 파악할 수 있습니다.
에스컬레이션 경로 시각화하기
이제 사람 요소를 더합니다.
- 온콜 역할(SRE, 애플리케이션 엔지니어, 보안, 인시던트 커맨더 등)을 나타내는 토큰을 둡니다.
- 에스컬레이션 플로우(누가 먼저 호출되는지, 누가 누구에게 연락하는지, 언제 리더십이 개입하는지)를 선이나 화살표로 표시합니다.
사람들이 도시 속에서 자신의 역할을 눈으로 보게 되면, 다음과 같은 질문을 할 수 있습니다.
- 대형 인시던트에서 업무가 과부하되는 역할은 누구인가?
- 특정 서브시스템을 아는 단 한 사람에게만 의존하는 단일 인력 장애 지점이 있는가?
- 에스컬레이션 과정에 루프나 막다른 길은 없는가?
이 과정을 통해 추상적인 대응 계획을 실제로 걸어가 보고 개선할 수 있는 워크플로우로 바꿀 수 있습니다.
숨겨진 의존성과 제약 조건 드러내기
아날로그 모델링의 가장 큰 장점 중 하나는 **부서 간 협업(cross‑functional collaboration)**입니다.
엔지니어, 보안, 운영, 고객 지원, 프로덕트 등 다양한 역할이 도시 모형 주변에 모여 있으면, 종종 이런 대화가 나옵니다.
- “잠깐, 저 서비스가 그 큐에 의존한다고요? 문서에 없는데요.”
- “그 롤백을 하려면, 법무팀에서 수동으로 체크해야 해요.”
- “저 벤더 SLA라면, 저 건물은 ‘신뢰도 낮은 구역’에 있어야겠네요.”
이런 의존성과 제약을 실제 위치에 배치하면:
- 문서화되지 않았던 상호작용이 눈에 보이고, 이후 공식 다이어그램에 반영할 수 있습니다.
- 승인 절차, 벤더 SLA, 데이터 거주(location) 규칙 같은 운영상의 현실을 장벽이나 게이트, 특별 구역 등으로 모델링할 수 있습니다.
이 도시 모형은 티켓이나 PDF만으로는 얻기 힘든 기술·비기술 간 관점의 다리가 되어, 조직 전체의 정렬(alignment)을 돕습니다.
인시던트·공격 리허설: 플레이북의 반복 테스트
골판지 시티는 위험 없이 연습하기 좋은 환경입니다.
- 현실적인 인시던트 시나리오를 고릅니다. (장애, 데이터 유출, DDoS 등)
- 기존 인시던트 대응 플레이북을 한 단계씩 따라갑니다.
- 인시던트가 실제로 발생한 것처럼 토큰과 마커를 옮기며 진행합니다.
- 응답 시간을 재고, 의사결정 지점을 기록하고, 마찰 지점을 메모합니다.
이 과정에서 곧바로 드러나는 것들:
- 특정 단계가 사실상 한 사람만 알고 있는 지식에 의존하고 있음
- 누락된 커뮤니케이션 (예: 고객 지원팀에 아무도 알리지 않음)
- 존재하지 않거나, 쉽게 접근할 수 없는 도구/대시보드에 의존하는 단계
이런 리허설을 통해 플레이북을 반복적으로 개선할 수 있습니다. 다음 세션에서는 업데이트된 절차로 다시 시나리오를 돌려보고, 무엇이 나아졌는지 확인합니다.
골판지 시티와 NIST 정렬 실무 결합하기
NIST의 인시던트 대응 라이프사이클은 다음 네 단계로 구성됩니다.
- 준비(Preparation)
- 탐지 및 분석(Detection & Analysis)
- 격리, 제거 및 복구(Containment, Eradication & Recovery)
- 사후 활동(Post‑Incident Activity)
신뢰성 골판지 시티는 각 단계의 기반(anchor) 역할을 할 수 있습니다.
- 준비(Preparation): 도시를 만들고 유지하면서 자산, 역할, 의존성을 매핑합니다. 이를 이용해 인시던트 대응 계획을 설계하고 테스트합니다.
- 탐지 및 분석(Detection & Analysis): 연습 중에 모니터링과 로깅이 도시의 어디에 있는지, 알림이 어떻게 사람에게 전달되는지를 시각적으로 보여줍니다.
- 격리, 제거 및 복구(Containment, Eradication & Recovery): 도로를 “끊거나”, 다리를 “닫는” 식으로 격리 전략을 물리적으로 표현하고, 페일오버나 롤백 경로를 모델링합니다.
- 사후 활동(Post‑Incident Activity): 포스트모템(postmortem)에서 실제 인시던트의 타임라인을 도시 위에 재구성합니다. “우리가 생각했던 흐름”과 “실제로 일어난 흐름”을 나란히 표시할 수 있습니다.
이 조합은 구조화된 동시에 창의적인 프레임워크를 제공합니다. NIST는 엄격한 프로세스와 기준을 제공하고, 골판지 시티는 이를 공유된 맥락과 몰입을 통해 현실에 연결해 줍니다.
시작하는 방법: 과하게 고민하지 말 것
완벽할 필요는 없습니다. 필요한 건 테이블, 골판지, 그리고 한 시간 정도의 시간입니다.
- 스코프를 정합니다. 하나의 핵심 사용자 여정 또는 하나의 주요 서브시스템 정도가 좋습니다.
- 재료를 준비합니다. 골판지, 테이프, 마커, 포스트잇, 실, 토큰 등을 모읍니다.
- 크로스펑셔널 그룹을 초대합니다. 엔지니어, 운영/옵스, 보안, 프로덕트, 고객 지원 등.
- 버전 0.1을 만듭니다. 핵심 서비스에 대한 대략적인 건물, 대충 그린 데이터 플로우, 몇 개의 신뢰 경계 정도로 충분합니다.
- 단 하나의 시나리오를 돌려봅니다. 단순한 장애나 공격 경로를 선택합니다.
- 인사이트를 기록합니다. 사진을 찍고, 의외였던 점을 적고, 팔로업할 일을 정리합니다.
그 다음부터는 반복입니다. 필요할 때만, 도움이 되는 만큼만 디테일을 추가하세요.
결론: 도구는 가벼워도, 회복탄력성은 진지하게
신뢰성과 보안은 매우 진지한 분야지만, 이를 개선하기 위한 도구까지 반드시 위압적일 필요는 없습니다. 신뢰성 골판지 시티는 복잡한 분산 시스템을 눈으로 보고, 손으로 만지고, 걸어 다닐 수 있는 형태로 바꿔 줍니다.
테이블탑 트윈을 통해 여러분의 프로덕션 우주를 만들면 다음을 할 수 있습니다.
- 아키텍처, 리스크, 의존성을 눈에 보이는 형태로 만든다.
- 다양한 역할이 참여하는 재미있고 접근 가능한 위협 모델링을 실행한다.
- 보안 설계와 인시던트 대응 계획을 개선한다.
- 실제 위기가 오기 전에 NIST에 정렬된 회복탄력성 전략을 연습하고 다듬는다.
가위, 테이프, 그리고 실험해 보겠다는 약간의 의지만 있으면, 팀이 시스템과 그 취약점을 전혀 새로운 시각으로 바라볼 수 있게 도울 수 있습니다.