[reinvent 2024] 마이크로초 정밀 시간 제공하는 Amazon Time Sync Service

Summary

과거에는 분산 시스템 설계자들이 로그 타임스탬프나 UI 표시와 같은 기능에 인간이 이해할 수 있는 벽시계 시간을 사용했습니다. 이러한 분산 시스템 설계 원칙에서는 벽시계 시간에 중요한 작업을 맡기지 않는 것이 일반적이었습니다. 하지만 이제 시간 정밀도는 분산 시스템에서도 신뢰할 수 있는 수준에 이르러, 데이터베이스, AI, 금융 서비스, 방송/미디어, 통신, 양자 컴퓨팅 등 다양한 산업에서 정확성과 정밀도를 유지할 수 있습니다. 이로써 시스템 설계를 새로운 방식으로 접근할 수 있으며, AWS에서 애플리케이션 성능을 향상시키기 위한 중요한 기능으로 시계 정확도를 활용할 수 있게 되었습니다.


리인벤트 2024 테크 블로그의 더 많은 글이 보고 싶다면?

Tech Blog

AWS re:Invent 2024 Tech Blog written by MegazoneCloud

Overview

  • Title: Amazon Time Sync Service delivers microsecond-accurate time
  • Date: 2024년 12월 4일(수)
  • Venue: MGM Grand | Level 1 | Boulevard 169
  • Speaker:
  • Josh Levinson (EC2 수석 제품 관리자, Amazon Web Services)
  • Julien Ridoux (Amazon Web Services 수석 소프트웨어 엔지니어)
  • Industry: –

들어가며

대규모 시스템에서 시간을 관리하고 이를 동기화 하는 것은 매우 중요한 과제 입니다. 데이터를 동기화 하고 정렬하고 수신 여부를 체크하는 모든 컴퓨팅의 행위는 시간을 기준으로 이루어지며, AWS와 같이 글로벌 클라우드 환경을 제공하는 환경에서는 이러한 시간 관리 측면에서도 기술적인 혁신이 있을 것이라 생각했습니다. 

이번 세션을 통해서 마이크로초 기반의 정밀 시간을 어떻게 구성하고 동작하는지에 대해 살펴보고자 합니다.

AWS 정밀 시간 기술: 분산 시스템의 새로운 기준

AWS는 분산 컴퓨팅에서 이벤트의 순서를 정확히 정렬하는 문제를 해결하기 위해 정밀 클럭 기술을 도입했습니다. 분산 시스템에서 이벤트 순서 정렬은 컴퓨터 과학의 핵심 과제 중 하나로, 이는 데이터 일관성, 고객 경험, 시스템 성능에 중대한 영향을 미칩니다. AWS는 클럭을 활용해 기존의 복잡한 시스템 설계 문제를 간소화하고 더욱 신뢰할 수 있는 시스템을 구축할 수 있는 길을 열었습니다.

이 세션에서는 AWS의 정밀 클럭 기술이 제공하는 이점은 다음과 같습니다.

  1. 일방향 지연 시간 측정: 네트워크 지연 시간을 정확히 파악하여 성능 병목현상을 줄이는 데 기여합니다.
  2. 일관된 특정 시점 스냅샷: 특정 시점에 데이터의 정확한 상태를 기록해 데이터 무결성을 보장합니다.
  3. 모니터링 및 관찰 가능성 향상: 클럭을 활용한 모니터링은 시스템의 상태를 보다 신뢰성 있게 파악할 수 있도록 합니다.
  4. TTL(Time to Live) 관리: 데이터의 유효 기간을 정밀하게 제어할 수 있습니다.
  5. 이벤트 쓰기, 읽기, 업데이트 순서 정렬: 정밀 클럭을 통해 데이터 처리의 순서를 보장해 시스템 복잡성을 줄입니다.

특히, Amazon Aurora LimitlessAurora D-SQL은 이 정밀 클럭기술을 기반으로 설계되어 기존의 데이터베이스 성능을 크게 개선했습니다. Aurora D-SQL의 경우, 클럭을 활용해 데이터 쓰기와 읽기의 순서를 정확히 파악하며 지연 시간을 줄이는 데 성공했습니다. 이를 통해 고객은 대규모의 동시 트랜잭션을 보다 신뢰성 있게 처리할 수 있습니다.

AWS 정밀 시간 동기화 서비스와 ClockBound

AWS는 Amazon Time Sync Service를 통해 2023년부터 마이크로초 단위의 정밀한 시간 동기화를 제공합니다. 이 서비스는 기존의 NTP(Network Time Protocol)와 PTP(Precision Time Protocol) 기술을 결합해, 모든 AWS EC2 인스턴스에서 신뢰할 수 있는 시간을 제공합니다.

정밀 시간 기술의 주요 특징:

  • 하드웨어 기반 정밀 클럭: AWS Nitro 시스템에서 마이크로초 단위의 시간 오차를 지원합니다.
  • 글로벌 동기화: AWS는 각 region에 물리적 케이블 네트워크와 원자시계 기반의 Stratum 0 그랜드마스터 클럭을 설치하여 네트워크 지연 없이 정확한 시간을 제공합니다.
  • 무료 서비스 제공: Amazon EC2의 지원 인스턴스에서는 추가 비용 없이 사용할 수 있습니다.

