아마존 EC2 장애, “가용 영역“ 정말 효과적인가?

가 +
가 -

아마존은 클라우드 서비스 이용 고객들이 사용할만한 매력적인 서비스를 제공하고 있다. 다운로드에 거의 시간을 빼앗기지 않고 분리된 가용 영역(Availability Zone)에서 애플리케이션을 사용할 수 있는 서비스가 바로 그것이다.

아마존은 EC2 서비스의 광고를 통해 “복수의 인스턴스를 분리된 가용 영역에서 실행함으로써, 단일 애플리케이션을 보유할 때의 위험을 방지할 수 있다”고 주장한다.

단일 가용 영역에 애플리케이션을 설치하게 되면, 장애로 인해 피해를 입을 가능성이 높아진다. 그렇다면 복수의 가용 영역이 동시에 장애 피해를 입게 된다면 어떻게 될까? 지난 주 포스퀘어(Foursquare), 레드딧(Reddit), 큐오라(Quora), 훗스윗(Hootsuite)과 같은 웹사이트들에 장애가 발생했을 때 어떻게 되는지 확인할 수 있었다.

아마존은 자사의 서비스 헬스 대시보드를 통해 “우리는 US-EAST-1 지역 내 복수의 가용 영역에서 EC2 인스턴스에 영향을 미치는 연결 오류와 EBS(Elastic Block Storage)에 영향을 미치는 증가된 레이턴시(Latency)를 확인했다“고 밝혔다.

복수 가용 영역에도 대형 사이트 서비스 중단

미국 버지니아주 북부의 US-EAST-1 지역과 캘리포니아 북부지역에 아마존의 네트워크가 구축되어 있다. 아마존은 동부 시간으로 오전 4시 :41분부터 장애보고를 시작했고, 오후 1시 26분에 “현재 장애와 지연시간이 현저하게 감소했다”고 밝혔으나, 문제를 완전히 해결하지는 못했다. 아마존은 “네트워킹 이벤트”로 인해 저장 용량의 “많은 부분이 리미러링(Re-mirroring)”되었고, 이로 인해 저장용량 부족사태가 발생했다고 밝혔다.

가트너의 애널리스트 드루 리브스에 따르면, 각 지역에는 복수의 가용 영역이 존재하나 그에 대한 정보가 미비하다. 리브스는 버지니아 지역 내에 4개의 가용 영역이 존재하고 있다고 말한다. 그렇다면 가용 영역과 데이터센터의 차이점은 무엇일까? 차이가 있다면 얼마나 큰 차이가 있을까? 데이터가 어떻게 하나의 영역에서 다른 영역으로 복제될까? 리브스는 아마존이 이러한 질문에 대한 대답을 회피하고 있다고 말한다. 이에 대한 명확한 답이 없는 상황에서 고객들이 어떤 방법이 가장 효과적인지 결정하는 것은 쉽지 않다.

리브스는 “아마존은 지난 수년간 단일 가용 지역 전체의 장애를 방지하기 위해 한 지역 내에 복수의 가용 영역을 운영하고 있다고 밝혀왔다”며, “하지만 아직까지 단일 지역 전체에 걸쳐 EC2의 내부적 장애가 발생하고 있다”고 지적했다.

Amazon 대변인은 아직까지 자세한 사항에 대한 언급을 피하고 있다.

현재 아마존은 단일 가용 영역 기준이 아닌 단일 지역 기준으로 99.95%의 서비스 가용도를 목표로 하고 있는 듯하다. 이는 많은 고객들이 충분히 만족할 수 있는 수치이기는 하나, 완벽한 서비스의 기준에는 못 미친다고 볼 수 있다.

EC2 웹사이트의 가용 영역에 대한 설명부분에서 아마존은 가용 영역이 “하나의 가용 영역에 장애가 발생했을 때 다른 가용 영역에 영향을 끼치지 않고, 문제 발생 시 동일 지역 내의 다른 가용 영역에 낮은 지연시간에 저비용으로 연결할 수 있도록 설계됐다”고 밝혔다.

지역 간 애플리케이션 구축은 비현실적

여기에 의문점이 생긴다. 다양한 지역을 아우르는 애플리케이션을 구축할 수 있는가? 그리고 필요하다면, 버지니아에서 캘리포니아로 옮기는 것과 같은 지역 간 이동이 가능한가?

