2017.03.08

글로벌 칼럼 | 아마존이 보여준 “한 바구니에 담긴 달걀”의 위험성

SteSteven J. Vaughan-Nichols | Computerworld
최근 아마존의 미 동부 제1 데이터센터에 장애가 발생해 해당 센터에서 지원하던 아마존 S3 클라우드 서비스가 중단되는 사고가 발생했다. 그리고 그 결과는 실로 참담했다.

이 사고로 인해 쿼라(Quora), 비즈니스 인사이더(Business Insider), 넷플릭스(Netflix), 레딧(Reddit), 슬랙(Slack) 등 거대 사이트들의 운영이 전면 혹은 일부 중단되는 피해를 입었다. 시밀러테크(SimilerTech)의 조사에 따르면, 이번 장애로 영향을 받은 사이트는 총 12만 4,000곳에 이르는 것으로 확인됐다. 대학에 다니는 필자의 한 지인으로부터도 “학교의 IT 기능이 마비돼 학생들이 과제에 접근하지 못하는 등 불편을 입었다”는 피해 사례가 전해졌다. 한 클라우드 컨설턴트는 아마존 웹 서비스(AWS, Amazon Web Services)를 이용하던 고객들이 애저(Azure)로의 전환을 요구해오는 통에 전화기에 불이 날 지경이었다고 하소연하기도 했다.

이번 사태는 우리에게 중요한 교훈을 전해줬다. 그간 우리는, 클라우드를 잘못 이용해왔다.

이 수백만 달러의 피해를 불러온 사고의 원인은, 놀랍게도 하나의 타이핑 오류에서 비롯된 것이었다. AWS 측의 보고 자료를 인용해본다.

“아마존 S3(Simple Storage Service) 팀은 S3 청구 시스템 처리 지연을 야기하는 문제에 대한 디버깅 작업을 진행 중이었다. 9:37 AM(태평양 표준시) 기준, 공인 S3 팀원 한 명이 기존 플레이북을 이용해 S3 청구 프로세스에 이용되는 S3 서브시스템 가운데 하나와 연결된 소수의 서버들을 제거하는 명령을 실행했다. 이 과정에서 명령 1 건이 잘못 입력됐고, 그로 인해 계획한 것보다 많은 수의 서버가 제거됐다. 오류로 인해 제거된 서버는 본래 작업 대상이 아닌 다른 두 S3 서브시스템을 지원하는 서버들로, 이로 인해 지역 내 모든 S3 객체의 메타데이터와 위치 정보를 총괄하는 인덱스 서브시스템에 손상이 가해졌다.”

모든 문제가, 하나의 입력 오류에서 비롯된 것이었다.

개인적으로 “잘못은 인간이 하지만, 문제를 키우는 것은 컴퓨터다”라는 업계의 농담을 좋아한다. 그리고 이번 사건을 보며 여기에 한 마디를 덧붙이고 싶어졌다. “그리고 클라우드는 문제를 재앙의 차원으로 확장시킨다.”

언젠가부터 시장에는 퍼블릭 클라우드에 대한 의구심이 슬며시 퍼져왔다. 그리고 이번 사건은 그런 불안이 근거 없는 의심이 아니었음을 확인시켜줬다.

기억해야 할 점은 사고의 책임이 AWS에만 있는 것이 아니라는 점이다. 이는 미 동부 제1 데이터센터라는 특정 지점의 문제로 발생한 사고였으며, 다른 AWS 데이터센터들은 여느 때와 다름없이 정상적으로 운영했다. 그리고 자신들의 모든 IT 자산을 한 곳의 AWS 가용성 존에 몰아넣는 선택을 한 것은 분명 고객들이다. 소규모 기업이라면 수긍할 수 있는 선택이다. 복수 지역에서 이런 규모의 비즈니스를 구동하는 것은 비용적으로 부담이 큰 작업이기 때문이다. 그러나 앞서 이름이 언급된 수준의 대형 기업이라면, 자신들의 선택에 변명의 여지는 없을 것이다.

소규모 기업이라도 아코니스(Acornis) 등의 업체들이 제공하는 클라우드 재난 복구 플랜을 이용할 여력은 있을 것이다. 하지만 이번 AWS 중단 사태에서 드러났듯, 시장의 기업들은 그 규모와 무관하게 하나같이 사고로부터 자신들의 시스템을 보호할 대비책을 마련하지 않고 있었다.

이번 사고를 통해서는 다운디텍터(DownDetector), 아이싯다운라잇나우 (isitdownrightnow.com) 등의 사이트 상태 모니터링 서비스들마저 다운되는 아이러니한 상황이 발생하기도 했다. 아마존의 AWS 서비스 헬스 대시보드(AWS Service Health Dashboard) 역시 피해를 비껴가진 못했다.

