こんにちは、ふじみや です。
このブログではEC2インスタンスのマシンイメージは「Amazon Linux 2」を選択しています。
しかしながら、EC2インスタンスを起動したばかりだとSSH接続をした際のコンソール画面は英語表記かつ協定世界時(UTC)となっており、使えないわけではありませんがちょっと不便ですよね。
そこで、今回は、Amazon Linux 2の言語を日本語にするとともに、時間表記を日本標準時(JST)に変更する方法についてご説明します。
なお、Amazon Linux 2を利用したEC2インスタンスの起動については以下の記事にてご説明をしていますので、ご興味がございましたらご覧いただければと思います。
言語設定の変更
それでは、まず現在の言語設定について確認をしてみましょう。Amazon Linux 2へSSH接続後、次のコマンドを入力してください。
localectl status
次のように表示され「LANG=en_US」となっていることから言語設定が英語になっていることが分かります。
言語設定を日本語に変更する場合には次のコマンドを入力してください。
sudo localectl set-locale LANG=ja_JP.UTF-8
入力後はもう一度「localectl status」とコマンドを入力して設定が変更されているか確認をしてみましょう。
なお、すぐに日本語表記に反映されるわけではありませんのでご注意ください。すぐに反映をさせたい場合には、以下のコマンドを入力して一度SSH接続を終了した後に再度SSH接続を試みるか、EC2の管理画面よりインスタンスを再起動させてみてください。
exit
タイムゾーンの変更
次に、タイムゾーンの設定をしてきます。まずはどのように表示されるか確認をしてみましょう。
次のコマンドを入力してみてください。
date
そうすると次のように表示されるかと思います。上段は言語設定を日本語に変えている場合、下段は言語設定を英語のままとしている場合の表記です。
2022年 10月 2日 日曜日 04:47:52 UTC
Sun Oct 2 04:47:52 UTC 2022
ここで「UTC」と書かれている場合には、日本時間の9時間前が時間として表示されているかと思います。
なお、日本のほうがUTCよりも9時間先に進んでいるので、日本時間のことを「UTC+9」などと表示したりもします。
なお、次のコマンドを入力しても上記と同様の確認ができます。
timedatectl status
ではタイムゾーンを日本標準時に変更しましょう。次のコマンドを入力してください。
sudo timedatectl set-timezone Asia/Tokyo
入力後は改めて「date」と入力するか「timedatectl status」と入力して確認しましょう。なお、言語設定とは異なりタイムゾーンの設定では再起動は不要です。
言語を英語のままで「timedatectl status」と入力した結果は以下の通りです。
Local time: Sun 2022-10-03 14:07:03 JST
Universal time: Sun 2022-10-03 05:07:03 UTC
RTC time: Sun 2022-10-03 05:07:04
Time zone: Asia/Tokyo (JST, +0900)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
「Local time」が「JST」、「Time Zone」が「Asia/Tokyo (JST, +0900)」となっていることから日本時間になっているのが分かります。
まとめ
今回は、言語設定の変更とタイムゾーンの変更についてご説明をしました。
シェルスクリプトやプログラムを作成しない人にとっては言語設定はデフォルトのままでも問題にはならないと思いますが、ファイル内に日本語でコメントをされる方などは文字化けを回避するためにも日本語に変更をしておいたほうが良いかと思います。
また、タイムゾーンについても定期的にプログラムを実行させる「cron」(今後、ご説明をする予定です)を利用される方は時間をUTC→JSTに変換される手間が不要になりますので、変更をしておいた方が無難です。
ここまでご覧をいただきましてありがとうございました。それではまた。
コメント