문제상황
배포시 timezone이 변경되어 로컬과 시간이 일치하지 않는 문제 발생. (30~1시간 후 안정되면 타임존이 동기화되어 로컬시간과 일치하였으나 이는 근본적인 문제가 해결되지 않은상태)
1. 기존 세팅
: 타임존 설정 세팅
1-1) 00-set-timezone.config
commands:
set_time_zone:
command: ln -f -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
1-2) EventcafecloudApplication
public class EventcafecloudApplication {
// timezone 설정
@PostConstruct
public void started() {
TimeZone.setDefault(TimeZone.getTimeZone("Asia/Seoul"));
}
public static void main(String[] args) {
SpringApplication.run(EventcafecloudApplication.class, args);
}
}
1-3) RDS
파라미터 그룹 time_zone 설정 : Asia/Seoul
위 세 가지 설정 값에 변화를 주며 timezone을 맞추려고 테스트하였으나 배포 시 시간이 9시간 밀리는 현상은 수정되지 않음 -> 배포 시 프로그램과 RDS 간의 동기화에 30분~1시간이 소요된 후 timezone이 다시 일치함.
-> 외부 요소(aws)가 아닌 직접적인 설정값 변경이 필요하다고 판단하여 다른 해결방법을 서칭함.
해결 방법
application.yml
spring:
jpa:
properties:
hibernate:
jdbc:
time_zone: Asia/Seoul
yml의 jdbc 타임존을 설정해주는 방법을 찾게되어 위 코드를 추가해주니 배포 시에도 타임존이 밀리지 않고 정상 작동함을 확인! 이 타임존 해결하는데만 3~4일 애먹었다..ㅠㅠㅠ
배포 후 동기화되면 타임존이 정상으로 돌아오니 그냥 눈가리고 아웅 해볼까 하는 고민도 해봤지만 배포 시 타임존이 변경되는 것은 중대한 문제라고 판단하여 포기하지 않고 해결방법을 찾아보았고 해결하게 되어 뿌듯하다!
========================================================================================
+ 추가
RDS의 Timezone 세팅을 지우고 테스트 해봄 -> timezone에 영향 없음. : RDS 세팅 디폴트로 되돌리기로 결정
결론.
1-1) 00-set-timezone.config
1-2) EventcafecloudApplication
1-3) RDS 설정 제거
+ 해결 방법 application.yml
3가지 설정으로 timezone 문제 해결!
'프로그래밍 > JPA Project - sparta' 카테고리의 다른 글
tip. 인텔리제이 Local History 기능 (0) | 2022.07.27 |
---|---|
다른 사용자의 데이터 접근 불가 처리 (0) | 2022.07.26 |
가비아 도메인 연결 - Route53 (0) | 2022.07.19 |
springboot multipart 파일 업로드 용량 초과 에러 해결방법 (0) | 2022.07.19 |
카페 평균 평점 추가 (0) | 2022.07.18 |