본문 바로가기

AWS/EC2

Amazon Linux2 NTP(chrony) 설정하기

안녕하세요..!! 요즈음 또 바쁘다는 핑계로 포스팅을 자주 못했습니다..

자꾸 게을러지면 안되는데, 요즈음 코로나가 장기화가 되면서 리프레쉬를 하지 못해서 더더욱 게을러지는 것 같아요.

모두들 코로나 시대에 건강 조심하시길 바라겠습니다..!!

 

그럼.. 바로 포스팅으로 넘어가서 오늘은 AWS에서 제공하는 chrony라는 데몬을 써서 서버 시간을 한국 시간으로 동기화

해보도록 하겠습니다.

 

AWS EC2를 올리게 되면, Default timezone이 UTC인데요, 이는 후에 서버 로그를 관리할 때에 시간대가 안맞아서 햇갈리는 경우가 있습니다.

해서, 오늘은 외부 인터넷 엑세스/보안그룹/NACL의 영향을 받지 않는!! Amazon Time Sync Service를 사용하여 시간대를 설정해보겠습니다.


먼저 Instance 내부에서 기존 NTP 서버를 삭제해주도록 합니다.

 

sudo yum -y erase 'ntp*'

 

기존 NTP 삭제

 

다음은 AWS NTP 서비스인 chrony를 설치해줍니다.

 

sudo yum -y install chrony

 

AWS NTP 서비스인 chrony 설치


텍스트 편집기로 /etc/chrony.conf를 열어 아래 내용이 있는지 확인합니다.

 

sudo vi /etc/chrony.conf


...... 생략

server 169.254.169.123 prefer iburst minpoll 4 maxpoll 4

...... 생략

 

chrony.conf

만약 없다면, server문이나 pool문 밑에 추가하여 저장합니다.


다음으로, chrony 데몬(chronyd)를 재시작 하고 chrony 데몬이 시스템이 부팅될 때마다 시작되도록 설정합니다.

 

sudo service chronyd restart

sudo chkconfig chronyd on

 


다음은 chrony가 169.254.169.123 주소를 사용하여 Time sync 중인지 확인합니다.

 

sudo chronyc sources -v

 

 

또한, 아래 명령어를 사용하여 chrony에서 동기화되고 있는 지표를 확인할 수 있습니다.

 

sudo chronyc tracking

 


이렇게 chrony를 설치하고 구성하고 지표들을 확인해봤다면, 이제 적절한 Timezone으로 변경해보도록 하겠습니다.

예시에서는 Seoul 시간으로 변경하도록 하겠습니다.

 

우선.. 표준시간대 정보들을 가지고 있는 디렉터리 위치를 보시겠습니다.

 

sudo ls /usr/share/zoneinfo

 

Timezone 디렉터리들

 

위의 사진에서 보시면, Africa, Asia, Japan... 등등의 디렉터리들이 보입니다.

해당 디렉터리 내부에는 도시별 표준시간대 파일이 존재하며, 예시에서는 Seoul 시간으로 변경하겠다고 하였으니

Asia 디렉터리 내부를 살펴보겠습니다.

 

sudo ls /usr/share/zoneinfo/Asia

 

 

이 곳에 Seoul 파일이 존재하네요. 그럼 해당 위치를 기억하시고, /etc/sysconfig/clock 파일을 변경하고자 하는 새 표준시간대로 업데이트 해줍시다.

 

sudo vi /etc/sysconfig/clock

 

/etc/sysconfig/clock

여기서, ZONE의 값에는 /usr/share/zoneinfo 는 생략하고, URC=true 부분은 하드웨어 클록에 대한 것으로 변경하시면 안됩니다!!

 

 

이후, Instance가 현지 시간 정보를 참조할 때 표준시간대 파일을 찾을 수 있도록 /etc/localtime과 표준시간대 파일 사이에 심볼 링크를 생성해줍니다.

 

sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

 

심볼 링크 생성

 

마지막으로 시스템을 재부팅하여 모든 서비스와 애플리케이션에 새로운 표준시간대가 적용되도록 합니다.

 

sudo reboot

 

 

이 후, Security Group 아웃바운드와 IGW를 제거하고도 Time sync를 하는지 확인해봅니다!!

 

date

 


쨔쟌!! 보시는 것처럼 인터넷 액세스나 방화벽 규칙에 영향을 받지 않고도, Time sync를 하는 것을 확인했습니다!!

 

참 간단한거고, Docs에도 너무나 잘 나와있지만, 정말 인터넷 액세스가 필요하지 않을까? 라는 궁금증으로

테스트를 하며 포스팅을 해봤습니다!!

 

그럼..!! 다음 포스팅에서 또 인사드리겠습니다!!

 

꾸벅..(__)