클라우드 플랫폼 대규모 다운타임의 원인은 무엇일까요? 주요 장애 발생 원인 분석

클라우드 플랫폼의 광범위한 다운타임은 단순히 서버 하나가 "다운"되는 것에서 비롯되는 경우는 드뭅니다. 가장 큰 피해를 주는 사고는 대개 잘못된 구성, 소프트웨어 결함, DNS 문제, 네트워크 장애 또는 인프라 문제와 같은 하나의 기술적 오류에서 시작하여, 여러 서비스가 동일한 제어 평면, 데이터베이스, ID 시스템, 로드 밸런서 또는 지역 리소스에 의존하기 때문에 확산되는 경향이 있습니다.

예시 시나리오: 가상의 클라우드 제공업체인 노스스타 클라우드(Northstar Cloud)를 가정해 보겠습니다. 오전 10시 5분, 지역 서비스에 자동화된 네트워크 변경 사항이 적용되었습니다. 몇 분 만에 고객들이 API 호출 실패를 보고하기 시작했습니다. 10시 12분에는 새로운 가상 머신이 시작되지 않았습니다. 10시 20분에는 로드 밸런서가 정상 작동 중이던 백엔드를 사용 불가로 표시하기 시작했습니다. 10시 35분에는 서로 관련 없어 보이는 수십 개의 제품에서 성능 저하가 발생했습니다. 이 시나리오는 가상의 상황이며 실제 장애를 묘사한 것은 아닙니다. 하지만 작은 초기 오류가 어떻게 대규모 플랫폼 장애로 이어질 수 있는지 보여주기 때문에 유용합니다.

광범위한 플랫폼 장애 발생 시 클라우드 운영 센터에서 서비스 상태 지도, 종속성 다이어그램, 증가하는 지연 시간 및 오류율, 활성 장애, 그리고 영향을 받는 지역을 보여주는 화면입니다.
클라우드 운영팀은 종종 장애 발생 원인을 파악하기 위해 최초 장애가 발생한 종속 요소부터 DNS, 네트워킹, 컴퓨팅, 로드 밸런싱, 스토리지, 그리고 하위 애플리케이션까지 추적해야 합니다.

간단히 말해서, 주요 클라우드 장애는 대개 연쇄적인 장애로 발생합니다.

클라우드 플랫폼의 광범위한 다운타임의 주요 원인은 구성 및 배포 오류, 잠재적인 소프트웨어 결함, DNS 및 라우팅 오류, 공유 서비스 종속성, 장애 또는 복구 중 용량 부족, 제어 평면 문제, 그리고 데이터 센터 또는 가용성 영역에 영향을 미치는 물리적 장애입니다. 다운타임의 규모는 최초 오류 자체보다는 영향을 받는 구성 요소가 얼마나 광범위하게 공유되는지에 따라 달라집니다.

실제 사례를 통해 유용한 정보를 얻을 수 있습니다. AWS는 2025년 10월 버지니아주 북부에서 발생한 장애 사태에 대한 공식 사후 보고서에서 DynamoDB의 자동 DNS 관리 시스템에서 발생한 잠재적 경쟁 조건으로 인해 지역 엔드포인트에 대한 잘못된 빈 DNS 레코드가 생성되었다고 밝혔습니다. 이 DNS 오류는 DynamoDB에 의존하는 고객 및 내부 AWS 서비스에 영향을 미쳤으며, 이후 복구 작업으로 인해 EC2 인스턴스 시작 및 네트워크 로드 밸런싱과 관련된 문제가 발생했습니다. 이 사건은 2025년 10월 DynamoDB 장애에 대한 AWS 사후 보고서 에 기록되어 있습니다 .

1. 구성 변경으로 인해 예상치 못한 큰 폭발 반경이 발생할 수 있습니다.

대규모 분산 시스템 장애에서 가장 흔한 패턴 중 하나는 구성 오류입니다. 최신 플랫폼은 자동화를 통해 제어되기 때문입니다. 단 한 번의 변경으로 수천 개의 호스트, 라우터, DNS 레코드 또는 서비스 엔드포인트에 적용되는 속도가 사람이 수동으로 수정하는 속도보다 훨씬 빠릅니다.

