Google Compute Engine 標準のOSイメージでインスタンスを作成しますと、システム言語は英語、タイムゾーンはUTCになっています。もちろん、そのままでも運用できますが、せっかく東京リージョン(asia-northeast1)で運用するのですから、システム言語は日本語化してタイムゾーンも日本(JST)に変更したいと思います。そこで、よく使われるOSイメージにおける、システム言語とタイムゾーンの変更方法をご紹介致します。
目次
RHEL6/CentOS6
システム言語変更手順
/etc/sysconfig/i18nのLANG変数を「en_US」から「ja_JP」に修正します。
変更前
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"
変更後
LANG="ja_JP.UTF-8"
SYSFONT="latarcyrheb-sun16"
タイムゾーン変更手順
まず、/etc/sysconfig/clockのZONE変数を「UTC」から「Asia/Tokyo」に修正します。
変更前
ZONE="UTC"
変更後
ZONE="Asia/Tokyo"
$ sudo cp -a /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
$ sudo shutdown -r now
RHEL7/CentOS7
システム言語変更手順
localectlコマンドを使用して変更します。
$ sudo localectl set-locale LANG=ja_JP.UTF8
タイムゾーン変更手順
timedatectlコマンドを使用して変更します。
$ sudo timedatectl set-timezone Asia/Tokyo
$ sudo systemctl reboot
Debian8/9
事前準備
GCP公式イメージにはdbusパッケージが導入されていないため、systemd関連のコマンド(localectl、timedatectl)が使用できません。コマンドを使用するためにdbusを導入します。
以下のコマンドを実行します。
$ sudo apt-get install dbus
システム言語変更手順
task-japaneseパッケージをインストールします。
$ sudo apt-get install task-japanese
ここでは、sedコマンドで編集しています。
$ sudo cp -a /etc/locale.gen /etc/locale.gen.bak
$ sudo sh -c "sed 's/# *ja_JP\.UTF-8/ja_JP.UTF8/' /etc/locale.gen.bak > /etc/locale.gen"
$ sudo locale-gen
$ sudo localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"
タイムゾーン変更手順
timedatectlコマンドで設定します。
$ sudo timedatectl set-timezone Asia/Tokyo
$ sudo shutdown -r now
Ubuntu 14.04 LTS/Ubuntu 16.04 LTS/Ubuntu 17.04/Ubuntu 17.10
システム言語変更手順
language-pack-jaパッケージをインストールした後、localectlコマンドで設定します。
まず、language-pack-jaパッケージをインストールします。
$ sudo apt-get install language-pack-ja
$ sudo localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"
タイムゾーン変更手順
timedatectlコマンドで設定します。
$ sudo timedatectl set-timezone Asia/Tokyo
$ sudo shutdown -r now
Windows Server 2008 R2
システム言語変更手順
まずはPowerShellを起動します。
PowerShellが起動したら以下のコマンドを入力して実行します。
cd ${HOME}/desktop
Invoke-WebRequest -Uri http://download.microsoft.com/download/C/B/8/CB8284EB-D9F0-42A9-A443-D021797DC2EA/Windows6.1-KB2483139-x64-ja-JP.exe -OutFile Windows6.1-KB2483139-x64-ja-JP.exe
Language Packのインストールが完了するとインストール画面が自動で消えますので、コントロールパネルから「Change display language」をクリックします。
Region and Languageの画面が表示されますので、「Choose a display language」のプルダウンメニューを「English」から「日本語」に変更して[OK]ボタンを押します。
※なお、Language Packが未導入の場合「Choose a display language」が表示されません。
以下のダイアログボックスが表示されますので、[Log off now]ボタンをクリックしてログオフしてください。次回ログインよりメニュー等が日本語表示になります。
再度ログインした後、コントロールパネルを開き「表示言語の変更」をクリックします。
地域と言語のウィンドウが表示されたら、[キーボードの変更]ボタンを押します。
既定の言語を「日本語(日本)- Microsoft IME」に変更し、インストールされているサービスの「JP 日本語(日本)」の順序を「EN 英語(米国)」より上にして、[OK]ボタンを押します。
次に「場所」タブをクリックし、現在の場所を「日本」に変更します。
次に「形式」タブをクリックし、形式を「日本語(日本)」に変更します。
次に、[管理]タブをクリックして「ようこそ画面と新しいユーザーアカウント」の[設定のコピー]ボタンを押します。
ようこそ画面と新しいユーザーアカウント設定画面が表示されますので、「ようこそ画面とシステムアカウント」と「新しいユーザーアカウント」の両方のチェックを有効にして[OK]ボタンを押してください。Windows再起動を要求するダイアログボックスが表示されますので、[今すぐ再起動]ボタンを押してインスタンス再起動してください。
再起動後から、日本語環境になります。しかし、まだ一部のアプリケーションは英語表示のままになります。(例:コマンドプロンプト) そのため、システムロケールの変更も行います。コントロールパネルを開き、「表示言語の変更」をクリックします。
地域と言語ウィンドウが開きますので、[管理]タブをクリックして「システムロケールの変更」をクリックします。
地域と言語の設定ウィンドウが開きますので、現在のシステムロケールを「日本語(日本)」に変更して[OK]ボタンを押して下さい。再起動を求められますので「今すぐ再起動」を押してインスタンス再起動して下さい。
タイムゾーン変更手順
最初にコマンドプロンプトを起動します。[スタート]→[コマンドプロンプト]をクリックして下さい。
コマンドプロンプトが起動したら、以下のコマンドを入力して下さい。
※[Enter]と書いてある箇所は、Enterキーを押してください。
tzutil /s "Tokyo Standard Time"[Enter]
「Tokyo Standard Time」と表示されたら設定完了です。
tzutil /g[Enter]

