Note

[TIL] 배포 서버 시간을 한국 시간으로 설정

by 달쿨

TIL

개요

서버를 담당한 프로젝트에 대해 작성 시간이 현재 시간과 다르다는 연락을 받아 수정하게 되었다. 전에 설정 때문에 재배포를 한 적이 있는데 그 때 서버 타임존 설정을 안했단 것이 생각나 수정하면 될 것이라고 생각했다.

 

EC2 시간 변경

터미널에 접속해 현재 시간을 확인해보니 시간이 다른 것을 확인할 수 있었고 timedatectl 명령어로 timezone 을 서울로 바꿨다.

ec2 timezone 변경

다시 시간을 확인하면 한국 시간으로 바뀐 것을 확인할 수 있다.

 

그런데 이렇게 바꿨는데도 댓글을 작성하면 작성 시간이 바르게 안나온다는 연락을 받았다. 보통 서버 시간을 바꾸면 해결되었기 때문에 고민하던 중에 팀원분께서 DB 시간도 설정해 주는 것이 어떠냐는 의견을 받았다.

 

RDS 파라미터 그룹 설정

현재 시간이 아닌 것을 확인

현재 시간이 몇시인지 같이 찍지 못했지만 다른 것을 확인했다. 이를 해결하기 위해 RDS 시간 설정 방법을 찾아보았고, 파라미터 그룹 설정을 통해 RDS 의 시간을 바꿀 수 있다는 것을 알 수 있었다.

파라미터 그룹
파라미터 그룹 생성

사용하는 엔진 유형을 알맞게 선택한 후 파라미터 그룹을 생성해준 후, 해당 파라미터 그룹을 편집한다.

생성한 파라미터 그룹

파라미터에 time_zone 이 있는 것을 확인할 수 있다. 

timezone 을 Asia/Seoul 로 설정

time_zone 을 설정하고 변경 사항을 저장한다. 이제 이렇게 설정된 파라미터 그룹을 실제 RDS 와 연결해주면 된다. 

 

위에서 생성한 파라미터 그룹을 선택
즉시 적용으로 수정

RDS 수정의 추가 구성에서 파라미터 그룹을 선택할 수 있다. 이후 즉시 적용을 선택해 수정을 완료한다.

현재 시간으로 바뀐 것을 확인했다.

 

이제 DB 시간도 바꿨으니 잘 해결되었다고 생각했다. 그런데 아직도 바뀌지 않았다는 팀원분의 연락을 받았다. 대체 뭐가 문제인지 열심히 찾아보았다. 

 

Springboot 의 기본 timezone 설정

찾아보니 서버 말고 springboot 자체의 timezone 을 설정하는 방법을 발견했다. 

-Duser.timezone=Aisa/Seoul 명령어를 포함하면 된다.

오후 2시 28분

배포된 사이트에서 댓글을 달아 확인하니 시간이 정상적으로 적용된 것을 확인할 수 있었다. 

 

느낀 점

해결하느라 시간이 걸리게 됐는데 다음부터 배포할 때는 처음부터 한국 시간으로 설정을 해야겠다고 다짐했다.

블로그의 정보

note

달쿨

활동하기