리전을 서울로 설정했더라도 EC2는 기본적으로 외국에 있기 때문에 날짜관련된 로직이 들어갔을 때 정상적으로 작동하지 않을 가능성이 있다.

 

아래의 두 가지 방법중 하나를 선택해서 이러한 문제를 해결할 수 있다.

 

@PostConstruct를 이용해 타임존 변경

애플리케이션 시작 시점에 명시적으로 JVM의 시간대를 설정할 수 있다. 

@SpringBootApplication
public class PromiseApplication {

	public static void main(String[] args) {
		SpringApplication.run(PromiseApplication.class, args);
	}

	@PostConstruct
	public void init() {
		// JVM의 기본 시간대를 Asia/Seoul로 설정
		TimeZone.setDefault(TimeZone.getTimeZone("Asia/Seoul"));
	}

}

 

 

EC2의 시간대 변경

sudo timedatectl set-timezone Asia/Seoul

위 명령어를 입력하면 타임존을 아시아/서울로 변경할 수 있다.