포스트

AWS 버지니아 리전 장애와 삼성 계정

사건


10월 20일 한국 기준 오후 시간에 AWS 의 버지니아 리전에 문제가 발생하여 많은 서비스가 멈췄었습니다.
비슷한 시각에 어떤 게임 커뮤니티에서 삼성 계정 인증에 오류가 있다는 글을 보고 ‘아, 삼성 계정 서비스도 AWS 위에서 돌아가나?’ 라는 궁금증에 관련 내용을 검색해 보았습니다.

검색하자마자 최상단에서 쉽게 이 글을 찾을 수 있었습니다.
https://aws.amazon.com/ko/blogs/tech/how-the-samsung-account-service-stays-resilient-against-regional-failures/

그리고 아래 기사를 통해 보면 리전 규모 장애에서도 위 글에서 보여준 아키텍처를 통해 약 20 분 안에 회복한 것으로 보입니다.

약 20분간 ‘삼성페이’ 등을 쓸 수 있는 삼성월렛 앱이 멈췄고 … https://www.chosun.com/economy/tech_it/2025/10/21/CGFH6DEWAZCIBJCGTPNIWADWD4/?utm_source=chatgpt.com

실제로 failover 진행이 어떻게 되었는 지는 찾을 수 없었습니다. 사실 95% 의 트래픽은 이미 5분 내에 처리되었을 수도 있고, 아니면 20 분이 지나서도 오류가 지속되었을 수도 있고, 알 수는 없네요.

이 글은 위의 첫번째 링크에서 삼성 계정의 고가용성 아키텍처에 대한 리뷰입니다.

Route53 와 버지니아 리전


리전 하나에 문제가 생기면 삼성 계정의 아키텍처는 1차적으로 Route53 을 통해 트래픽을 장애 리전에서 정상 리전으로 전환한다고 합니다.
그런데 Route53 의 Control Plane 이 이번 장애가 발생한 버지니아 리전에만 존재한다고 합니다. 그래서 삼성의 기술글에서도 이런 경우에 DNS 레코드를 변경할 수 없는 문제가 있다고 합니다.

그래서 Route53 ARC 라는 기능을 이용했다고 합니다.
ARC 는 미리 설정한 Standby 리전들로 트래픽을 전환시킬 수 있는 Route53 의 고가용성 기능이라고 합니다.

그럼 이제 모든 리전이 멈추는 지구 종말 시나리오(?)를 제외하면, 와 만만세 문제 해결인가요?

그래도 존재하는 장애 리전으로의 잔여 트래픽


Route53 ARC 를 통해 자동적으로 Failover 라우팅도 되는데, 일부 트래픽이 여전히 전환되지 않습니다.
클라이언트 단에서의 문제였다고 하네요. 클라이언트에서의 DNS 캐시때문에, DNS 레코드는 변경되었어도 기존 서비스로 계속 요청이 가는 것이죠.

그래서 삼성 계정은 AWS CloudFront 를 통해 이를 해결했다고 합니다.
CloudFront 를 이용하여 서비스를 제공하면 직접 리전과 연결되는 것이 아닌, 엣지 로케이션과 연결됩니다. 따라서 장애 리전 IP 를 캐싱하는 상황이 없게됩니다.

(사담) 제가 CDN 에 대해 아는게 거의 없어서, ‘엣지 자체가 장애가 발생하면 똑같은 일이 일어나는게 아닌가?’ 라는 상상을 해보았습니다. 이건 제가 CDN 동작과 Anycast IP 라는 개념을 몰라서 발생한 의문점이었습니다. CDN 은 Anycast 주소를 이용해서 같은 IP 를 사용해도 여러 노드로 분산시킬 수 있었습니다.

이제 CloudFront 를 통해 캐싱 문제도 해결되어, 위 글의 훈련에서 3분 내에 99% 의 트래픽이 성공적으로 전환되었다고 합니다.

후기


문제를 해결한 아키텍처를 떠나, 실제 문제를 관측하기 위해서 모의 훈련을 해보는 것이 중요한 것 같습니다. DNS 캐싱으로 인한 문제와 같이, 놓친 포인트들을 실제로 찾을 수 있으니까요. 그런데 훈련에서 실제 문제를 발견하고 분석하는 것이 제일 어렵겠네요. :(

리뷰에 적지 않은 추가 포인트


  • Active-Active 아키텍처
  • 리전 별로 흩어진 DB 동기화
  • 원문 글에서는 단점 때문에 채택하지 않은, 글로벌 로드 밸런서를 통한 해결방법은? (아마 Route 53 의 GSLB)
  • DNS TTL
  • HTTP keep-alive, HTTP/2, HTTP/3 의 긴 생명 주기를 가지는 단일 연결: 원문의 최종 아키텍처에선 CDN 과 통신하기 때문에 이에 따른 문제가 없습니다. (통신하던 엣지에서 장애가 발생한게 아니라면 말이죠)
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.