ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [AWS] RDS에 TimeZone 설정 방법
    클라우드/aws 2021. 2. 4. 11:19

    이번 시간에는 RDS에 시간 정보를 저장할 때 발생된 이슈에 대해서 알아보도록 하겠습니다.

     

    Spring Boot 프로젝트를 Docker Image로 만들어 AWS ECS 서비스로 올려서 테스트를 하던 중에 시간 정보가 맞는 않는 이슈를 발견하였습니다.

     

    해당 서비스는 대한민국에서만 사용되는 서비스라 시간 정보를 저장 시 대한민국 TimeZone인 UTC/GMT +9로 저장되기를 기대했는데 UTC로 저장되고 있었습니다.

     

    AWS에서 안내하는 RDS의 TimeZone 정보는 아래와 같습니다.

    • 모든 Amazon RDS DB 인스턴스는 기본적으로 UTC/GMT 시간을 사용하며, 시간대 변경은 선택 사항입니다.

     

    이를 해결하는 방법은 2가지가 있습니다.

     

    첫 번째 방법. Spring Boot 프로젝트에서 datasource의 url 입력 시 serverTimezone을 설정하는 방법입니다.

    아래와 같이 url에 serverTimezone 파라미터에 대한민국을 뜻하는 Asia/Seoul을 전달합니다.

     

    두 번째 방법. RDS 자체의 타임존 설정을 변경해서 반영 할 수 있습니다.

    RDS의 설정은 RDS 파라미터 그룹을 통해서 변경 할 수 있습니다.

    주의 할 점은 default 파라미터 그룹의 경우 설정을 변경할 수 없습니다. 설정 변경을 시도 시 아래와 같은 오류 메세지가 나타나게 됩니다.

     

    따라서 타임존 변경을 위해 아래와 같이 새로운 파라미터 그룹을 생성합니다.

     

    검색창에 zone을 입력하면 time_zone 프로퍼티가 보이고 해당 값을 Asia/Seoul로 변경 한 후 변경 사항을 저장합니다.

     

     

    여기까지는 RDS 파라미터 그룹을 생성한 것이다. 생성한 그룹을 변경을 원하는 RDS에 해당 파라미터 그룹을 설정해줘야 적용이 됩니다.

     

     

    이상으로 RDS의 타입존 설정하는 방법에 대해서 알아보았습니다.

    댓글

Designed by Tistory.