RDSマイグレーション
Aurora
アップグレード中のダウンタイムを最小限に抑えるために、ブルー/グリーンデプロイの作成を検討してください
ブルーグリーンデプロイ
メンテナンス表示しておいて特定環境からのみトラフィックを通すようにするべきか
レプリケーション
グリーン環境のデータベースを読み取り専用に保つ
レプリケーションの競合が発生するため
リードレプリカとは違う
リードレプリカはリアルタイムではない
マスターDBへの負荷分散が目的
物理レプリケーション
WALファイルがプライマリデータベースからセカンダリデータベースに送信されるブロックレベルのレプリケーション
参考
以下のエラーが出た。
Blue/Green Deployments require a DB cluster with logical replication enabled. Before you create a Blue/Green Deployment for a DB cluster, associate the DB cluster with a custom DB cluster parameter group that enables logical replication.
mysqlの場合
binlog_formatをROWなどにする
バイナリログの有効化が必要
論理レプリケーションの有効化が必要
PostgreSQL
クラスターの論理レプリケーション
---
事前にチェックが走る
アップグレードに失敗した場合はロールバックされる
DB クラスターのクローン作成によるアップグレードのシミュレーション
インプレースアップグレードの実行手順
テストクラスターを作成してテスト(クローン)
アップグレード時にクラスターのワークロードが低いか、0 であることを確認
事前チェック
非互換性が見つかった場合、アップグレードがキャンセルされる
アップグレードが失敗するとロールバックされる
スナップショット自動作成
手順
DBエンジン変更
デフォルトのパラメータグループが適用される
カスタムパラメータグループを適用していた場合、事前にバージョン3用のカスタムパラメータグループを用意しておき、アップグレード完了後に手動で適用する必要がある
[* 互換性注意]
lower_case_table_names
Unicode、utf8mb3
InnoDB テーブル
他確認項目
空間インデックス
Unicode サポートが向上するように、utf8mb3 文字セットを使用するように、utf8mb4 文字セットを使用するオブジェクトを変換することを検討してください。utf8mb3 文字セットは廃止されました。また、utf8mb4 の代わりに utf8 を文字セット参照に使用することを検討してください。現在 utf8 は utf8mb3 文字セットの別名であるためです。
詳細については、MySQL ドキュメントの「utf8mb3 文字セット (3 バイトの UTF-8 Unicode エンコード)」を参照してください。
DB インスタンスがアップグレードで停止される前に事前チェックが実行されます。つまり、実行時にダウンタイムが発生することはありません。事前チェックで非互換性が見つかった場合、DB インスタンスが停止する前に、Amazon RDS により自動的にアップグレードがキャンセルされます。
非互換性が見つかった場合、アップグレードがキャンセルされる
アップグレードが失敗するとロールバックされる
mysql 8,0の変更点
延長サポート
Amazon RDS の Aurora MySQL バージョン 2 の延長サポートは 2024 年 11 月 1 日に開始されますが、2024 年 12 月 1 日まで課金されません。2024 年 11 月 1 日から 11 月 30 日までの間、すべての Aurora MySQL バージョン 2 DB クラスターは Amazon RDS 延長サポートの対象となります。
延長サポート料金
1vcpu/monthあたり$89みたい
<br> 1 年目と 2 年目の料金 3 年目の料金*
Aurora Serverless V2 USD 0.102/ACU-時間 USD 0.204/ACU-時間
プロビジョンドインスタンス USD 0.12/VCPU-時間 USD 0.24/VCPU-時間
db.t3.small
すべての 2.x バージョン。3.x バージョンはサポート対象外
--
移行方針
手動メンテナンスモード
4時間ぐらいのメンテナンス時間を設けるか
ロールバックできるようにしておく
ブルーグリーンデプロイ
方針
バイナリログを有効化して、ブルーグリーンデプロイするか
--
メモ
オートインクリメント、注意?リセットされる場合がある?