タイムゾーンファイルを更新する戦略 - Amazon Relational Database Service

タイムゾーンファイルを更新する戦略

DB エンジンをアップグレードし、オプショングループに TIMEZONE_FILE_AUTOUPGRADE オプションを追加するオペレーションは個別に行います。TIMEZONE_FILE_AUTOUPGRADE オプションを追加すると、最新のタイムゾーンファイルがある場合は、タイムゾーンファイルの更新が開始されます。すぐに、または次のメンテナンスウィンドウで、次のコマンドを実行します (関連するオプションのみが表示されます)。

  • 次の RDS CLI コマンドを使用してのみ DB エンジンをアップグレードします。

    modify-db-instance --engine-version name ...
  • 次の CLI コマンドを使用してのみ TIMEZONE_FILE_AUTOUPGRADE オプションを追加します。

    add-option-to-option-group --option-group-name name --options OptionName=TIMEZONE_FILE_AUTOUPGRADE ...
  • 次の CLI コマンドを使用して、DB エンジンをアップグレードし、インスタンスに新しいオプショングループを追加します。

    modify-db-instance --engine-version name --option-group-name name ...

更新戦略は、データベースとタイムゾーンファイルを一緒にアップグレードするか、これらのオペレーションのいずれかのみを実行するかによって異なります。オプショングループを更新し、別の API オペレーションで DB エンジンをアップグレードすると、DB エンジンをアップグレードするときにタイムゾーンファイルの更新が現在進行中になる可能性があることに注意してください。

このセクションの例では、以下を前提とします。

  • DB インスタンスに現在関連付けられているオプショングループに、まだ TIMEZONE_FILE_AUTOUPGRADE が追加されていません。

  • ご使用の DB インスタンスはデータベースバージョン 19.0.0.0.ru-2019-07.rur-2019-07.r1 およびタイムゾーンファイル DSTv33 を使用しています。

  • DB インスタンスファイルシステムには、ファイル DSTv34 が含まれています。

  • リリース更新プログラム 19.0.0.0.ru-2022-10.rur-2022-10.r1 には DSTv35 が含まれています。

タイムゾーンファイルを更新するには、以下の戦略を使用できます。

エンジンをアップグレードせずにタイムゾーンファイルを更新する

このシナリオでは、データベースに DSTv33 を使用していますが、ご使用の DB インスタンスファイルシステムでは DSTv34 が使用できます。DB インスタンスで使用されるタイムゾーンファイルを DSTv33 から DSTv34 に更新しても、エンジンは DSTv35 を含む新しいマイナーバージョンにアップグレードしたくありません。

add-option-to-option-group コマンドで、DB インスタンスで使用されるオプショングループに TIMEZONE_FILE_AUTOUPGRADE を追加します。オプションをすぐに追加するか、メンテナンスウィンドウまで遅延するかを指定します。TIMEZONE_FILE_AUTOUPGRADE オプションを適用すると、RDS は次の処理を行います。

  1. 新しい DST バージョンをチェックする。

  2. DSTv34 がファイルシステムで使用可能であることを決定する。

  3. タイムゾーンファイルをすぐに更新する。

タイムゾーンファイルと DB エンジンバージョンをアップグレードする

このシナリオでは、データベースに DSTv33 を使用していますが、ご使用の DB インスタンスファイルシステムでは DSTv34 が使用できます。DB エンジンを DSTv35 を含むマイナーバージョン 19.0.0.0.ru-2022-10.rur-2022-10.r1 にアップグレードし、エンジンのアップグレード中にタイムゾーンファイルを DSTv35 に更新します。したがって、目標は DSTv34 をスキップして、タイムゾーンファイルを DSTv35 に直接更新することです。

エンジンとタイムゾーンファイルを一緒にアップグレードするには、--option-group-name および --engine-version オプションを使用して modify-db-instance を実行します。コマンドはすぐに実行することも、メンテナンスウィンドウ に延期することもできます。In --option-group-name は、TIMEZONE_FILE_AUTOUPGRADE オプションを含むオプショングループを指定します。例:

aws rds modify-db-instance --db-instance-identifier my-instance \ --engine-version new-version \ ----option-group-name og-with-timezone-file-autoupgrade \ --apply-immediately

RDS は、エンジンの 19.0.0.0.ru-2022-10.rur-2022-10.r1 へのアップグレードを開始します。TIMEZONE_FILE_AUTOUPGRADE オプションが適用されると、RDS は新しい DST バージョンを確認して、DSTv35 が 19.0.0.0.ru-2022-10.rur-2022-10.r1 で使用可能であることがわかると、すぐに DSTv35 に更新を開始します。

エンジンをすぐにアップグレードし、タイムゾーンファイルをアップグレードするには、オペレーションを順番に実行します。

  1. 次の CLI コマンドを使用してのみ DB エンジンをアップグレードします。

    aws rds modify-db-instance \ --db-instance-identifier my-instance \ --engine-version new-version \ --apply-immediately
  2. 次の CLI コマンドを使用して、インスタンスにアタッチされたオプショングループに TIMEZONE_FILE_AUTOUPGRADE オプションを追加します。

    aws rds add-option-to-option-group \ --option-group-name og-in-use-by-your-instance \ --options OptionName=TIMEZONE_FILE_AUTOUPGRADE \ --apply-immediately

タイムゾーンファイルを更新せずに、DB エンジンのバージョンをアップグレードする

このシナリオでは、データベースに DSTv33 を使用していますが、ご使用の DB インスタンスファイルシステムでは DSTv34 が使用できます。DB エンジンを DSTv35 を含むバージョン 19.0.0.0.ru-2022-10.rur-2022-10.r1 にアップグレードしても、タイムゾーンファイル DSTv33 を保持します。次の理由から、この戦略が必要になる場合があります。

  • データが TIMESTAMP WITH TIME ZONE データ型を使用しない。

  • データは TIMESTAMP WITH TIME ZONE データ型を使用できますが、データがタイムゾーン変更の影響を受けません。

  • 追加のダウンタイムを許容できないため、タイムゾーンファイルの更新を延期する必要があります。

戦略は、次のいずれが該当するによって異なります。

  • DB インスタンスは TIMEZONE_FILE_AUTOUPGRADE を含むオプショングループに関連付けられていません。modify-db-instance コマンドでは、RDS がタイムゾーンファイルを更新しないように、新しいオプショングループを指定しないでください。

  • DB インスタンスは現在、TIMEZONE_FILE_AUTOUPGRADE を含むオプショングループに関連付けられています。単一の modify-db-instance コマンド内で、TIMEZONE_FILE_AUTOUPGRADE を含まないオプショングループに DB インスタンスを関連付けてから、DB エンジンを 19.0.0.0.ru-2022-10.rur-2022-10.r1 にアップグレードします。