
|
|
AWS 서비스 중단, 단 한 줄의 코드 충돌에서 시작됐다
전 세계 수많은 온라인 서비스가 마비된 이번 아마존 웹서비스(AWS) 장애는 단 하나의 시스템 결함에서 비롯된 것으로 드러났다.
아마존은 목요일 공개한 사후 분석 보고서에서 “두 개의 자동화 시스템이 동시에 동일한 데이터를 업데이트하려다 충돌이 발생했고, 이로 인해 주요 서비스가 연쇄적으로 중단됐다”고 밝혔다.
이 사고로 인해 넷플릭스, 스타벅스, 유나이티드 항공 등 글로벌 기업들이 한때 온라인 서비스를 제공하지 못했으며, 소비자들은 음식 주문, 모바일 뱅킹, 병원 네트워크, 스마트홈 기기 연결 등 다양한 일상 서비스 이용에 큰 불편을 겪었다.
“전화번호부는 있는데 번호가 지워진 셈입니다.”— 안젤리크 메디나, 시스코 ThousandEyes 책임자
AWS의 DNS 시스템 내부에서 두 프로그램이 동시에 동일한 항목을 수정하려다 빈 레코드가 생성되었고, 이로 인해 여러 서비스가 올바른 연결 경로를 찾지 못했다.
이 문제는 DynamoDB 데이터베이스 장애로 확산되었고, 이어서 가상 서버를 관리하는 EC2 및 트래픽 분산을 담당하는 Network Load Balancer로 전이되며 전 세계적인 서비스 중단으로 이어졌다.
일리노이대학교 인드라닐 굽타 교수는 이 현상을 “두 명의 학생이 같은 노트를 동시에 고치려다 서로의 기록을 덮어쓴 상황”에 비유했다. “결국 노트에는 비어 있는 페이지만 남게 된다”는 것이다.
AWS는 이번 사건 이후 두 시스템 간의 경합 상태(race condition) 를 방지하도록 코드를 수정하고, EC2 서비스에 대한 추가 자동화 테스트 스위트를 도입했다고 밝혔다.
“이번 사고가 고객에게 큰 영향을 미쳤음을 알고 있습니다. 재발 방지를 위해 시스템 가용성을 한층 강화하겠습니다.” — AWS 공식 성명
전문가들은 이와 같은 대규모 정전은 “드물지만 불가피한 기술 현실”이라고 평가하고 있다. 굽타 교수는 “문제의 발생 자체보다 기업이 얼마나 투명하고 신속하게 대응하느냐가 더 중요하다”고 강조했다.
*CTV뉴스의 글을 번역,편집한 것입니다. |
|||||||||||||||||||