노스스타 클라우드 시나리오로 돌아가 보겠습니다. 오전 10시 5분에 발생한 네트워크 변경이 원래 10대의 머신에 적용될 예정이었지만 여러 지역에 적용되었다고 가정해 봅시다. 이 변경은 하드웨어를 파괴할 필요는 없습니다. 단순히 사용 가능한 네트워크 용량을 줄이거나, 라우팅을 변경하거나, 시스템이 정상적인 트래픽을 거부하게 만들 수 있습니다. 공유 용량이 수요보다 낮아지면 고객은 타임아웃과 재시도를 경험하게 되고, 이는 결국 부하를 더욱 증가시킵니다.

구글은 2019년 서비스 중단 사태에 대한 공식 설명에서 이와 유사한 메커니즘을 언급했습니다. 한 지역의 소수 서버에만 적용하려던 구성 변경이 잘못 적용되어 훨씬 더 광범위하게 사용되면서 여러 지역에서 네트워크 용량의 절반 이상을 사용하지 못하게 되었고, 그 결과 남은 용량마저 트래픽으로 인해 혼잡해졌다는 것입니다. 2019년 서비스 중단에 대한 구글의 공식 업데이트를 참조하세요 .

이것이 바로 성숙한 클라우드 운영업체들이 단계적 배포, 유효성 검사, 자동 롤백, 변경률 제한, 그리고 "파괴 반경" 제어와 같은 안전장치를 사용하는 이유입니다. 이러한 안전장치들이 사고를 완전히 없애지는 못하지만, 하나의 잘못된 변경이 플랫폼 전체에 영향을 미치는 사태로 번지는 것을 방지할 수 있습니다.

2. 소프트웨어 결함은 드문 타이밍 조건이 발생할 때까지 숨겨져 있을 수 있습니다.

대규모 클라우드 플랫폼은 엄청난 규모의 분산 소프트웨어 시스템을 운영합니다. 일부 결함은 두 컨트롤러가 동일한 상태를 업데이트하거나, 비정상적인 지연이 발생하거나, 오래된 메타데이터가 있거나, 복구 프로세스와 정리 프로세스가 동시에 실행되는 등 드문 일련의 상황이 발생해야 나타나기 때문에 수개월 또는 수년 동안 발견되지 않고 남아 있을 수 있습니다.

가상의 노스스타 사건을 예로 들어보겠습니다. 두 개의 독립적인 자동화 작업자가 동일한 DNS 플랜을 업데이트합니다. 하나는 지연되고, 다른 하나는 최신 업데이트를 완료합니다. 그런 다음 정리 루틴이 지연된 작업자가 방금 활성화한 데이터를 제거합니다. 각 구성 요소는 설계대로 작동하는 것처럼 보일 수 있지만, 두 구성 요소의 상호 작용으로 인해 유효하지 않은 상태가 생성됩니다.

2025년 AWS DynamoDB 이벤트는 이러한 범주를 명확하게 보여줍니다. AWS는 초기 장애의 원인을 중복 DNS 관리 구성 요소 간의 잠재적인 경쟁 조건으로 지목했습니다. 이는 특정 벤더에 국한된 문제가 아닙니다. 중복 구성 요소가 동일한 로직 또는 동기화 오류로 인해 공유 상태를 손상시키지 않을 때에만 중복성이 안정성을 향상시킨다는 것입니다.

3. DNS 및 네트워크 오류로 인해 정상적인 시스템에도 접근할 수 없게 될 수 있습니다.

서비스가 완전히 가동 중이더라도 고객이 호스트 이름을 확인할 수 없거나 패킷이 해당 서비스에 도달하지 못하면 사실상 사용할 수 없는 상태가 될 수 있습니다. 따라서 DNS, 라우팅, 로드 밸런싱 및 네트워크 구성은 거의 모든 클라우드 제품에서 매우 중요한 요소입니다.

Northstar 사례에서 고객은 API 호출 시간 초과 때문에 컴퓨팅 서비스 자체에 오류가 발생했다고 생각할 수 있습니다. 하지만 실제 컴퓨팅 서버는 정상일 수 있지만 DNS에서 사용 가능한 엔드포인트를 반환하지 않거나, 경로가 누락되었거나, 로드 밸런서가 정상인 대상을 제거했을 수 있습니다.