AWS는 이 기술을 오픈소스로 공개해 고객이 자체적으로 클럭 성능을 측정하고 활용할 수 있도록 지원합니다. 특히, ClockBound라는 오픈소스 프로젝트를 통해 분산 시스템의 시간 동기화를 손쉽게 구현할 수 있습니다. ClockBound는 다음과 같은 기능을 제공합니다:

  • 클럭 오차 계산 및 타임스탬프 제공: 호출 시 현재 시간과 오차 범위를 함께 제공합니다.
  • 분산 시스템의 이벤트 정렬: 분산된 호스트 간의 이벤트 타임스탬프를 비교하고 정렬하는 신뢰할 수 있는 방법을 제공합니다.
  • 적용 사례:
    • 전체 인프라의 클럭 정확성 감사(Auditing).
    • 분산 애플리케이션의 이벤트 로그 정렬 및 추적.
    • 사용자 맞춤형 애플리케이션 개발.

Q&A: 정밀 클럭에 대한 주요 질문과 답변

본 세션은 Chalk talk 세션이였기 때문에 현장에 있는 다양한 엔지니어들의 질의 응답으로 세션이 진행되었습니다. 이에 따라 각 질문과 답변을 다음과 같이 정리해 보았습니다.

  • Q. AWS의 정밀 시간 기술은 어떤 방식으로 물리적 인프라를 구성했나요?
    • A. AWS는 각 리전마다 전용 케이블 네트워크를 설치해 원자시계 기반의 Stratum 0 그랜드마스터 클럭을 구성했습니다. 네트워크 지연을 방지하기 위해 시간 동기화 신호는 전용 네트워크를 통해 전송됩니다.

  • Q. ClockBound는 온프레미스 환경에서도 사용할 수 있나요?
    • A. 네, ClockBound는 온프레미스 또는 타 클라우드 환경에서도 활용할 수 있습니다. 타임스탬프의 오차 범위를 측정하고 신뢰성 있는 시간 데이터를 제공하며, 기존 시스템과 비교하여 성능을 평가할 수 있습니다.

  • Q. 클럭의 정밀도가 PCI-Express 버스의 부하에 영향을 받나요?
    • A. AWS의 클럭은 전용 Nitro 시스템을 통해 동작하며, PCI-Express 버스의 부하로부터 독립적으로 작동합니다. 시간 동기화 신호는 네트워크와 물리적으로 격리된 전용 경로를 사용하여 전송됩니다.

  • Q. Leap Second(윤초) 문제가 발생하면 어떻게 처리하나요?
    • A. AWS는 윤초를 24시간 동안 분산 적용하는 “Leap Smearing” 기술을 사용합니다. 또한, AWS 정밀 클럭은 윤초의 영향을 받지 않도록 설계되었습니다. 국제 표준 변경으로 인해 윤초는 2030년까지 제거될 예정입니다.

  • Q. AWS 정밀 클럭은 모든 인스턴스에서 사용할 수 있나요?
    • A. 7세대 이상의 EC2 인스턴스에서 지원되며, 지원 region과 인스턴스 목록은 EC2 사용자 가이드에 명시되어 있습니다. 새로운 리전과 인스턴스는 기본적으로 정밀 클럭 기능이 포함됩니다.

  • Q. 클럭이 불안정해질 경우 AWS는 어떻게 대응하나요?
    • A. AWS는 자체 클럭의 상태를 지속적으로 모니터링하고 유지합니다. 클럭의 정확도가 떨어질 경우, 고객이 이를 탐지할 수 있도록 시간 오차 데이터를 투명하게 제공합니다. 문제 발생 시 고객은 애플리케이션 설계를 통해 적절한 조치를 취할 수 있습니다.

결론

AWS의 정밀 시간 동기화 기술은 분산 시스템의 근본적인 문제 중 하나인 이벤트 순서 정렬신뢰할 수 있는 시간 관리를 해결하기 위한 중요한 도구로 자리 잡고 있습니다. 이 기술은 클라우드 인프라에 새로운 수준의 정밀성을 도입하여, 데이터 처리의 효율성과 시스템의 안정성을 동시에 확보하는 데 기여합니다. 특히 하드웨어 기반 정밀 클럭ClockBound 오픈소스 프로젝트는 고객이 더욱 신뢰할 수 있는 환경에서 다양한 애플리케이션을 설계할 수 있도록 지원합니다.

시간은 모든 시스템의 기초를 이루는 요소이지만, 이를 완벽히 정렬하고 관리하는 일은 생각보다 복잡하다는 점을 이번 발표를 통해 깨달았습니다. AWS는 이를 해결하기 위해 하드웨어부터 소프트웨어까지 체계적으로 접근하며, 고객이 보다 쉽게 이러한 기술을 활용할 수 있도록 오픈소스 프로젝트까지 제공하고 있습니다. 이는 기술적 혁신뿐만 아니라 고객 중심적인 사고방식이 잘 드러나는 부분입니다.

글 │메가존클라우드 Cloud Technology Center (CTC), Team2 이성원 SA
게시물 주소가 복사되었습니다.