728x90
반응형
들어가기 전에
이 포스팅은 SpringBoot 어플리케이션을 Github Action을 통해 Beanstalk에 배포하여 생성된 EC2의 timezone 설정에 대한 글입니다. 따라서, EC2 서버에 직접 접근하여 timezone 변경하는 것이 아닌, SpringBoot 경로 내 존재하는 .ebextensions 디렉토리 내 설정을 추가하는 방식으로 EC2의 timezone을 설정합니다.
따라서, 이 포스팅은 SpringBoot를 통해 Elastic Beanstalk에 배포하여 .ebextensions 설정에 대해 안다고 가정하고 진행합니다.
왜 EC2 서버에서 직접 timezone 설정을 하지 않고 .ebextensions를 이용할까?
EC2 서버에서 직접 timezone 설정을 하지 않는 이유는 간단합니다. EB(Elastic Beanstalk)를 통해 추가 배치를 사용한 롤링 방식으로 배포를 하게 되면, 결국 EC2 인스턴스가 새로 생성되고, 기존 인스턴스가 사라지는 방식으로 진행되기 때문입니다.
- 아래 그림은 필자의 EB 배포 방식입니다.
.ebextensions에 timezone 설정 명령어 주입을 통한 EC2 timezone 설정
먼저, 자신의 SpringBoot 어플리케이션의 root 디렉토리 내 .ebextensions 디렉토리 내에 00-set-timezone.config
파일을 생성합니다.
commands:
set_time_zone:
command: ln -f -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
- .ebextensions 디렉토리 내 config 파일이 있다면, 해당 config 파일 내에 함께 기입해도 무방합니다.
- 만약, timezone을
Asia/Seoul
이 아닌 다른 위치로 진행하고 싶다면,/usr/share/zoneinfo
내에 존재하는 다른 timezone 항목에 대해 링크(ln)을 걸어주시면 됩니다.
위 과정이 완료되면, 하기와 같이 local timezone과 동일한 timezone을 갖는 로그를 EC2에서 확인할 수 있습니다.
참고자료
728x90
반응형