본문 바로가기
기타/Tips

AWS 라이트세일 서버 시간 오류 해결 방법

by makepluscode 2024. 11. 5.
반응형

AWS 라이트세일(Lightsail) 서버를 사용할 때 서버의 기본 시간대가 UTC(협정 세계시)로 설정되어 있어, 실제 사용하는 시간대와 맞지 않아 오류가 발생할 수 있습니다. 예를 들어 한국(KST) 시간대를 기준으로 작업하려고 하는데 서버 시간이 UTC로 설정되어 있을 경우, 직접 시간을 설정해 줘야 합니다. 이 글에서는 AWS 라이트세일에서 서버 시간 오류를 해결하는 방법을 정리합니다.

문제 상황

date 명령어로 서버 시간을 확인했을 때, UTC 시간으로 설정된 모습을 볼 수 있습니다.

$ date
Tue Nov  5 11:59:11 UTC 2024

서버가 UTC 시간대로 설정되어 있으므로, 한국 표준시(KST, UTC+9)를 사용하는 경우 실제 시간과 맞지 않게 보이게 됩니다. 실제로 정확히 9시 차이 입니다.

한국 표준시(KST, Korea Standard Time)는 UTC보다 정확히 9시간 앞서 있습니다.
예를 들어 UTC가 00:00일 때, 한국 시간은 09:00 입니다.

반응형

해결 방법: 타임존 설정

1. 현재 시간과 타임존 확인하기

우선 timedatectl 명령어로 서버의 현재 시간과 타임존 정보를 확인해 보겠습니다.

$ timedatectl
               Local time: Tue 2024-11-05 12:00:21 UTC
           Universal time: Tue 2024-11-05 12:00:21 UTC
                 RTC time: Tue 2024-11-05 12:00:21
                Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

여기서 Time zone: Etc/UTC (UTC, +0000) 부분을 보면 타임존이 UTC로 설정되어 있음을 알 수 있습니다.

2. 타임존 변경 시도

KST 시간대로 변경하기 위해 timedatectl set-timezone 명령어를 사용합니다.

$ timedatectl set-timezone Asia/Seoul

그러나 권한 문제로 인해 타임존을 변경할 수 없을 때가 있습니다. 인증 실패로 인해 다음과 같은 에러가 발생할 수 있습니다.

==== AUTHENTICATING FOR org.freedesktop.timedate1.set-timezone ====
Authentication is required to set the system timezone.
Authenticating as: Ubuntu (ubuntu)
Password:
polkit-agent-helper-1: pam_authenticate failed: Authentication failure
==== AUTHENTICATION FAILED ====
Failed to set time zone: Access denied

이럴 때는 sudo 명령어를 사용해 관리자 권한으로 명령을 실행합니다.

 

3. 관리자 권한으로 타임존 변경

다음과 같이 sudo를 사용해 timedatectl 명령어를 실행하여 타임존을 설정할 수 있습니다.

$ sudo timedatectl set-timezone Asia/Seoul

명령어를 실행한 후, 다시 timedatectl 명령어로 시간과 타임존을 확인하면 KST로 설정된 것을 확인할 수 있습니다.

$ timedatectl
               Local time: Tue 2024-11-05 21:00:53 KST
           Universal time: Tue 2024-11-05 12:00:53 UTC
                 RTC time: Tue 2024-11-05 12:00:52
                Time zone: Asia/Seoul (KST, +0900)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

이제 Local time이 한국 시간(KST)으로 설정되어 서버의 로컬 시간이 맞춰진 것을 볼 수 있습니다.

요약

  1. datetimedatectl 명령어로 현재 시간과 타임존을 확인합니다.
  2. sudo timedatectl set-timezone Asia/Seoul 명령어로 한국 표준시(KST)로 타임존을 변경합니다.
  3. 설정 후 timedatectl 명령어로 다시 확인하여 로컬 시간대가 KST로 맞춰졌는지 확인합니다.

이제 AWS 라이트세일 서버의 시간을 KST로 정확히 맞출 수 있습니다.

반응형