새 서버의 이름은 주문할 때 입력한 것이고, 시계는 UTC입니다. 둘 다 쉽게 바꿀 수 있습니다. 이름 변경에는 함정이 하나 있습니다. 흔히 쓰는 명령이 /etc/hosts에 예전 줄을 남겨 두기 때문에, Ubuntu에서는 sudo가 명령을 실행할 때마다 불평합니다. 이 가이드는 Ubuntu와 Debian에서 두 가지를 모두 바로잡고, Windows Server 명령도 보여 드립니다. 모든 단계를 저희 이미지에서 직접 실행했습니다.
sudo 권한이 있는 사용자가 필요합니다. Ubuntu 설정 가이드에서 만들 수 있습니다.
1. 현재 이름과 시각 확인하기
hostnamectl
timedatectl
새로 만든 Ubuntu 24.04 서버는 정적 호스트 이름으로 주문 때 입력한 이름을 보여 주었고, Time zone: Etc/UTC, System clock synchronized: yes, NTP service: active도 표시했습니다. Debian 12와 13도 같았습니다. 시간 동기화는 이미 동작하므로 NTP를 따로 설치할 필요가 없습니다.
2. 호스트 이름 바꾸기
짧은 이름을 고르거나, 직접 관리하는 DNS 레코드와 맞출 거라면 web1.example.com 같은 전체 이름을 고르세요.
sudo hostnamectl set-hostname web1.example.com
이름은 바로 바뀌지만 /etc/hosts에서는 127.0.1.1이 여전히 예전 이름을 가리킵니다. Ubuntu에서는 곧바로 드러났습니다.
sudo: unable to resolve host web1.example.com: No address associated with hostname
hostname -f도 같은 이유로 실패했습니다. Debian은 다른 경로로 이름을 찾아 경고를 띄우지 않았지만, /etc/hosts는 똑같이 낡은 상태였습니다. 두 시스템 모두 파일을 고치세요.
sudo sed -i 's/^127\.0\.1\.1 .*/127.0.1.1 web1.example.com web1/' /etc/hosts
grep 127.0.1.1 /etc/hosts
hostname -f
그 뒤로 sudo는 조용해졌고, hostname -f는 web1.example.com, hostname -s는 web1을 출력했습니다.
/etc/hosts 맨 위의 주석에는 이 파일을 cloud-init이 관리하므로 수정 내용이 사라질 수 있다고 적혀 있습니다. 저희 이미지에서 cloud-init은 서버의 첫 부팅 때만 이 파일을 씁니다. 재부팅해 보고, 다음 부팅을 cloud-init이 새 인스턴스로 다루게도 해 보았지만 이름과 /etc/hosts의 줄은 둘 다 그대로였습니다.
호스트 이름은 서버 안에만 있습니다. 다른 컴퓨터가 그 이름으로 서버를 찾게 하려면 DNS 레코드도 추가하세요. 도메인을 VPS에 연결하는 방법에서 설명합니다. 메일 서버라면 역방향 레코드도 중요합니다. 역방향 DNS 설정을 참고하세요.
3. 시간대 바꾸기
시간대 목록을 보고 고르세요. 저희 서버에는 497개가 있었습니다.
timedatectl list-timezones | grep -i tokyo
sudo timedatectl set-timezone Asia/Tokyo
timedatectl
시계 자체는 움직이지 않습니다. 바뀌는 것은 시각을 보여 주는 방식과 현지 시각으로 짠 일정을 해석하는 방식뿐입니다. UTC에서 Asia/Tokyo로 바꾼 뒤 이렇게 됐습니다.
| 항목 | 변경 후 |
|---|---|
date, journalctl | 즉시 도쿄 시간 |
| cron | 즉시 도쿄 시간: 09:48로 잡은 작업이 09:48:01 JST에 실행, 재시작 없음 |
/var/log/syslog (Ubuntu) | rsyslog를 재시작할 때까지 UTC 시각으로 기록 |
/etc/timezone (Ubuntu) | 여전히 Etc/UTC |
그러니 로그 서비스와, 앱처럼 오래 실행되며 시각을 찍는 프로그램은 재시작하세요.
sudo systemctl restart rsyslog
Debian 12와 13에는 rsyslog가 설치되어 있지 않습니다. 로그는 journal에만 있고, journal은 새 시간대를 알아서 따릅니다.
일부 오래된 프로그램은 시스템 설정이 아니라 /etc/timezone에서 시간대를 읽습니다. 그중 하나가 아직 UTC를 보여 준다면, 그 파일에 같은 이름을 써 넣고 해당 프로그램을 재시작하세요.
echo Asia/Tokyo | sudo tee /etc/timezone
바꾸기 전에 crontab을 살펴보세요. UTC 03:00을 생각하고 쓴 0 3 * * * 줄은 이제 도쿄 시간 03:00, 즉 실제 시간으로 9시간 일찍 실행됩니다.
4. Windows Server
Windows Server 2022에서는 PowerShell을 관리자로 엽니다. 이름을 바꾸려면 재시작이 필요합니다.
Rename-Computer -NewName web1 -Restart
Windows 컴퓨터 이름은 15자로 제한되므로 여기서는 짧은 이름을 쓰세요.
시간대는 ID를 찾아 설정합니다. 재시작 없이 바로 적용됩니다.
Get-TimeZone -ListAvailable | Where-Object Id -like '*Tokyo*'
Set-TimeZone -Id 'Tokyo Standard Time'
Get-TimeZone
로그인한 김에 RDP 보안 강화도 해 두면 좋습니다.
어떤 요금제
호스트 이름과 시간대에는 비용이 들지 않으니 어떤 요금제든 괜찮습니다. 작은 Linux 서버라면 Nano(월 $3), Windows Server 2022라면 Windows-Small(월 $11)입니다. 모든 요금제는 VPS 페이지에 있고, 결제는 Base, Ethereum, Polygon 네트워크의 USDT, USDC, ETH로 합니다.
댓글
아직 댓글이 없습니다. 첫 번째가 되세요.