Auroraバージョンアップ作業メモ(v2→v3)
AWS Auroraバージョンアップ作業時のメモ
MySQL 5.7互換のAurora v2がサポート終了時期を迎えるにあたり、2024年10月31日にMySQL 8.0互換のAurora v3に自動的に(強制的に)バージョンアップされます
自動バージョンアップ後に動かなくなっても困るので、事前にバージョンアップ検証を行っておき、必要に応じてソース修正などを行います
大まかな流れ
- 既存RDSインスタンス(クラスター)のスナップショット取得
- スナップショットからRDSインスタンス・クラスター作成
- 作成したRDSインスタンス・クラスターのバージョンアップ
- 新インスタンス・クラスターで動作検証
- 問題なければ、新インスタンス・クラスターに切替 or 既存インスタンスをバージョンアップ
注意点
同様の作業を行ったメンバーからの情報によると下記に注意とのこと
- 使用中のインスタンスがAurora v3をサポートしていない場合、インスタンスタイプの変更が必要
- パラメータグループがMySQL 5.7互換とMySQL 8.0互換で異なるため、MySQL 8.0互換のものの準備が必要
パラメータグループの準備
MySQL 8.0互換のパラメータグループの準備は、AWS CLIで既存のMySQL 5.7互換のものからコピーして作成しました
インスタンス・クラスターの設定時に作成したパラメータグループを選択します
AWS CLI設定
[name@domain ~]$ aws configure AWS Access Key ID [****************ABCD]: AWS Secret Access Key [****************1234]: Default region name [ap-northeast-1]: Default output format [json]:
インスタンス用
既存のパラメータからは全てのパラメータをコピーせず、--source user
オプションでユーザが変更したパラメータに絞って移行します
aws rds create-db-parameter-group \ --db-parameter-group-family aurora-mysql8.0 \ --db-parameter-group-name sample-dbparametergroup-new \ --description "RDS DB parameter group the Aurora Cluster's instance(s)." \ --region ap-northeast-1 aws rds describe-db-parameters \ --db-parameter-group-name sample-dbparametergroup-old \ --source user \ > mysql-instance-params-new.json aws rds modify-db-parameter-group \ --db-parameter-group-name sample-dbparametergroup-new \ --cli-input-json file://mysql-instance-params-new.json aws rds describe-db-parameters \ --db-parameter-group-name sample-dbparametergroup-new \ --source user
クラスター用
インスタンス同様、既存のパラメータからは全てのパラメータをコピーせず、--source user
オプションでユーザが変更したパラメータに絞って移行します
aws rds create-db-cluster-parameter-group \ --db-parameter-group-family aurora-mysql8.0 \ --db-cluster-parameter-group-name sample-dbclusterparametergroup-new \ --description "RDS DB cluster parameter group" \ --region ap-northeast-1 aws rds describe-db-cluster-parameters \ --db-cluster-parameter-group-name sample-dbclusterparametergroup-old \ --source user \ > mysql-cluster-params-new.json aws rds modify-db-cluster-parameter-group \ --db-cluster-parameter-group-name sample-dbclusterparametergroup-new \ --cli-input-json file://mysql-cluster-params-new.json aws rds describe-db-cluster-parameters \ --db-cluster-parameter-group-name sample-dbclusterparametergroup-new \ --source user