AWS는 이러한 장애 모드를 여러 번 문서화했습니다. 2018년 서울 지역에서 발생한 사고에서 AWS는 구성 업데이트로 인해 EC2 DNS 확인자 플릿에 필요한 최소 정상 호스트 수를 지정하는 설정이 잘못 제거되었다고 밝혔습니다. 이로 인해 확인자 용량이 줄어들어 EC2 인스턴스의 DNS 쿼리가 실패했습니다. 자세한 내용은 AWS의 2018년 서울 EC2 DNS 확인 문제 요약 에서 확인할 수 있습니다 .

네트워크 오류는 애플리케이션이 실패한 연결을 재시도하기 때문에 빠르게 확산됩니다. 공격적인 재시도 동작은 부분적인 네트워크 장애를 훨씬 더 큰 트래픽 급증으로 이어질 수 있습니다.

4. 공유된 종속성으로 인해 관련 없는 서비스들이 함께 장애를 일으킵니다.

클라우드 서비스는 독립적인 제품이 아닙니다. 관리형 데이터베이스는 ID 서비스, 내부 DNS, 스토리지, 네트워킹, 스케줄링 시스템, 인증서 서비스 및 원격 측정 데이터에 의존할 수 있습니다. 서버리스 플랫폼은 컴퓨팅 용량, 네트워킹, 큐잉 및 제어 평면 데이터베이스에 의존할 수 있습니다. 공유되는 종속 요소 중 하나에 장애가 발생하면 여러 제품의 성능이 동시에 저하될 수 있습니다.

이는 가장 혼란스러운 서비스 중단 증상 중 하나를 설명해 줍니다. 고객은 여러 서비스에서 오류를 발견하고 각각 독립적인 장애가 발생했다고 생각합니다. 하지만 실제로는 눈에 보이는 장애가 모두 동일한 상위 시스템의 원인에서 비롯될 수 있습니다.

Northstar 시나리오에서는 가상 머신 서비스, 컨테이너 서비스, 서버리스 서비스가 모두 동일한 내부 리소스 데이터베이스에 의존하기 때문에 장애가 발생할 수 있습니다. 고객에게 제공되는 제품은 서로 다르지만, 그 밑바탕에 깔린 의존성은 동일합니다.

2025년 10월 AWS 장애는 이러한 유형의 연쇄 반응을 보여주었습니다. DynamoDB에 의존하는 내부 서비스가 최초의 DNS 문제의 영향을 받았고, 이후 EC2, 네트워크 로드 밸런서, Lambda, 컨테이너 서비스, ID 관련 기능 및 기타 제품 전반에 걸쳐 복구 효과가 발생했습니다.

5. 처리해야 할 작업량이 정상 운영 부하보다 많으면 복구가 실패할 수 있습니다.

원래 고장난 구성 요소를 복구한다고 해서 항상 서비스 중단이 해결되는 것은 아닙니다. 서비스 중단 시간 동안 대기열이 증가하고, 임대 기간이 만료되고, 상태 점검이 실패하고, 자동 확장기가 대체 용량을 요청하고, 클라이언트가 요청을 재시도하고, 구성 업데이트가 누적됩니다. 장애가 발생한 종속 구성 요소가 복구되면 대기 중인 모든 시스템이 동시에 복구를 시도할 수 있습니다.

Northstar 사례를 예로 들어, DNS가 오전 10시 45분에 복구되었다고 가정해 보겠습니다. 수천 대의 컴퓨팅 호스트가 만료된 임대를 갱신하려고 시도합니다. 동시에 고객은 실패한 배포를 재시도하고 자동 확장 시스템은 대체 인스턴스를 요청합니다. 컨트롤 플레인은 갑자기 평소보다 몇 배나 많은 워크로드를 처리하게 됩니다. 효과적인 속도 제한이나 복구 우선순위가 없다면, 원래의 버그는 해결되었더라도 두 번째 장애 모드에 빠질 수 있습니다.

