![[현장에서]자원 분리로 클라우드 가용성 높여야](https://img.etnews.com/photonews/1105/129836_20110510123425_544_0001.jpg)
지난 4월 21일부터 약 4일간 아마존의 버지니아 데이터센터에서 제공하던 클라우드 서비스가 중단돼 글로벌 웹사이트들이 몇일간 고객 서비스를 중단하는 사태가 발생했다. 이 사건은 아마존이 데이터센터 내 특정 가용성 존(Availability Zone)에서 네트워크 용량을 늘리기 위한 작업 중 네트워크 트래픽을 잠시동안 다른 고성능 네트워크로 돌려야 하는 과정에서 실수로 저성능 네트워크로 돌렸기 때문이다. 아마존 클라우드 아키텍처는 타 서버에 만들어 놓은 복제데이터와 통신이 안되면 또 다른 서버에 재복제본을 만들어 데이터 안정성을 유지한다. 담당자가 곧 네트워크를 원래대로 되돌려놓자 네트워크 장애로 복제본과 통신이 안되던 서버들이 일제히 재복제본을 만들며 스토리지 부족상태를 만들었다. 스토리지 부족상태에서 재복제 작업이 실패하자 다시 재복제를 시도하는 과정이 반복되면서 여러 서버들이 다운되는 현상까지 발생했다.
또 아마존에 따르면 가용성 존들은 서로 물리적으로 분리된, 독립적인 인프라다. 하지만 이번 사건에선 특정 가용성 존이 다른 2개의 가용성 존의 서비스에 영향을 미쳤다. 3개의 가용성 존이 공동으로 사용하는 인프라 SW가 장애를 일으켰기 때문이다. 이는 각 가용성 존으로 데이터 서비스 요청을 전달하는 SW다. 특정 가용성 존에서 시작된 장애가 바로 이 인프라 SW의 장애를 유발하고, 그로 인해 전체 가용성 존으로 영향을 미치게 된 것이다.
작업자의 실수로 인한 장애라는 점에서 근본적은 문제점은 아니라고 판단되나, 장애 대비 관점에서는 아직도 증명해야 할 것들이 남아 있는 것으로 보인다.
국내에서는 자원 공유를 통해 효율성을 높이려는 관점에서 클라우드 컴퓨팅을 구현하는 경향이 압도적이다. 이 사건은 국내 클라우드 서비스 공급자에게 ‘자원 공유’도 중요하지만 ‘자원 분리’를 통해 장애에 대비하여 가용성을 높일 필요가 있음을 알려준다. 아마존은 이 사건을 계기로 가용성 존간의 분리를 강화하는 대신, 재복제 아키텍처를 개선해 개별 가용성 존 별로 가용성을 향상할 계획이다. 또 국내 클라우드 수요자에게는 클라우드 서비스의 가용성 100%란 불가능하므로 실패를 대비한 애플리케이션 아키텍처 구축도 필요하다는 시사점을 안겨줬다. 실례로 실패를 대비한 애플리케이션 설계 원칙을 잘 반영하고 있는 티윌리오(Twilio), 넷플릭스(NetFlix)와 같은 회사는 본 서비스 중단에 따른 영향을 받지 않았다.
안효성 딜로이트컨설팅 상무 hyosan@deloitte.com