애저나 구글 클라우드, 1&1 등으로 피난을 간다 해도 상황은 별반 다르지 않을 것이다. 모든 클라우드는 잠재적 장애의 위험성을 지니고 있다.

잠깐, 업체들이 설명하는 클라우드 SLA는 우리를 보호해주는 조항이 아닌가? 다시 생각해보길 바란다. 이 보장에 포함되는 내용은 기껏해야 다운타임과 관련한 보상이 전부다. 그리고 그 다운타임으로 인해 비즈니스가 입는 타격은, 온전히 고객의 부담으로 남겨진다.

이 혼잡한 상황의 이면에는 보다 깊은 문제가 자리하고 있다. 인터넷 전문가이자 기업가인 트리스탄 루이스는 최근 한 기고를 통해 “탈중앙화를 통해 서비스를 보호한다는 것이 인터넷의 기본 설계 원리다. 그런데 퍼블릭 클라우드는 소수의 주요 기업에 모든 자원이 쏠리는 중앙집중화 모델을 강화해나가고 있다. 인터넷 공간의 수많은 사이트들을 아마존과 마이크로소프트, 구글이 거의 독점적으로 지원하고 있는 것이다. 이들 기업의 고객들 대다수는 자신들의 인프라를 단일 데이터센터에서 호스팅하고 있다. 이런 구조는 인터넷 공간의 많은 영역을 다시 중앙집중화하며, 결과적으로 웹의 취약성을 증대시키게 된다”라고 설명했다.

중앙집중화 경향으로 인터넷 시스템이 하나의 취약 지점만으로 붕괴할 수 있는 구조로 변화하며, 결국 인터넷 전반의 불안정성이 증가한다는 것이 루이스가 지적한 바다.

루이스의 예언은 얼마 지나지 않아 이렇게 현실이 됐다.

자사의 IT 인프라를 대형 퍼블릭 클라우드로 옮기는 투자를 이어나갈 계획이라면, 우선 그 자원을 여러 영역에 분산 배치하기 바란다. 이어, 그것들의 안전을 보장하고 싶다면, 장기적으로는 퍼블릭 클라우드에 대한 과도한 의존을 재고하고 프라이빗 클라우나 하이브리드 클라우드 모델로의 전환을 제안해본다.

물론 어떤 환경에서도 실패의 가능성은 존재한다. 하지만 모든 IT 자원이 한 번의 사고로 망가지는 상황은 피할 수 있을 것이다.  editor@itworld.co.kr

2017.03.08

글로벌 칼럼 | 아마존이 보여준 “한 바구니에 담긴 달걀”의 위험성

SteSteven J. Vaughan-Nichols | Computerworld
최근 아마존의 미 동부 제1 데이터센터에 장애가 발생해 해당 센터에서 지원하던 아마존 S3 클라우드 서비스가 중단되는 사고가 발생했다. 그리고 그 결과는 실로 참담했다.

이 사고로 인해 쿼라(Quora), 비즈니스 인사이더(Business Insider), 넷플릭스(Netflix), 레딧(Reddit), 슬랙(Slack) 등 거대 사이트들의 운영이 전면 혹은 일부 중단되는 피해를 입었다. 시밀러테크(SimilerTech)의 조사에 따르면, 이번 장애로 영향을 받은 사이트는 총 12만 4,000곳에 이르는 것으로 확인됐다. 대학에 다니는 필자의 한 지인으로부터도 “학교의 IT 기능이 마비돼 학생들이 과제에 접근하지 못하는 등 불편을 입었다”는 피해 사례가 전해졌다. 한 클라우드 컨설턴트는 아마존 웹 서비스(AWS, Amazon Web Services)를 이용하던 고객들이 애저(Azure)로의 전환을 요구해오는 통에 전화기에 불이 날 지경이었다고 하소연하기도 했다.

이번 사태는 우리에게 중요한 교훈을 전해줬다. 그간 우리는, 클라우드를 잘못 이용해왔다.

이 수백만 달러의 피해를 불러온 사고의 원인은, 놀랍게도 하나의 타이핑 오류에서 비롯된 것이었다. AWS 측의 보고 자료를 인용해본다.

“아마존 S3(Simple Storage Service) 팀은 S3 청구 시스템 처리 지연을 야기하는 문제에 대한 디버깅 작업을 진행 중이었다. 9:37 AM(태평양 표준시) 기준, 공인 S3 팀원 한 명이 기존 플레이북을 이용해 S3 청구 프로세스에 이용되는 S3 서브시스템 가운데 하나와 연결된 소수의 서버들을 제거하는 명령을 실행했다. 이 과정에서 명령 1 건이 잘못 입력됐고, 그로 인해 계획한 것보다 많은 수의 서버가 제거됐다. 오류로 인해 제거된 서버는 본래 작업 대상이 아닌 다른 두 S3 서브시스템을 지원하는 서버들로, 이로 인해 지역 내 모든 S3 객체의 메타데이터와 위치 정보를 총괄하는 인덱스 서브시스템에 손상이 가해졌다.”