AWS는 2025년에 이와 유사한 복구 문제를 설명했습니다. DynamoDB 접근이 복구된 후, EC2 하위 시스템이 대량의 리스를 다시 설정해야 했습니다. 백로그가 쌓여 타임아웃이 발생하기 전에 처리하기 어려워졌고, AWS는 해당 하위 시스템이 "혼잡 붕괴" 상태에 빠졌다고 밝혔습니다. 이 세부 사항은 장애 지속 시간이 초기 문제 해결에 필요한 시간보다 훨씬 길어질 수 있는 이유를 보여주기 때문에 중요합니다.

6. 상태 점검 및 자동 장애 조치로 인해 때때로 정상적인 용량이 손실될 수 있습니다.

상태 점검은 필수적이지만, 자동화된 의사 결정 시스템이기도 합니다. 네트워크 속도가 느리거나 상태 전파가 지연될 경우, 상태 점검 시스템은 정상적인 리소스도 불량으로 판단하여 서비스에서 제외할 수 있습니다. 이는 용량을 더욱 감소시켜 악순환을 초래할 수 있습니다.

가상의 시나리오에서 Northstar의 로드 밸런서는 네트워크 구성이 완전히 전파되기 전에 새로 시작된 인스턴스를 확인하기 시작합니다. 확인에 실패하면 정상적인 인스턴스가 중단되고, 트래픽은 남은 노드 수로 집중되어 해당 노드들이 과부하 상태가 됩니다.

2025년 AWS 이벤트에서도 비슷한 현상이 나타났습니다. AWS는 네트워크 로드 밸런서의 상태 점검이 새 인스턴스의 네트워크 상태가 전파되는 동안 실패하는 경우가 있어 서비스 용량이 차감되었다고 밝혔습니다. 이는 장애 조치 로직이 정상적인 "정상/비정상" 상태뿐 아니라 부분적인 장애 상황에서도 테스트되고 속도 제한이 적용되어야 함을 다시 한번 상기시켜 줍니다.

7. 데이터센터, 전력, 냉각 및 가용성 영역에 장애가 발생할 가능성이 여전히 존재합니다.

모든 서비스 중단이 소프트웨어 문제에서 시작되는 것은 아닙니다. 전력, 냉각, 광섬유, 네트워크 하드웨어 및 기타 물리적 인프라에 장애가 발생할 수 있습니다. 클라우드 아키텍처는 이러한 현실을 고려하여 설계되었으며, 이것이 주요 제공업체들이 지역을 장애 발생 시 격리되는 구역으로 나누는 이유입니다.

Microsoft는 Azure 가용성 영역이 독립적인 전원, 냉각 및 네트워킹을 갖춘 분리된 데이터 센터 그룹이라고 설명합니다. 또한 영역 배포는 영역 장애 발생 시 자동으로 유지되지 않으므로, 지원되는 경우 여러 영역 또는 영역 중복 서비스를 사용해야 합니다. 자세한 내용은 Microsoft의 공식 Azure 가용성 영역 개요를 참조하세요 .

실질적으로 클라우드 제공업체는 영역을 독립적으로 만들 수 있지만, 고객 워크로드는 여전히 단일 영역 데이터베이스, 단일 지역 제어 종속성 또는 한 번도 실행되지 않은 장애 조치 프로세스를 가질 수 있습니다.

클라우드 장애가 지역적인 원인에서 비롯되었더라도 전 세계적인 현상처럼 보일 수 있는 이유는 무엇일까요?

"전 세계적 서비스 중단"은 종종 장애가 발생한 물리적 장비의 위치보다는 고객에게 미치는 영향을 설명하는 용어입니다. 지역 서비스는 인증, DNS, 메타데이터, 빌드 파이프라인, 대시보드 또는 다른 지역에서 사용되는 제어 API를 지원할 수 있습니다. 따라서 전 세계의 애플리케이션이 특정 위치에 집중된 서비스에 의존하기 때문에 장애가 발생할 수 있습니다.

사고 진단 시 이러한 구분은 중요합니다. 엔지니어는 두 가지 다른 질문을 던져야 합니다. 첫째, 최초 오류는 어디에서 발생했는가? 둘째, 어떤 종속성 때문에 오류가 확산되었는가? 이 두 질문에 대한 답은 종종 다릅니다.

실제 사고 발생 시 원인을 파악하는 방법

