EC2 인스턴스의 정밀 클럭 및 시간 동기화
Amazon EC2 인스턴스에서 일관되고 정확한 시간 참조는 많은 서버 작업과 프로세스에 매우 중요합니다. 시스템 로그의 타임스탬프는 문제가 발생한 시기와 이벤트의 연대순을 식별하는 데 중요한 역할을 합니다. AWS CLI 또는 AWS SDK를 사용하면 인스턴스에서 요청하는 경우 이러한 도구가 사용자를 대신하여 요청에 서명합니다. 인스턴스의 날짜 및 시간 설정이 정확하지 않아 서명 날짜와 요청 날짜 불일치로 인해 AWS가 요청을 거부할 수 있습니다.
이러한 중요한 측면을 해결하기 위해 Amazon은 모든 EC2 인스턴스에서 액세스할 수 있고 다양한 AWS 서비스 인스턴스에서 사용되는 Amazon Time Sync Service를 제공합니다. 서비스는 AWS 리전의 위성 연결 및 원자 기준 시계 집합을 사용하여 협정 세계시(UTC) 세계 표준의 정확한 현재 시간 판독을 제공합니다.
최상의 성능을 위해서는 EC2 인스턴스에서 로컬 Amazon Time Sync Service를 사용하는 것이 좋습니다. 인스턴스의 로컬 Amazon Time Sync Service에 백업하거나 Amazon EC2 외부의 리소스를 Amazon Time Sync Service에 연결하려면 time.aws.com
에 있는 퍼블릭 Amazon Time Sync Service를 사용하면 됩니다. 로컬 Amazon Time Sync Service와 마찬가지로 퍼블릭 Amazon Time Sync Service는 UTC에 추가된 윤초를 자동으로 제거합니다. 퍼블릭 Amazon Time Sync Service는 각 AWS 리전의 위성 연결 및 원자 기준 시계 플릿을 사용하여 전 세계적으로 지원됩니다.
윤초
1972년에 도입된 윤초는 국제 원자시(TAI)와 태양시(Ut1) 간의 차이를 수용하기 위해 지구 자전의 불규칙성을 고려하여 UTC 시간을 1초씩 조정하는 것입니다. 고객을 대신하여 윤초를 관리하기 위해 Amazon Time Sync Service 내에서 윤초 스미어링(leap smearing)을 설계했습니다. 자세한 내용은 Look Before You Leap – The Coming Leap Second and AWS
윤초는 사라지고 있으며, Amzaon은 2035년 또는 그 이전에 윤초를 없애기로 한 제27차 도량형 총회 결정
이러한 전환을 지원하기 위해 로컬 NTP 연결 또는 퍼블릭 NTP 풀(time.aws.com
)을 통해 Amazon Time Sync Service에 액세스할 때 윤초 발생 시 시간 스미어링(smearing)을 계획하고 있습니다. 그러나 PTP 하드웨어 클럭은 스미어링한 시간 옵션을 제공하지 않습니다. 윤초가 발생하는 경우 PTP 하드웨어 클럭은 UTC 표준에 따라 윤초를 추가합니다. 대부분의 경우 윤초를 스미어링한 시간 소스와 윤초 시간 소스는 동일합니다. 그러나 윤초 발생 시에는 다르므로 시간 클라이언트 구성에서 스미어링한 시간 소스와 스미어링하지 않은 시간 소스 모두 사용하지 않는 것이 좋습니다.
주제
관련 리소스
-
AWS 컴퓨팅 블로그: It’s About Time: Microsecond-Accurate Clocks on Amazon EC2 Instances
-
AWS 클라우드 운영 및 마이그레이션 블로그: Amazon Time Sync Service 및 Amazon CloudWatch를 사용하여 Amazon EC2 인스턴스 클럭 정확도 관리 - 1부
-
(Linux) https://chrony-project.org/