私は、現在バージョン 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 にアップグレードするには、次の手順に従います。
- AWS RDS コンソールを開きます。
- ナビゲーションペインで [Databases] (データベース) を選択し、Aurora 2.x DB クラスターを選択します。
- [Actions] (アクション) を選択してから、[Take Snapshot] (スナップショットの取得) を選択します。
- ナビゲーションペインで、[Snapshots] (スナップショット) を選択します。
- DB クラスターのスナップショットが作成されたら、スナップショットを選択し、[Actions] (アクション) を選択します。
- [Restore Snapshot] (スナップショットの復元) を選択します。
- [Instance Specification] (インスタンスの仕様) セクションの [DB Engine Version] (DB エンジンバージョン) で、使用可能な Aurora 3.X (MySQL 8.0.23 と互換性がある) バージョンの中からいずれかを選択します。
- 設定の詳細を入力し、[Restore DB Instance] (DB インスタンスの復元) を選択します。
Aurora 3.x クラスターが使用可能になったら、新しい DB インスタンスに接続をリダイレクトできます。
注: スナップショットを使用して Aurora DB クラスターをバージョン 2.x からバージョン 3.x にアップグレードし、データベースがライブアプリケーションをサポートしている場合は、スナップショットを取得する前にアプリケーションを停止してください。これにより、データに対する最近の変更が失われることがなくなります。スナップショットの作成が開始されてから、新しいデータベースが作成されて実行状態に入るまで、ダウンタイムが発生します。
手動レプリケーションを使用してアップグレードする
注: アプリケーションをアップグレードするために手動レプリケーションを設定する場合、Aurora MySQL 2.x から Aurora MySQL 3.x に切り替える際にダウンタイムが発生します。
- ソースの Aurora MySQL 2.x DB クラスターでバイナリログを有効にします 。
- DB クラスターの保持期間を延長します。
- Aurora MySQL 2.x DB クラスターのスナップショットを取得します。
- スナップショットを Aurora MySQL バージョン 3.x に復元します。
- 復元された DB クラスターからバイナリログの位置をキャプチャします。
- 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 に移動すると、ダウンタイムが発生します。
関連情報
DB クラスタースナップショットの作成
DB クラスタースナップショットからの復元
AWS Database Migration Service の開始方法