운영자의 경우, 각 제품을 개별적으로 조사하기보다는 증상을 상호 연관시켜 파악하는 것이 일반적으로 가장 빠른 해결책입니다. 여러 서비스가 동시에 장애를 일으키는 경우, 공통 종속성을 찾아야 합니다. 기존 워크로드는 정상적으로 유지되지만 새로운 배포가 실패하는 경우, 제어 평면, 스케줄링, 용량 또는 프로비저닝 문제를 의심해야 합니다. IP 연결은 되지만 서비스 이름에 오류가 발생하는 경우, DNS를 조사해야 합니다. 복구 알림 후 오류율이 증가하는 경우, 재시도 폭주, 백로그, 만료된 리스, 상태 점검 피드백 루프 또는 불충분한 복구 용량을 찾아야 합니다.

공급자 상태 시스템은 플랫폼 장애와 애플리케이션별 오류를 구분하는 데에도 도움이 될 수 있습니다. 예를 들어 Google Cloud는 공식 서비스 상태 대시보드를 통해 현재 및 과거 장애를 게시하고, AWS는 공식 사후 이벤트 요약을 통해 주요 이벤트 요약을 게시합니다 .

고객이 환경 영향을 줄이기 위해 할 수 있는 일

어떤 아키텍처도 다운타임이 전혀 발생하지 않도록 보장할 수는 없지만, 몇 가지 설계 선택을 통해 다운타임 위험을 줄일 수 있습니다. 서비스가 지원하는 경우 프로덕션 워크로드에 여러 가용 영역을 사용하십시오. 지역 장애를 허용할 수 없는 워크로드의 경우, 다중 지역 설계를 검토하고 데이터 일관성 유지 측면에서 고려해야 할 사항을 파악하십시오. 모든 복구 작업이 의존하는 단일 지역 ID 서비스, 단일 DNS 경로 또는 단일 관리 API와 같은 숨겨진 단일 장애 지점을 제거하십시오.

애플리케이션은 장애 발생 시에도 정상적으로 작동해야 합니다. 이를 위해서는 캐시된 콘텐츠를 제공하고, 중요하지 않은 쓰기 작업을 큐에 저장하고, 지수 백오프 및 지터링을 통해 재시도 횟수를 제한하고, 제어 평면 작업과 데이터 평면 트래픽을 분리하고, 부분적인 장애 발생 시 "읽기 전용" 또는 "핵심 트랜잭션" 모드를 유지하는 등의 조치가 필요합니다. 복구 절차는 백로그 상황에서 테스트해야 합니다. 빈 테스트 환경에서 종속성을 재시작하는 것과 수백만 건의 요청이 대기 중인 상황에서 복원하는 것은 매우 다르기 때문입니다.

광범위한 클라우드 서비스 중단 사태에서 얻은 핵심 교훈

노스스타 클라우드 시나리오로 돌아가 보겠습니다. 10시 5분 구성 변경이 원인일 수는 있지만, 그것이 전부는 아닙니다. 네트워크가 공유되고, 자동화에 타이밍 결함이 있으며, 하위 서비스들이 동일한 상태에 의존하고, 상태 점검으로 용량이 소모되고, 재시도 작업으로 부하가 증가하고, 복구 시스템이 엄청난 백로그를 처리해야 하기 때문에 장애가 광범위하게 발생합니다.

이것이 바로 많은 주요 클라우드 장애의 근본적인 패턴입니다. 초기 오류는 종종 그 오류를 증폭시키는 종속성 사슬에 비해 사소해 보입니다. 따라서 클라우드 다운타임을 이해하려면 근본 원인과 전파 경로를 모두 살펴봐야 합니다. 가장 탄력적인 설계는 개별 구성 요소의 오류를 예상하고, 이러한 오류가 시스템 전체에 영향을 미치는 사태로 발전하지 않도록 방지하는 데 집중합니다.

주요 자료 및 추가 참고 문헌

댓글 남기기

CCUS(탄소 포집 및 활용) 기술 확장: 탄소 포집이 정말로 전 세계 배출량 감축을 가져올 수 있을까?

CCUS(탄소 포집 및 활용) 기술 확장: 탄소 포집이 정말로 전 세계 배출량 감축을 가져올 수 있을까?

