TOP
class="layout-aside-left paging-number">
본문 바로가기
프로그래밍 및 기타/Cloud : AWS

[aws] Workbench에서 UTC 시간 변경하기(파라미터그룹)

by 기록자_Recordian 2025. 2. 21.
728x90
반응형
이전 내용
 

[aws] ubuntu(우분투) Xshell 8 연결하기

이전 내용 [aws] 데이터베이스: RDS 생성하기이전 내용 [aws] default.conf 란?이전 내용 [aws] 3-Tier의 첫걸음: 도메인 톰캣 화면으로 바꾸기이전 내용 [aws] 프라이빗 서브넷 생성하기(feat. NAT 게이트웨

puppy-foot-it.tistory.com


Workbench의 출력 시간
(feat. UTC 시간?)

 

예전에 aws에서 RDS를 생성하고 DB 관리를 위한 MySQL Workbench(이하 Workbench)를 설치하여 연동하였다.

 

[aws] 데이터베이스: RDS 생성하기

이전 내용 [aws] default.conf 란?이전 내용 [aws] 3-Tier의 첫걸음: 도메인 톰캣 화면으로 바꾸기이전 내용 [aws] 프라이빗 서브넷 생성하기(feat. NAT 게이트웨이)이전 내용  [aws] Bastion Hub 만들기이전 내

puppy-foot-it.tistory.com

 

Workbench를 실행한 후 현재 시각을 확인할 수 있는 쿼리문을 입력해 보면

select now();

현재의 시간이 나오는데, 처음에는 UTC 기준 시간이 표시된다.

★ UTC(Universal Time Coordinated) 란? (출처: 나무위키)
협정세계시(協定世界時)는 국제적인 표준 시간의 기준으로 쓰이는 시각이다.
한국은 UTC+9 시간대에 속하므로 UTC 시간에 +9를 해주면 한국 환산 시간이 나온다. 예시로 UTC 02:00은 한국 기준으로는 오전 11:00이다. 즉, 한국 시계가 협정 세계시보다 아홉 시간 빠르다.


혹자는 UTC 시간이 나오면 왜 안 되는데? 라고 생각할 수 있다. 필자도 UTC 시간을 한국 시간대로 바꿔줘야 하는 이유에 대해 찾아봤다. (수업 시간에도 굳이 왜 바꿔야 하냐는 의견이 있었으니까.)

 

◆ UTC 기준 시간을 변경해줘야 하는 이유

서버 사이 동기화 작업을 진행해야 하는 상황이 발생한다. 서버 동기화에서 중요한 물리적 요인중 하나로는 시간이다.
각 서버의 운영체제 시간(or 하드웨어 시간)이 조금이라도 틀어지게 된다면 연동이 되지 않거나, 연동이 되더라도 나중에 시스템에 문제가 발생했을 때 크게 아래와 같이 문제점이 발생할 수 있다.


로그를 확인하는 과정에서 시간 간극으로 인해 정확한 원인을 파악하지 못하는 경우가 발생한다.
② 각종 로그 설정이나 디버깅에 있어 서버마다 다른 시간을 바라보고 있으면 디버깅이 어려워지며 특정 어플리케이션에서는 서비스에 문제가 발생 될 수 있다.

 

이러한 이유들로 AWS의 RDS와 연동된 시간 기준을 우리가 있는 한국 시간대로 변경해줘야 한다. 이제부터 이를 해보려 한다.


Workbench의 출력 시간 변경하기
부제: aws 파라미터그룹 설정하기

 

먼저 aws console로 접속하여 [RDS] - [파라미터 그룹] 으로 들어온 뒤, '파라미터 그룹 생성' 클릭

 

RDS 엔진 버전과 동일한 엔진 유형과 그룹 패밀리를 선택해줘야 한다.

(다른 버전 선택했더니 DB 인스턴스를 수정할 때 해당 파라미터 그룹이 보이지 않아서 몇 번을 헤맸다.)

필자의 경우, 생성한 RDS가 MariaDB의 11.4 버전으로 생성했으니, 엔진 유형과 파라미터 그룹 패밀리도 동일한 것으로 선택

 

파라미터 그룹을 생성한 뒤, 생성한 파라미터 그룹을 선택하고 [작업] - [편집] 을 클릭하여 몇 가지 파라미터를 수정해줘야 한다.

 

패밀리 버전은 10.0으로 했다가 안 되어 엔진 버전과 동일한 버전은 11.4로 다시 했다

 

1. Time zone

앞서 RDS에서 select now(); 라는 쿼리문을 입력하면 UTC 시간이 나온다고 했는데, 한국 시간대로 인식되게 하려면 이 파라미터를 수정하면 된다. 수정 가능한 파라미터 검색 창에 'zone'을 입력한 뒤, 'Asia/Seoul' 입력 ▶ 변경사항 저장

 

2. character 파라미터들

이것은 한글이 깨지는 문제와 관련이 있으므로, 검색창에 'character'를 입력하면 나오는 파라미터 중 아래의 6개

  • character_set_client
  • character_set_connection
  • character_set_database
  • character_set_filesystem
  • character_set_results
  • character_set_server

의 입력값에 'utf8mb4' 입력 ▶ 변경사항 저장

※ MySQL, MariaDB는 utf8로 세팅하는 경우 emoji문자가 입력되지 않는다. 이런 문제점을 해결하기 위해 utf8mb4 라는 charset이 나오게 되었다. 

 

3. collation 관련 파라미터

※ collation
인코딩을 기반으로 글자를 비교하는 정해진 규칙으로, 대소문자 구분, 정렬 방식, 문자열 함수 결과 등을 정한다.  
데이터 정렬, 비교하는 방식을 지정하는 명령어로, collation 설정에 따라 작업 결과가 다르게 나타날 수 있다. 

 

마찬가지로 검색창에 'collation' 을 검색하고 나오는 파라미터 중 아래의 두 개의 파라미터에

  • collation_connection
  • collation_server

입력값을 'utf8mb4_general_ci' 라고 입력한다. ▶ 변경사항 저장

utf8mb4는 앞서 설명했고,

general_ci는 "case insensitive"를 의미하는데,  즉 대소문자를 구별하지 않고 문자열을 비교할 수 있다.

 

그리고나서 데이터베이스를 클릭하고, '수정' 버튼 클릭

인스턴스 수정에서 기존의 인스턴스 설정은 그대로 놔두고 마스터 암호 (확인 포함)를 입력하고 

추가 구성에서 데이터베이스 옵션 - DB 파라미터 그룹을 클릭해보면 앞서 생성한 파라미터 그룹이 생성되어 있는 것을 확인할 수 있는데, 이를 선택

 

그리고나서 수정 예약에서 '즉시 적용' 선택하고 'DB 인스턴스 수정' 클릭

 

그리고나서 데이터베이스 [작업]에서 '재부팅'을 클릭하여 데이터베이스를 재부팅 해준다.

 

다시 Workbench로 돌아가서 현재 시간을 확인하는 쿼리문을 입력해보면

시간이 현재 시간대로 바뀐 것을 확인할 수 있다.


다음 내용

 

[aws] IAM 계정 생성하기

이전 내용 [aws] Workbench에서 UTC 시간 변경하기(파라미터그룹)이전 내용 [aws] ubuntu(우분투) Xshell 8 연결하기이전 내용 [aws] 데이터베이스: RDS 생성하기이전 내용 [aws] default.conf 란?이전 내용 [aws]

puppy-foot-it.tistory.com


[참고]

나무위키

 

https://anggeum.tistory.com/entry/AWS-EC2-%EC%84%9C%EB%B2%84-%EC%8B%9C%EA%B0%84-%EB%8F%99%EA%B8%B0%ED%99%94-%EB%B0%8F-%ED%83%80%EC%9E%84%EC%A1%B4-%EC%84%A4%EC%A0%95

https://cirius.tistory.com/1769

 

 

 

728x90
반응형

'프로그래밍 및 기타 > Cloud : AWS' 카테고리의 다른 글

[aws] CloudFront  (0) 2025.02.21
[aws] IAM 계정 생성하기  (0) 2025.02.21
[aws] ubuntu(우분투) Xshell 8 연결하기  (0) 2025.02.21
[aws] 데이터베이스: RDS 생성하기  (0) 2025.02.20
[aws] default.conf 란?  (0) 2025.02.20