Amazon Aurora MySQL DB クラスターを新しいバージョンにアップグレードするにはどうすればよいですか?

最終更新日: 2022 年 6 月 14 日

私は、現在バージョン 2.x を実行している Amazon Aurora MySQL 互換 DB クラスターを有しています。Aurora MySQL 互換バージョン 3.x にアップグレードするにはどうしたらいいですか?

簡単な説明

Amazon Aurora バージョン 2.x は MySQL 5.7 と互換性があり、Amazon Aurora バージョン 3.x は MySQL 8.0 と互換性があります。現在、Amazon Relational Database Service (Amazon RDS) では、Aurora MySQL 2.x クラスターを Aurora MySQL 3.x にインプレースアップグレードすることを許可していません。インプレースアップグレードは、Aurora MySQL 1.x クラスターから Aurora MySQL 2.x にのみ適用されます。

注: 最初に本番稼働用ではない DB クラスターで更新を実行してください。その後、新しいバージョンでの変更がインスタンスおよびアプリケーションにどのように影響するかを監視します。

次の方法を使用して、Amazon Aurora MySQL DB クラスターをバージョン 2.x からバージョン 3.x にアップグレードします。

  • DB クラスターのスナップショットを取得し、Aurora MySQL 3.x に復元する
  • サービスを切り替えるために手動レプリケーションを設定する
  • AWS Database Migration Service (AWS DMS) を使用してサービスを移行する

注: ダウンタイムは、使用する方法によって異なります。

解決方法

スナップショットを使用してアップグレードする

スナップショットを使用して Aurora MySQL 2.x から Aurora MySQL 3.x にアップグレードするには、次の手順に従います。

  1. AWS RDS コンソールを開きます
  2. ナビゲーションペインで [Databases] (データベース) を選択し、Aurora 2.x DB クラスターを選択します。
  3. [Actions] (アクション) を選択してから、[Take Snapshot] (スナップショットの取得) を選択します。
  4. ナビゲーションペインで、[Snapshots] (スナップショット) を選択します。
  5. DB クラスターのスナップショットが作成されたら、スナップショットを選択し、[Actions] (アクション) を選択します。
  6. [Restore Snapshot] (スナップショットの復元) を選択します。
  7. [Instance Specification] (インスタンスの仕様) セクションの [DB Engine Version] (DB エンジンバージョン) で、使用可能な Aurora 3.X (MySQL 8.0.23 と互換性がある) バージョンの中からいずれかを選択します。
  8. 設定の詳細を入力し、[Restore DB Instance] (DB インスタンスの復元) を選択します。

Aurora 3.x クラスターが使用可能になったら、新しい DB インスタンスに接続をリダイレクトできます。

注: スナップショットを使用して Aurora DB クラスターをバージョン 2.x からバージョン 3.x にアップグレードし、データベースがライブアプリケーションをサポートしている場合は、スナップショットを取得する前にアプリケーションを停止してください。これにより、データに対する最近の変更が失われることがなくなります。スナップショットの作成が開始されてから、新しいデータベースが作成されて実行状態に入るまで、ダウンタイムが発生します。

手動レプリケーションを使用してアップグレードする

注: アプリケーションをアップグレードするために手動レプリケーションを設定する場合、Aurora MySQL 2.x から Aurora MySQL 3.x に切り替える際にダウンタイムが発生します。

  1. ソースの Aurora MySQL 2.x DB クラスターでバイナリログを有効にします
  2. DB クラスターの保持期間を延長します。
  3. Aurora MySQL 2.x DB クラスターのスナップショットを取得します。
  4. スナップショットを Aurora MySQL バージョン 3.x に復元します。
  5. 復元された DB クラスターからバイナリログの位置をキャプチャします。
  6. Aurora MySQL 2.x から Aurora MySQL 3.x へのレプリケーションを開始します。詳細については「外部ソースインスタンスでのバイナリログファイルの位置レプリケーションを設定する」をご参照ください。

レプリケーションが同期されたら、Aurora MySQL 3.x にアプリケーションをポイントします。

AWS DMS を使用してアップグレードする

AWS DMS を使用して、最小限のダウンタイムでアプリケーションをアップグレードすることもできます。このアップグレードは、前述のオプションよりも複雑です。この移行を実行するには、Aurora MySQL DB インスタンスバージョン 3.x を作成します。その後、AWS DMS を使用して Aurora MySQL バージョン 2.x から 3.x へのデータレプリケーションを実行します。アプリケーションが Aurora MySQL 3.x に移動すると、ダウンタイムが発生します。