CCUS(탄소 포집 및 활용) 투자가 증가하고 있지만, 탄소 포집이 전 세계 배출량 감소를 되돌릴 수 있을까요? CCUS가 실제로 효과를 발휘하는 분야, 규모 확장의 한계, 그리고 중요한 증거는 무엇인지 살펴보세요.

국경을 넘나드는 디지털 공급망 관리 공부하기 좋은 곳: 비교할 만한 7가지 프로그램

국경을 넘나드는 디지털 공급망 관리 공부하기 좋은 곳: 비교할 만한 7가지 프로그램

디지털 공급망, 물류, 분석, 글로벌 무역 및 운영 분야의 7가지 글로벌 프로그램을 비교하고, 자신에게 맞는 프로그램을 선택하는 데 도움이 되는 실질적인 지침을 제공합니다.

공상과학에서 현실로: BCI 기술이 어떻게 운동 능력과 언어 능력을 되찾아주는가

공상과학에서 현실로: BCI 기술이 어떻게 운동 능력과 언어 능력을 되찾아주는가

뇌-컴퓨터 인터페이스가 신경 신호를 해독하여 의사소통과 움직임을 복원하는 방법, 최근 연구를 통해 달성한 성과, 그리고 BCI 사용을 제한하는 요소는 무엇인지 알아보세요.

상업용 드론의 구조: 하드웨어 혁신과 자율 비행

상업용 드론의 구조: 하드웨어 혁신과 자율 비행

상용 드론이 센서, 엣지 AI, 배터리, 통신 및 비행 제어 소프트웨어를 어떻게 결합하는지, 그리고 자율성이 여전히 임무 및 규정에 따라 달라지는 부분은 어디인지 살펴보세요.

Where Should You Study Energy Storage Engineering? 7 Battery Tech Programs Compared

Where Should You Study Energy Storage Engineering? 7 Battery Tech Programs Compared

Compare seven strong battery and energy storage master's options by materials, systems, research, industry exposure, flexibility, language, and cost trade-offs.

하늘을 조종하는 기술: 산업용 무인 항공기가 배터리 및 탑재량 제약을 극복하는 방법

하늘을 조종하는 기술: 산업용 무인 항공기가 배터리 및 탑재량 제약을 극복하는 방법

탑재량, 배터리 용량, 날씨, 추진 효율, 기체 구조가 산업용 무인 항공기(UAV)의 비행 지속 시간에 어떤 영향을 미치는지, 그리고 이를 개선하는 방법을 알아보세요.

스마트 의료기기 공학을 공부할 곳: 최고의 생의학 프로그램

스마트 의료기기 공학을 공부할 곳: 최고의 생의학 프로그램

설계, 생체 전자공학, 인공지능, 사이버 보안, 임상 교육 및 규제를 포함한 스마트 의료 기기 분야의 주요 생의학 공학 프로그램을 비교해 보세요.

Salesforce 시스템 다운타임에 대비한 비즈니스 연속성 계획 수립 방법

Salesforce 시스템 다운타임에 대비한 비즈니스 연속성 계획 수립 방법

명확한 우선순위, 대체 워크플로, 복구 점검, 테스트 기준 및 현실적인 한계를 포함하는 실용적인 Salesforce 시스템 중단 대비 계획을 수립하십시오.

StoreForce 사용에 문제가 있나요? 소매점 팀이 인력 관리 시스템 장애를 해결하는 방법

StoreForce 사용에 문제가 있나요? 소매점 팀이 인력 관리 시스템 장애를 해결하는 방법

StoreForce 관련 문제는 일정 관리, 근태 관리, 교대 근무 변경, 매장 간 소통에 차질을 초래할 수 있습니다. 문제 진단 방법, 매장 운영 유지 방법, 그리고 복구 여부 확인 방법을 알아보세요.

주요 시스템 장애 발생 시 Salesforce 지원팀에 문의하는 방법

주요 시스템 장애 발생 시 Salesforce 지원팀에 문의하는 방법

주요 장애 발생 시 Salesforce 지원팀에 연락하는 방법, 적절한 채널을 선택하는 방법, 유용한 사례를 준비하는 방법, 중복 티켓을 생성하지 않고 후속 조치를 취하는 방법을 알아보세요.