아마존 웹 서비스(AWS)가 지난 10월 19일과 20일(이하 현지시간) 수백만 고객과 아마존 자체 서비스까지 마비시켰던 대규모 인터넷 장애의 원인을 공식 발표했다.

[자료: AWS]
AWS는 지역별 DynamoDB 서비스 엔드포인트에 영향을 미친 DNS 확인(DNS resolution) 오류가 약 2시간 35분 동안 지속된 연쇄 장애를 일으켰다고 공식 확인했다.
DNS 확인 오류가 원인… “작은 실수가 큰 사고 일으켜”
이 대규모 장애는 10월 19일 오후 11시 49분(PDT: 태평양 일광 절약 시간)에 시작되어 AWS 생태계 전체에 충격을 주었다. 다행히 광범위한 인프라 붕괴나 하드웨어 고장 때문은 아니었다.
그러나 시스템이 특정 DNS 확인 오류를 겪으면서 고성능 데이터베이스 서비스인 다이나모(Dynamo) DB 엔드포인트로 요청을 제대로 보낼 수 없게 되었다.
DNS가 다이나모 DB로 가는 트래픽을 정확하게 라우팅하지 못하자, 전체 AWS 인프라에 도미노 효과를 일으켰다. 이 사건으로 아마존 홈페이지를 포함해 수많은 아마존 자회사 서비스와 AWS 고객 지원 운영까지 중단됐다.
AWS 엔지니어들은 10월 20일 오전 12시 26분에 문제의 핵심인 DNS 확인 오류를 파악하고 긴급 조치에 들어갔다.
오전 2시 24분에 핵심 다이나모DB DNS 문제는 성공적으로 해결되었지만, 꼬인 실타래를 완전히 풀기까지는 시간이 더 걸렸다. 일부 내부 서브 시스템은 여전히 기능이 저하된 상태였기 때문이다.
AWS는 추가적인 시스템 악화를 막기 위해 전략적인 조치를 취했다. 엔지니어들은 특히 새로운 EC2 인스턴스 시작과 같은 특정 운영을 의도적으로 제한(Throttling)했다.
이러한 고의적인 속도 저하는 실패한 요청이 시스템에 한꺼번에 쏟아지는 과부하 연쇄 현상을 막아 시스템이 더 원활하게 복구될 수 있도록 도왔다.
오후 12시 28분에 AWS 서비스와 고객 시스템 전반에서 상당한 복구가 진행됐다. AWS 팀은 오후 내내 EC2 인스턴스 시작 제한을 점진적으로 풀면서 시스템 상태를 신중하게 모니터링했다.
마침내 10월 20일 오후 3시 1분, AWS는 모든 서비스가 정상 운영으로 복귀했다고 발표했다. 실제 장애 시간은 약 2시간 반이었지만, 완전히 정상화되기까지는 총 15시간이 걸린 셈이다.
아마존은 이번 사건에 대한 자세한 사후 요약 보고서를 발표했으며, 고객들에게는 잔여 문제가 있다면 AWS 헬스 대시보드(Health Dashboard)를 확인하라고 조언했다.
[김형근 기자(editor@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>














