<국가정보자원관리, 통합에서 분산으로 전환 필요>
정부 국가업무시스템 647개가 한 전산실 화재로 멈췄다는 소식은 많은 이들에게 놀라움과 불안과 의문을 동시에 안겼다. 전산은 보이지 않지만, 행정과 민원을 떠받치는 인프라다. 등기부등본 한 장, 주민등록 발급, 세금 신고 같은 일상이 모두 전산에 기대고 있다.
특히 우체국 업무의 경우 금융업무, 배송업무 등 추석을 앞두고 피해가 심각하다. 이번 사태가 우리에게 던진 질문은 단순하다. 왜 이렇게 많은 시스템이 한 번에 멈췄는가, 다음에 반복될지도 모를 유사한 사태를 어떻게 막을 것인가.
핵심은 자원관리구조다. 정부는 지난 십여 년간 부처별로 흩어져 있던 전산자원을 통합하면서 비용을 줄이고 보안을 표준화했으며, 운영의 전문성을 높여왔다. 이런 중앙집중의 방향 자체는 옳았다. 문제는 중앙집중이 ‘단일실패점’을 키우는 방식으로 구현될 때다.
전력, 네트워크 코어, 스토리지, 인증 같은 공용 구성요소가 하나의 구역, 하나의 장비군, 하나의 운영절차에 과도하게 의존하면, 그 어느 한 지점의 장애가 연쇄적으로 수백 개 시스템을 끌어 내린다.
화재 자체의 물리적 피해가 아니라도 가스 소화 방출과 같은 안전절차, 전원 차단과 같은 보호동작이 ‘일괄’로 작동하면 결과는 대규모 중단이다. 결국 우리는 기술의 문제가 아니라 ‘설계철학’의 문제와 마주하고 있다.
따라서 추후 대책도 기술의 나열이 아니라 철학의 전환에서 출발해야 한다. 중앙에서 운영하되, 아키텍처는 분산과 격리, 이격을 원칙으로 다시 짜야 한다. 같은 데이터센터 안에서도 전력 버스와 소방 구역을 세분화하고, 코어 네트워크와 스토리지를 서로 다른 화재ㆍ전원 도메인에 물리적으로 떼어놓아야 한다.
나아가 지역간 이중화를 상식으로 만들어야 한다. 한 센터가 화재나 정전으로 흔들려도 다른 지역센터가 지체없이 트래픽과 업무를 받아줄 수 있어야 한다. 이것은 백업센터를 “비상시 열어보는 창고”로 취급하는 수준을 넘어, 평시에도 두 센터가 동시에 일하고 자동으로 우회하는 액티브-액티브 운영으로 가야 함을 뜻한다.
공용 서비스는 특히 취약하다. DNS, 인증과 권한관리, 전자서명ㆍPKI, 메시지 큐, 컨테이너 이미지 저장소 같은 기반 서비스가 하나로 묶여 있으면, 이것들이 멈추는 순간 개별애플리케이션의 이중화는 무의미해진다. 이런 기반은 애초부터 여러 지역에 분산배치하고, 서로 독립적으로 운영되며, 실패해도 나머지가 즉시 이어받는 구조여야 한다.
스토리지와 가상화도 마찬가지다. 거대한 단일스토리지나 하이퍼바이저 클러스터에 수백 개 업무를 얹는 방식은 편하지만 위험하다. 여러 개의 ‘셀’로 쪼개 각 셀에 독립된 스토리지와 클러스터를 두면, 한 셀의 사고가 전체를 무너뜨리는 일은 대폭 줄어든다. 셀을 여섯에서 열 개 정도로 운영한다면, 최악의 경우에도 전체의 10~15%만 영향을 받도록 설계할 수 있다.
물리적 설비도 운영 논리도 바뀌어야 한다. 배터리실과 UPS 존은 이격하고, EPO 같은 비상전원 차단은 구역별로 단계적으로 작동하도록 재설계해야 한다. 가스 소화는 세밀한 구획과 지연·검증 절차를 통해 ‘전체정지’가 아닌 ‘필요구역보호’ 중심으로 다듬어야 한다.
네트워크 코어는 이종벤더와 다중경로를 기본값으로, 외부로 나가는 보안 게이트웨이는 센터간 병렬로 구성해 하나가 막혀도 다른 길이 열리게 해야 한다. 애플리케이션 레벨에서는 읽기전용 모드, 캐시 기반의 제한적 서비스 유지, 기능 플래그에 의한 단계적 감쇠 등 “완전정지 대신 부분제공”을 설계에 포함시켜야 한다. 국민이 필요한 최소 기능이라도 계속 쓰게 하는 것이 공공서비스의 기본책무다.
운영 문화와 훈련은 이 모든 것을 현실로 만든다. 재해복구 계획은 문서가 아니라 근육이어야 한다. 반기에 한 번은 예고없이 다른 지역으로 실제 트래픽을 넘겨보고, 해마다 한 번은 정전과 같은 블랙스타트를 가정해 전 과정을 점검해야 한다. 이런 훈련 없이는 자동화와 절차가 제때 작동할 것이라는 보장은 없다.
변경관리도 성숙해야 한다. 대규모 동시변경은 줄이고, 카나리와 블루그린 방식으로 작고 빠르게 되돌릴 수 있도록 바꿔야 한다. 관제 역시 단일 센터에 의존하지 않도록 독립 관제망과 다센터 로그, 메트릭 수집을 갖추어야 한다.
정책과 예산의 관점에서는 무엇을 먼저 지킬 것인지부터 합의해야 한다. 모든 시스템을 최고 수준의 가용성으로 만들 수는 없다. 국민 생활과 안전, 법정기한과 직접 연결되는 핵심업무에는 메트로 동기복제와 다센터 액티브-액티브 같은 고비용대책을 우선 투입하고, 그 외 업무는 비동기복제와 신속복구를 목표로 설계한다.
서비스 등급별 목표복구시간과 데이터손실 허용기준을 명문화하고, 이를 예산과 점검지표에 연결해야 한다. 더 많이 사는 것이 아니라, 실패 도메인을 나누고 운영훈련을 생활화하는 데 투자해야 한다.
이번 사태는 ‘중앙집중문제’가 아니라 “중앙집중을 단일실패구조로 구현한 문제”라는 교훈을 준다. 중앙의 효율과 표준화는 유지하되 구조는 분산과 이격으로, 운영은 점진과 훈련으로, 서비스는 부분유지와 탄력으로 옮겨가야 한다.
전산은 눈에 보이지 않지만, 그 보이지 않음이 곧 투명성과 신뢰를 대신할 수는 없다. 국민이 언제나 필요한 서비스를 이용할 수 있도록 우리는 더 보수적으로 설계하고 더 자주 연습해야 한다. 그것이 디지털정부의 신뢰를 지키는 가장 현실적이고도 책임있는 길이 될 것이다.
<위 글은 외부 기고 칼럼으로 본지의 편집 방향과 무관합니다>
