2021. 10. 19. 00:26ㆍDevOps/AWS
AWS Elastic Beanstalk 환경에서 애플리케이션을 운영하다 보면, 서버의 기본 시간대가 UTC로 설정되어 있어 시간이 다르게 표시되는 경우가 있습니다. 이 문제를 해결하기 위해, 서버의 시간대를 한국 표준시(KST)로 변경하는 방법을 알아보겠습니다. 시간대 설정은 특히 로그 분석이나 데이터베이스 타임스탬프 등에서 중요하기 때문에 정확한 시간대 설정이 필수적입니다.
이번 글에서는 AWS Elastic Beanstalk에서 서버의 시간대를 한국 표준시로 변경하는 방법을 단계별로 설명합니다.
1. AWS Elastic Beanstalk 환경에서 시간대 변경 필요성
AWS Elastic Beanstalk 환경에서는 기본적으로 UTC 시간대가 설정되어 있습니다. 이 설정은 서버가 위치한 지역에 관계없이 일관된 시간 기준을 제공하기 위해 사용됩니다. 하지만 한국에서 서비스하는 경우, 한국 표준시(KST, UTC+9)를 사용하는 것이 더 자연스럽습니다. 특히, 웹 애플리케이션에서 날짜 및 시간 관련 처리를 할 때 시간대 차이로 인한 문제가 발생할 수 있습니다.
따라서 서버의 시간대를 한국 표준시로 변경하는 방법을 알아보겠습니다.
2. .ebextensions
디렉토리와 timezone.config
파일 생성
서버의 시간대를 변경하려면 AWS Elastic Beanstalk 환경에서 커스텀 설정 파일을 사용해야 합니다. 이 설정 파일은 .ebextensions
라는 디렉토리 안에 배치하며, 시간대 설정을 포함한 명령을 실행할 수 있습니다.
2.1. .ebextensions
디렉토리 생성
- 프로젝트 루트 디렉토리에서
.ebextensions
라는 이름의 폴더를 만듭니다. mkdir .ebextensions
2.2. timezone.config
파일 생성
.ebextensions
디렉토리 내에timezone.config
라는 파일을 생성합니다.touch .ebextensions/timezone.config
2.3. 시간대 설정 명령 추가
timezone.config
파일에 아래와 같은 내용을 추가합니다. 이 명령은 서버의 시간대를 Asia/Seoul로 설정하는 명령입니다.ln -f -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
: 이 명령은Asia/Seoul
시간대 파일을/etc/localtime
에 심볼릭 링크로 연결하여, 서버의 시간대를 한국 표준시(KST)로 변경합니다.
commands: set_time_zone: command: ln -f -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
3. 변경 사항 배포하기
이제 설정이 완료되었습니다. 다음은 변경 사항을 AWS Elastic Beanstalk 환경에 배포하는 단계입니다.
3.1. 변경 사항 커밋
- 변경한 파일을 Git에 커밋합니다.
git add .ebextensions/timezone.config git commit -m "Change server timezone to Asia/Seoul (KST)"
3.2. Elastic Beanstalk 환경에 배포
- 이후, AWS Elastic Beanstalk에 배포합니다. 배포는 AWS 관리 콘솔이나 AWS CLI를 통해 진행할 수 있습니다.
- AWS 관리 콘솔에서 Elastic Beanstalk 환경을 선택한 후 배포 버튼을 클릭하여 변경 사항을 배포할 수 있습니다.
- 또는, AWS CLI에서 다음 명령어를 사용하여 배포할 수 있습니다:
eb deploy
4. 서버의 시간대 확인
배포가 완료되면, AWS Elastic Beanstalk 서버에서 시간이 제대로 설정되었는지 확인해야 합니다. 이를 위해 SSH로 EC2 인스턴스에 접속한 후, 다음 명령어로 시간을 확인할 수 있습니다.
4.1. EC2 인스턴스에 SSH 접속
- EC2 인스턴스에 SSH로 접속합니다.
ssh -i your-key.pem ec2-user@your-ec2-instance-public-dns
4.2. 시간대 확인
- 시간대를 확인하려면
date
명령어를 입력합니다. 출력된 시간대가 Asia/Seoul로 설정되어 있는지 확인합니다.예시 출력:KST
가 표시되면, 시간대 설정이 제대로 적용된 것입니다. Thu Mar 3 10:15:30 KST 2022
date
5. 결론
이제 AWS Elastic Beanstalk에서 서버의 시간대를 한국 표준시(KST)로 설정하는 방법을 배웠습니다. 이 설정을 통해 서버가 한국 시간대로 동작하게 되며, 특히 날짜와 시간이 중요한 애플리케이션에서는 필수적인 설정입니다. 시간대 문제를 해결하고, 애플리케이션의 시간 관련 로직이 더 정확하게 동작하도록 개선할 수 있습니다.
AWS 환경에서 시간대 변경을 쉽게 할 수 있는 방법이므로, 다른 서버 환경에서도 동일한 방식으로 .ebextensions
를 활용해 필요한 설정을 추가할 수 있습니다.
시간대 설정 외에도 다양한 커스텀 설정을 통해 애플리케이션을 최적화할 수 있습니다. 이 글이 도움이 되셨다면 댓글로 의견을 남겨주세요! 😊
참고:
이 글은 AWS Elastic Beanstalk에서 시간대를 변경하는 방법을 다룬 글입니다. 추가적인 질문이나 피드백이 있으면 언제든지 말씀해 주세요!