Amazon Aurora DB クラスターのタイムゾーンを変更したいと考えています。これを行うにはどうすればよいですか?
簡単な説明
Amazon Aurora では、time_zone パラメータはクラスターレベルのパラメータです。パラメータグループによって、クラスターのデフォルトのタイムゾーンが指定されます。これは、すべてのデータベースのデフォルトです。time_zone のデフォルト値は UTC で、time_zone の値を変更すると、その変更がクラスター内のすべてのノードに適用されます。
注: default_time_zone パラメータは、サーバーのタイムゾーンを意味します。このパラメータは変更できません。
重要: DB クラスターパラメータグループと DB インスタンスパラメータグループには違いがあります。
- DB パラメータグループは、1 つまたは複数の DB インスタンスに適用されるエンジン設定値のコンテナとして機能します。DB パラメータグループは、Amazon Relational Database Service (Amazon RDS) と Amazon Aurora の両方の DB インスタンスに適用されます。これらの構成設定は、メモリバッファのサイズなど、Aurora DB クラスター内の DB インスタンス間で異なることがあるプロパティに適用されます。
- DB クラスターパラメータグループは、Aurora DB クラスター内のすべての DB インスタンスに適用されるエンジン設定値のコンテナとして機能します。例えば、Aurora 共有ストレージモデルでは、Aurora クラスター内のすべての DB インスタンスで、innodb_file_per_table などのパラメータに同じ設定を使用する必要があります。 したがって、物理ストレージレイアウトに影響するパラメータは、DB クラスターパラメータグループの一部です。DB クラスターパラメータグループには、DB インスタンスレベルのすべてのパラメータのデフォルト値も含まれます。
解決方法
この例では、Amazon Aurora MySQL 互換エディション 5.7 を使用して、time_zone パラメータを ASIA/CALCUTTA に変更します。
1. カスタム DB クラスターパラメータグループを作成します。詳細については、「パラメータグループを使用する」を参照してください。
2. 動的パラメータ time_zone="ASIA/CALCUTTA" を変更します。
3. 作成した新しい DB クラスターパラメータグループをクラスターにアタッチし、DB クラスターを手動で再起動して変更を適用します。
4. 次のように、select @@time_zone コマンドを実行して DB インスタンスのタイムスタンプを確認します。
mysql> select @@time_zone;
+---------------+
| @@time_zone |
+---------------+
| Asia/Calcutta |
+---------------+
1 row in set (0.00 sec)
注: セッションレベルでタイムゾーンを設定すると、データベースおよびパラメータの両方のタイムゾーンがオーバーライドされます。ただし、これはそのセッションについてのみ維持されます。SET time_zone = 'Europe/Helsinki'; コマンドを実行すると、これは、Europe/Helsinki にすべてのデータベースのタイムゾーンを設定します。新しいタイムゾーンは、パラメータグループのタイムゾーンよりも優先されます。データベースレベルで設定されたタイムゾーンは、パラメータグループのタイムゾーンをオーバーライドします。セッションのタイムゾーンは、パラメータグループのタイムゾーンとデータベースレベルで設定されたタイムゾーンの両方をオーバーライドします。