클라우드 소프트웨어 제공업체인 이노멀리(Enormaly)의 창업자이자 CTO인 루벤 코헨은 더 나아가 고객들은 각기 다른 업체가 제공하는 복수의 클라우드 플랫폼에서 동시에 구동할 수 있도록 애플리케이션을 구축해야 한다고 말했다. “복수의 가용 영역에서 구동하는 것으로 알려진” 주요 웹사이트들에 문제가 발생한 것을 볼 때, 가용 영역이 완벽하지 않다는 것을 알 수 있다.

코헨은 “문제는 언제든지 발생한다. 이것이 인터넷의 본질”이라며, “아마존이기 때문에 완벽한 서비스를 제공해야 한다는 생각은 잘못된 생각이다”라고 덧붙였다.

아마존에 문제가 발생할 수 있다는 것은 모든 웹 사이트에 문제가 발생할 수 있다는 것과 같다. 심지어 구글의 지메일도 잦은 장애를 겪었다.

코헨은 “업체들이 리던던시(Redundancy)를 제공한다고 해서 반드시 접속 전체에 문제가 발생하는 것은 아니다”라며, 고객들은 “복수의 서비스업체와 복수의 지역에” 대해서 계약을 맺어 단일 업체와 계약을 맺었을 때 발생할 수 있는 문제를 예방해야 한다고 강조했다.

그렇다면 이것이 현실적이라고 할 수 있는가? 리브스는 대부분의 고객들에게는 현실적이지 못하다고 답한다. 클라우드 컴퓨팅은 기본적으로 애플리케이션의 배치와 관리를 용이하게 해야 한다. 복수 업체의 서비스를 기반으로 애플리케이션을 구축하기 위해서는 해야 할 일이 너무나 많다.

리브스는 “복수 클라우드 업체의 서비스를 기반으로 애플리케이션을 설계할 수 없는 것은 표준과 상호 운용성의 부재 때문”이라며, “애플리케이션을 구축할 때, 저장 또는 계산능력을 향상시키려면 서비스 제공업체에 따라 그런 능력을 할당, 배치, 사용하는 방법을 달리해야 한다. 불가능한 것은 아니지만, 매우 어려운 작업”이라고 설명했다.

좀 더 간편하게 아마존의 서비스를 이용하면서 복수의 지역에서 애플리케이션의 균형을 잡는 방법 또한 말처럼 그렇게 간편하지는 않다. 아마존은 지역간 로드밸런싱을 잡아줄 수 있는 툴을 제공하지 않기 때문에, 아마존의 인스턴스에 더해 부가적인 소프트웨어를 사용해야 한다. 아마존의 로드밸런싱 서비스는 지난 목요일에 장애가 발생했던 가용 영역 수준에서 기능을 수행할 뿐, 지역 수준에서는 제 기능을 발휘하지 못한다.

기업의 자체 대비책 필요

하나의 클라우드에 장애가 발생하게 되면, 모든 클라우드에 대한 신뢰가 실추된다. 리브스는 “어느 곳에서든 문제는 발생할 수 있기 때문에” 그러한 상황은 바람직하지 못하다고 말한다. 클라우드 컴퓨팅의 차이점은 많은 기업들이 자사의 사이트를 단일 플랫폼 상에서 운영할 때의 위험도를 클라우드 서비스 업체가 종합하고, 플랫폼에 이상이 생겼을 때에는 단일 기업의 내부 데이터센터에 문제가 생겼을 때보다 문제를 훨씬 분명하게 알아낼 수 있다는 것이다.

리브스는 단일 클라우드의 문제가 모든 클라우드 컴퓨팅의 문제로 비쳐져서는 안되겠지만, 해당 문제로 인해 기업들이 클라우드로 서비스를 이관하기에 앞서 선행되어야 하는 경제분석이 한 단계 더 성숙할 수 있는 발판이 될 것으로 보고 있다.

기업들이 아마존의 서비스를 이용하고, 서비스 장애로 인해 수백만 달러에 이르는 수익 손실을 본다면, 내부적인 IT 서비스를 구축하지 않음으로써 절약할 수 있는 비용이 과연 그러한 위험을 부담할만한 가치가 있을까? 고객들은 손실을 보전하기 위해 보험을 구매할 수 있을까?

리브스는 SLA에 따라 환불 등의 보상을 받을 수는 있겠지만, 장애로 인해 “사람들이 입게 되는 수천만 달러의 손실에 대해 아마존이 직접적인 보상을 제공하지는 않을 것“이라고 덧붙였다.

네티즌의견(총 0개)