Amazon Aurora DB 클러스터를 사용하고 있으며, 시간대를 변경하고 싶습니다.
간략한 설명
Aurora에서는 time_zone 파라미터가 클러스터 수준에서 설정됩니다. 파라미터 그룹은 클러스터와 모든 데이터베이스의 기본 시간대를 제공합니다. time_zone의 기본값은 UTC입니다. time_zone 값을 변경하면 변경 사항이 클러스터의 모든 노드에 적용됩니다.
DB 클러스터 파라미터 그룹과 DB 인스턴스 파라미터 그룹 간에는 차이가 있습니다.
- DB 인스턴스 파라미터 그룹은 1개 이상의 DB 인스턴스에 적용되는 엔진 구성 값의 컨테이너 역할을 합니다. DB 인스턴스 파라미터 그룹은 Amazon Relational Database Service(Amazon RDS)와 Aurora의 DB 인스턴스에 모두 적용됩니다. 이러한 구성 설정은 메모리 버퍼의 크기와 같이 Aurora DB 클러스터의 DB 인스턴스 간에 서로 다를 수 있는 속성에 적용됩니다.
- DB 클러스터 파라미터 그룹은 Aurora DB 클러스터의 모든 DB 인스턴스에 적용되는 엔진 구성 값의 컨테이너 역할을 합니다. 예를 들어, Aurora 공유 스토리지 모델에서는 Aurora 클러스터의 모든 DB 인스턴스가 동일한 파라미터 설정(예: innodb_file_per_table)을 사용해야 합니다. 물리적 스토리지 레이아웃과 엔진 파라미터에 영향을 주는 파라미터는 DB 클러스터 파라미터 그룹에 속합니다. DB 클러스터 파라미터 그룹에는 모든 DB 인스턴스 수준 파라미터의 기본값도 포함됩니다.
해결 방법
새 DB 클러스터 파라미터 그룹
Amazon Aurora MySQL 호환 버전 5.7 또는 PostgreSQL을 사용하여 time_zone 파라미터를 ASIA/CALCUTTA로 변경하려면 다음 단계를 완료합니다.
- 사용자 지정 DB 클러스터 파라미터 그룹을 생성합니다.
- 동적 파라미터 time_zone을 **“ASIA/CALCUTTA”**로 수정합니다.
- 새 DB 클러스터 파라미터 그룹을 클러스터에 연결한 다음 수동으로 라이터 인스턴스를 재부팅하여 변경 사항을 적용합니다.
- DB 인스턴스의 타임스탬프를 확인하려면 다음 명령을 실행합니다.
MySQL:
mysql> select @@time_zone;
+---------------+
| @@time_zone |
+---------------+
| Asia/Calcutta |
+---------------+
1 row in set (0.00 sec)
PostgreSQL:
postgresql> select * from pg_timezone_names;
+---------------+
| timezone_names |
+---------------+
| Asia/Calcutta |
+---------------+
1 row in set (0.00 sec)
기존 DB 클러스터 파라미터 그룹
기존 사용자 지정 파라미터 그룹의 경우 파라미터는 동적입니다. 변경 사항 적용을 위해 라이터 인스턴스를 재부팅할 필요는 없습니다. 대신 파라미터를 업데이트하여 기존 클러스터 파라미터 그룹을 클러스터에 연결할 수 있습니다. 그런 다음 세션을 종료하고 클러스터에 다시 연결합니다. 이 프로세스는 연결을 재활용합니다.
참고: 세션 수준에서도 시간대를 설정할 수 있습니다. 하지만 세션 시간대는 세션 기간 동안만 DB 클러스터 시간대보다 우선 적용됩니다.