AuroraAWS

Amazon AuroraのタイムゾーンをUTCからJSTへ変更する

Amazon Aurora のタイムゾーンをUTCからJSTへ変更してみます。

default.aurora-mysql5.7やdefault.mariadb10.6などのAWSが用意したデフォルトパラメータグループは各設定値の変更ができません。

そのため稼働中のAuroraにデフォルトのパラメータグループが適用されている場合(Aurora作成時に明示的に変更しないとデフォルトパラメータグループが適用されます)は、別のパラメータグループを作った上でそれを適用させた後、再起動が必要になります。

スポンサーリンク

タイムゾーン変更手順

パラメータグループを新規作成

AWSマネジメントコンソールの画面上部検索窓 [ RDS ] で検索 → 当該サービスをクリック → RDS画面の左ペイン [ パラメータグループ ] → 画面右の [ パラメータグループの作成 ] をクリックし、次画面でパラメータグループを設定します。

パラメータグループの詳細画面で [ タイプ ] を2種類の中から選択します。

DBクラスタ全体に適用させたい場合は、DB クラスターパラメータグループを選択、逆にDBクラスタの各インスタンス個別に適用させたい場合は、DBパラメータグループを選択します。

そのほか、パラメータグループファミリーやグループ名を設定したら [ 作成 ] をクリックします。

パラメータグループのタイムゾーンを変更

作成したパラメータグループをクリックし次画面の検索ボックスで time_zone と入力 → 画面右上の[ パラメータの編集 ] をクリック → time_zoneのプルダウンから Asia/Tokyo を選択 → 画面右上の [ 変更の保存 ] をクリックします。

なおデフォルトのパラメータグループは、変更可能の列の値が true となっており一見変更できそうに見えますが、実際に [ 変更の保存 ] をクリックすると以下のようなエラーとなり変更できません。

保存中のエラー: Cannot modify a default parameter group. (Service: AmazonRDS; Status Code: 400; Error Code: InvalidParameterValue; Request ID: 8a7dxxx-yyy-zzz; Proxy: null)

パラメータグループを適用

RDS画面の左ペイン [ データベース ] → 変更対象のDB識別子 にチェック → 画面上の [ 変更 ] をクリック → [ DB クラスターのパラメータグループ ] もしくは [ DB パラメータグループ ] を作成したパラメータグループ へ変更 → [ 続行 ] をクリックします。

次画面で [ 変更を適用するタイミング ] の すぐに適用 にチェックを入れ → [ クラスターの変更 ] もしくは [ DBインスタンスの変更 ] をクリックします。

この段階では、まだパラメータグループの変更は反映されていません。再起動が必要となります。

クラスター全体へ一度に適用するなばら [ アクション ] → [ 停止 ] → [ 起動 ] 、一台ずつ適用するならば、各インスタンスにチェックを入れ、 [ アクション ] → [ 再起動 ] をクリックします。

なお、すでにDBへ適用済みのパラメータグループのタイムゾーン変更した場合は再起動の必要はありません。動的に反映されます。

JSTへ変更されたことの確認

再起動後、Auroraへ接続すると以下のようにJSTとなっていることが確認できます。

-- 変更前は time_zone がSYSTEM(=UTC)となっていた
mysql> show global variables like '%time_zone%';
+------------------+------------+
| Variable_name    | Value      |
+------------------+------------+
| system_time_zone | UTC        |
| time_zone        | Asia/Tokyo |
+------------------+------------+
2 rows in set (0.02 sec)

-- UTCではなく日本時間が返ってくる
mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2022-07-12 09:27:57 |
+---------------------+
1 row in set (0.02 sec)

mysql>

今回は以上です〜ノシ

参考

(´・ω・`)ゞアリガトゴザイマス.。.・゚

Amazon Aurora DB クラスターのタイムゾーンを変更するにはどうすればよいですか?
Amazon RDS パラメータグループを使用する
Auroraのパラメータグループの優先順位について実験してみた

関連書籍
タイトルとURLをコピーしました