이벤트의 세밀한 시퀀싱에 의존하는 많은 소프트웨어 시스템에서는 안정적이고 일관된 시스템 시계를 사용하며, 타임스탬프가 있는 시스템 로그를 사용하여 시간 동기화를 보장하고 문제가 발생할 때 디버그합니다. 시스템 시계가 동기화 상태를 유지할 수 있도록 Compute Engine 가상 머신 (VM) 인스턴스는 시간 동기화 하드웨어 및 소프트웨어의 번들 솔루션인 네트워크 시간 프로토콜 (NTP)을 사용하도록 사전 구성됩니다. 정확한 시간 동기화와 시간 동기화 정확도 모니터링이 목표에 중요한 경우 NTP 대신 정확한 시간을 구성하여 chrony 및 ptp_kvm를 사용하여 VM의 시계를 호스트 시계와 동기화할 수 있습니다. 이 구성은 지원되는 설정에서 1ms 이내의 정확도를 달성하도록 설계되었습니다.
지원되는 머신 유형
다음 머신 유형은 정확한 시간을 지원합니다.
지원되는 운영체제
다음 운영체제 (OS)는 정확한 시간을 지원합니다.
| OS | 버전 | 이미지 |
|---|---|---|
| CentOS Stream | 9 | centos-stream-9 |
| Container-Optimized OS | COS 105 LTS, COS 109 LTS, COS 113 LTS, COS 117 LTS | cos-105-lts, cos-109-lts, cos-113-lts, cos-117-lts |
| Debian | 11 (Bullseye), 12 (Bookworm) | debian-11, debian-12 |
| Fedora Cloud | 39 | fedora-cloud-39 |
| RHEL | 8, 9 | rhel-8-4-sap-ha, rhel-8-6-sap-ha, rhel-8-8-sap-ha, rhel-8-10-sap-ha, rhel-9, rhel-9-0-sap-ha, rhel-9-2-sap-ha, rhel-9-4-sap-ha |
| Rocky Linux | 8, 9 | rocky-linux-8, rocky-linux-8-optimized-gcp, rocky-linux-9-optimized-gcp, rocky-linux-9-optimized-gcp |
| SLES | 15 | sles-15, sles-15-sp2-byos, sles-15-sp2-sap, sles-15-sp3-byos, sles-15-sp3-sap, sles-15-sp4-byos, sles-15-sp4-sap, sles-15-sp5-byos, sles-15-sp5-sap |
| Ubuntu | 22.04 LTS (Jammy Jellyfish), 24.04 LTS (Noble Numbat) | ubuntu-2204-lts, ubuntu-2404-lts-amd64 |
| Ubuntu Pro | 2004 | ubuntu-pro-2004-lts, ubuntu-pro-2004-lts-amd64 |
지원되는 영역
다음 영역은 정확한 시간을 지원합니다.
| 영역 | 위치 |
|---|---|
europe-west1-b |
유럽 벨기에 셍기슬랑 |
europe-west1-c |
유럽 벨기에 셍기슬랑 |
europe-west2-b |
유럽 잉글랜드 런던 |
europe-west3-a |
유럽 독일 프랑크푸르트 |
us-central1-a |
북미 아이오와 카운슬블러프즈 |
us-central1-b |
북미 아이오와 카운슬블러프즈 |
us-central1-c |
북미 아이오와 카운슬블러프즈 |
us-central1-f |
북미 아이오와 카운슬블러프즈 |
us-east1-b
|
북미 사우스캐롤라이나 몽크스 코너 |
us-east1-c
|
북미 사우스캐롤라이나 몽크스 코너 |
us-east4-c |
북미 버지니아 애쉬번 |
us-east5-a |
북미 오하이오 콜럼버스 |
us-south1-a |
북미 텍사스 댈러스 |
us-west1-b |
북미 오리건 댈러스 |
us-west2-a
|
북미 캘리포니아 로스앤젤레스 |
us-west3-a |
북미 유타 솔트레이크시티 |
정확한 시간 동기화 구성
프로젝트의 VM에 대해 정확한 시간 동기화를 구성하려면 각 VM에 대해 다음 작업을 완료하세요.
ptp-kvm를 시간 소스로 사용하도록chrony를 구성합니다.- 데이터 수집 및 분석을 위해 Google Cloud 운영 에이전트를 구성합니다.
두 작업을 모두 완료하면 프로젝트의 VM에 정확한 시간 동기화가 설정됩니다.
VM을 만들고 정확한 시간 동기화를 구성하는 두 작업을 모두 완료하는 샘플 스크립트는 GitHub의 VM 생성 스크립트를 참고하세요.
ptp-kvm를 사용하도록 chrony 구성
ptp-kvm을 시간 소스로 사용하도록 chrony을 구성하려면 각 Google Cloud 프로젝트의 VM 내에서 다음 스크립트를 실행하세요.
VM에서 Google Cloud 운영 에이전트 구성
데이터 수집 및 분석을 위해 Google Cloud 운영 에이전트를 구성하려면 각 Google Cloud 프로젝트의 VM 내에서 다음 스크립트를 실행하세요.
시간 동기화 모니터링 구성
Google Cloud프로젝트의 VM에 시간 동기화 모니터링을 구성하려면Google Cloud 프로젝트의 로깅 및 대시보드 설정 스크립트를 실행하세요. 이 스크립트는 Google Cloud 프로젝트에 대해 다음 작업을 완료하는 데 도움이 됩니다.
- VM의 Google Cloud 프로젝트와 연결된 서비스 계정에 적절한 권한을 설정합니다.
- VM과 호스트 서버의 시계 간 정확성을 보장하는 데
chrony사용하는 로그 기반 측정항목을 만듭니다. - 다음 측정항목을 결합하여 VM 시계의 UTC 추적 가능성을 측정하는 대시보드를 만듭니다.
- Google Cloud 측정항목,
instance/clock_accuracy/ptp_kvm/nanosecond_accuracy로 제공되는 VM 호스트 시계의 UTC 정확도입니다. - VM 클럭의 정확도를 호스트 클럭에 대해 측정하는
chrony측정항목입니다.
- Google Cloud 측정항목,
앞의 작업을 완료하려면 다음 스크립트를 실행합니다.
스크립트 실행이 완료되면 스크립트에서 만든 대시보드를 사용하여 프로젝트 VM의 시계 정확도 데이터를 확인합니다.
다음 단계
- Google Kubernetes Engine 샘플을 비롯해 정확한 시간을 설정하는 전체 샘플 코드는 예시 저장소를 참고하세요.
- VM의 시간 동기화 구성에 사용할 수 있는 옵션을 검토합니다.