반응형
728x170
NTP (Network Time Protocol)
- Amazon Time sync Service는 NTP(Network Time Protocol)를 통해 제공되는 시간 동기화 서비스
NTP 동기화를 하는 이유
- 각종 로그 설정이나 디버깅에 있어 서버마다 다른 시간을 바라보고 있으면 디버깅이 어려워지며 특정 어플리케이션에서는 서비스에 문제가 발생 될 수 있다.
- 모든 서버가 하나의 시간을 바라볼 수 있도록 시간을 동기화 해주어야 한다.
- RHEL 7 이전에는 NTP를 기본 네트워크 시간 프로토콜로 사용, RHEL 7 이후부터 Chrony 대체
NTP vs Chrony
NTP
- 항상 연결이 보장된 상황에서는 NTP 사용
- 영구적으로 유지되는 시스템 혹은 브로드캐스트나 멀티캐스트 IP를 사용하거나 Autokey Protocol로 패킷 인증을 수행해야 하는 시스템에 사용
Chrony
- 모바일이나 가상 시스템처럼 빈번한 대기, 접속 차단이 불가피한 상황에서는 Chrony 사용
- 자주 중단되거나 간헐적으로 연결이 끊어지는 시스템에 가장 적합
2017 년도부터 각 리전에서 멀티 위성 연결 및 원자 시계 플릿을 사용하여 매우 정확한 기준 시계를 제공하고 NTP(Network Time Protocol)를 통해 제공되는 시간 동기화 서비스인 Amazon Time Sync Service를 시작할 수 있다.
- Amazon Linux2 OS는 기본적으로 Amazon Time Sync Service로 설정이 되어 있다.
즉, chrony로 시간을 동기화 하고 있고 chrony 설정이 Amazon Time Sync Service IP로 되어있다는 것이다. - Amazon Time Sync Service IP 는 169.254.169.123 로컬 IP 주소이며 외부 인터넷 Access를 별도로 구성할 필요 없이 Private Subnet 안에서도 서비스에 안전하게 액세스할 수 있다.
Chrony 서비스
# 서울 리전에서 인스턴스 시간을 보면 현지 시간과 다른 것을 볼 수 있다.
[ec2-user@localhost ~]$ date
Tue Aug 24 04:03:26 UTC 2021
#(Line 2) server 169.254.169.123 행이 추가되었는지 확인해보고 안되어 있으면 수정한다.
[ec2-user@localhost ~]$ sudo vim /etc/chrony.conf
1 # use the Amazon Time Sync Service (if available)
2 server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4
# 시스템 부팅될 때마다 시작하도록 설정
[ec2-user@localhost ~]$ sudo chkconfig chronyd on
Note: Forwarding request to 'systemctl enable chronyd.service'.
# chrony가 169.254.169.123 IP 주소를 사용하여 시간 동기화를 하고 있는지 확인
[ec2-user@localhost ~]$ chronyc sources -v
-----
.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current best, '+' = combined, '-' = not combined,
| / 'x' = may be in error, '~' = too variable, '?' = unusable.
|| .- xxxx [ yyyy ] +/- zzzz
|| Reachability register (octal) -. | xxxx = adjusted offset,
|| Log2(Polling interval) --. | | yyyy = measured offset,
|| \ | | zzzz = estimated error.
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* 169.254.169.123 3 4 377 11 +4082ns[+4577ns] +/- 506us
^- dadns.cdnetworks.co.kr 2 9 377 283 -2599us[-2602us] +/- 51ms
^- icn.clearnet.pw 2 10 377 590 -2285us[-2288us] +/- 33ms
^- any.time.nl 2 10 377 389 +780us[ +778us] +/- 47ms
^- jieun.server.reviservice> 3 10 377 983 -354us[ -341us] +/- 24ms
-----
# 시간 동기화 지표 확인
[ec2-user@localhost ~]$ chronyc tracking
Reference ID : A9FEA97B (169.254.169.123)
Stratum : 4
Ref time (UTC) : Tue Aug 24 04:32:38 2021
System time : 0.000000527 seconds fast of NTP time
Last offset : -0.000000187 seconds
RMS offset : 0.000000937 seconds
Frequency : 23.054 ppm slow
Residual freq : -0.000 ppm
Skew : 0.021 ppm
Root delay : 0.000476114 seconds
Root dispersion : 0.000272936 seconds
Update interval : 16.2 seconds
Leap status : Normal
타임존 설정
# 현재 시간 확인
[root@localhost ~] date
Tue Aug 24 04:40:30 UTC 2021
# 시스템 전역 timezone은 /etc/sysconfig/clock 에 정의, 한국 기준으로 재설정하자.
vim /etc/sysconfig/clock
# 수정 전
ZONE="UTC"
UTC=true
# 수정 후
ZONE="Asia/Seoul"
KST=True
# /etc/localtime 내용 확인 -> UTC로 내용 구성이 되어있음
[root@localhost ~] cat /etc/localtime
TZif2UTCTZif2
UTC0
# 기존(UTC 시간) /etc/localtime 삭제
[root@localhost ~] rm /etc/localtime
# 한국 표준시간대 정보를 심볼릭 링크 설정
[root@localhost ~] ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
# 변경사항 확인
[root@localhost ~] date
Tue Aug 24 13:43:32 KST 2021
# 심볼릭 링크 방식 외 zoneinfo 디렉토리에서 cp -p 로 덮어씌우는 방식도 있다.
# tzselect 명령어로도 쉽게 설정 가능하다.
반응형
그리드형
'[AWS-DR] > EC2' 카테고리의 다른 글
[중요][EC2 IMDS] EC2 Metadata란? IMDS 확인 설정하기!! (94) | 2024.07.09 |
---|---|
[참고] EC2 상태검사 1/2개 통과 해결방법!! (75) | 2024.06.06 |
[WIN][LINUX] 최신 버전의 AWS CLI설치 또는 업데이트!! (61) | 2024.06.03 |
[중요] How to Assign Multiple IPs Address to One EC2 Instance | How to Create Elastic Network Interface (85) | 2024.05.29 |
[참고][AWS] EC2에 Apache를 설치해보고 웹 페이지를 실행시켜보자! (89) | 2024.05.27 |
댓글