Windows Server 2012 R2/Windows Server 2016
システム言語変更手順
Windows Server 2008 R2とは異なり、コントロールパネルからLanguage Packをダウンロード&インストールすることができます。まずは左下の窓ボタンを押してコントロールパネルを開きます。
コントロールパネルが表示されたら、「Add a language」をクリックします。
Languageウィンドウが開いたら、「Add a language」をクリックします。
Add Languageウィンドウが開いたら、「日本語」を選択してから[Add]ボタンをクリックします。
再びLanguageウィンドウに戻り、「日本語」を1番上にMove upし、「Options」をクリックします。
Language optionsウィンドウが開いたら、「Download and install language pack」をクリックする。User Account Controlのポップアップが表示されれますが、[Yes]ボタンを押して下さい。
Language packのダウンロード&インストール画面が表示されますので、しばらく待ちましょう。(10~15分程度)
ダウンロード&インストール画面がこの表示になったら[Close]ボタンを押してウィンドウを閉じ、インスタンスを再起動します。
再度ログインした後、コントロールパネルを開いて「日付、時刻、または数値の形式の変更」をクリックします。
地域ウィンドウが開きますので、[場所]タブをクリックして主な使用場所のところを「日本」に選択し、[適用]ボタンをクリックします。
次に、[管理]タブをクリックした後、「設定のコピー」をクリックします。
ようこそ画面と新しいユーザーアカウントの設定ウィンドウが開きますので、「ようこそ画面とシステムアカウント」と「新しいユーザーアカウント」のチェックボックスを有効にして[OK]ボタンをクリックして下さい。
※再起動が要求されますが、[キャンセル]を押してください。
管理ウィンドウの[システムロケールの変更]ボタンをクリックしてください。
システムロケールを変更するダイアログボックスが表示されます。「現在のシステムロケール」を「日本語 (日本)」に変更して[OK]ボタンをクリックして下さい。
[OK]ボタンを押すと再起動が要求されますので、[今すぐ再起動]ボタンを押してください。
インスタンス再起動後から、日本語環境で使用できるようになります。
タイムゾーン変更手順
最初にコマンドプロンプトを起動します。[スタート]右クリック→[コマンドプロンプト]をクリックして下さい。
コマンドプロンプトが起動したら、以下のコマンドを入力して下さい。
※[Enter]と書いてある箇所は、Enterキーを押してください。
tzutil /s "Tokyo Standard Time"[Enter]
「Tokyo Standard Time」と表示されたら設定完了です。
tzutil /g[Enter]

ロケール変更における留意事項
本番サービス運用中のシステムでロケール(システム言語、タイムゾーン)の変更を行うことは非常に大きなリスクを伴います。例えば、タイムゾーン変更によるログ時刻の連続性消失、文字コード変更によるデータ不整合の発生、等です。そのため、今回紹介しました変更手順はインスタンス作成直後に実施頂くことを推奨致します。
まとめ
GCEインスタンスにおけるシステム言語、及び、タイムゾーンの変更方法についてご紹介させて頂きました。今後も、Google公式ドキュメントには記載されていないような、GCEインスタンスのちょっとした設定方法や疑問について解説して行きますので、よろしくお願いします。
弊社クラウドエースでは、支払い代行プランや技術サポートプランにお申し込み頂くことでGCEを含む、GCPに関する幅広いご質問に対応しております。GCPの構築や運用のトラブル対応につきましてもクラウドエースにお任せ下さい!!