모든 문제가, 하나의 입력 오류에서 비롯된 것이었다.

개인적으로 “잘못은 인간이 하지만, 문제를 키우는 것은 컴퓨터다”라는 업계의 농담을 좋아한다. 그리고 이번 사건을 보며 여기에 한 마디를 덧붙이고 싶어졌다. “그리고 클라우드는 문제를 재앙의 차원으로 확장시킨다.”

언젠가부터 시장에는 퍼블릭 클라우드에 대한 의구심이 슬며시 퍼져왔다. 그리고 이번 사건은 그런 불안이 근거 없는 의심이 아니었음을 확인시켜줬다.

기억해야 할 점은 사고의 책임이 AWS에만 있는 것이 아니라는 점이다. 이는 미 동부 제1 데이터센터라는 특정 지점의 문제로 발생한 사고였으며, 다른 AWS 데이터센터들은 여느 때와 다름없이 정상적으로 운영했다. 그리고 자신들의 모든 IT 자산을 한 곳의 AWS 가용성 존에 몰아넣는 선택을 한 것은 분명 고객들이다. 소규모 기업이라면 수긍할 수 있는 선택이다. 복수 지역에서 이런 규모의 비즈니스를 구동하는 것은 비용적으로 부담이 큰 작업이기 때문이다. 그러나 앞서 이름이 언급된 수준의 대형 기업이라면, 자신들의 선택에 변명의 여지는 없을 것이다.

소규모 기업이라도 아코니스(Acornis) 등의 업체들이 제공하는 클라우드 재난 복구 플랜을 이용할 여력은 있을 것이다. 하지만 이번 AWS 중단 사태에서 드러났듯, 시장의 기업들은 그 규모와 무관하게 하나같이 사고로부터 자신들의 시스템을 보호할 대비책을 마련하지 않고 있었다.

이번 사고를 통해서는 다운디텍터(DownDetector), 아이싯다운라잇나우 (isitdownrightnow.com) 등의 사이트 상태 모니터링 서비스들마저 다운되는 아이러니한 상황이 발생하기도 했다. 아마존의 AWS 서비스 헬스 대시보드(AWS Service Health Dashboard) 역시 피해를 비껴가진 못했다.

애저나 구글 클라우드, 1&1 등으로 피난을 간다 해도 상황은 별반 다르지 않을 것이다. 모든 클라우드는 잠재적 장애의 위험성을 지니고 있다.

잠깐, 업체들이 설명하는 클라우드 SLA는 우리를 보호해주는 조항이 아닌가? 다시 생각해보길 바란다. 이 보장에 포함되는 내용은 기껏해야 다운타임과 관련한 보상이 전부다. 그리고 그 다운타임으로 인해 비즈니스가 입는 타격은, 온전히 고객의 부담으로 남겨진다.

이 혼잡한 상황의 이면에는 보다 깊은 문제가 자리하고 있다. 인터넷 전문가이자 기업가인 트리스탄 루이스는 최근 한 기고를 통해 “탈중앙화를 통해 서비스를 보호한다는 것이 인터넷의 기본 설계 원리다. 그런데 퍼블릭 클라우드는 소수의 주요 기업에 모든 자원이 쏠리는 중앙집중화 모델을 강화해나가고 있다. 인터넷 공간의 수많은 사이트들을 아마존과 마이크로소프트, 구글이 거의 독점적으로 지원하고 있는 것이다. 이들 기업의 고객들 대다수는 자신들의 인프라를 단일 데이터센터에서 호스팅하고 있다. 이런 구조는 인터넷 공간의 많은 영역을 다시 중앙집중화하며, 결과적으로 웹의 취약성을 증대시키게 된다”라고 설명했다.

중앙집중화 경향으로 인터넷 시스템이 하나의 취약 지점만으로 붕괴할 수 있는 구조로 변화하며, 결국 인터넷 전반의 불안정성이 증가한다는 것이 루이스가 지적한 바다.

루이스의 예언은 얼마 지나지 않아 이렇게 현실이 됐다.

자사의 IT 인프라를 대형 퍼블릭 클라우드로 옮기는 투자를 이어나갈 계획이라면, 우선 그 자원을 여러 영역에 분산 배치하기 바란다. 이어, 그것들의 안전을 보장하고 싶다면, 장기적으로는 퍼블릭 클라우드에 대한 과도한 의존을 재고하고 프라이빗 클라우나 하이브리드 클라우드 모델로의 전환을 제안해본다.

물론 어떤 환경에서도 실패의 가능성은 존재한다. 하지만 모든 IT 자원이 한 번의 사고로 망가지는 상황은 피할 수 있을 것이다.  editor@itworld.co.kr

X