RDS for MariaDB データベースをアップグレードするときにリードレプリカを使用してダウンタイムを短縮する
ほとんどの場合、MariaDB DB インスタンスをアップグレードする際のダウンタイムを減らすには、ブルー/グリーンデプロイが最適なオプションです。詳細については、「データベース更新のために Amazon RDS ブルー/グリーンデプロイを使用する」を参照してください。
ブルー/グリーンデプロイを使用できず、MariaDB DB インスタンスが現在本稼働アプリケーションで使用されている場合は、次の手順を使用して DB インスタンスのデータベースバージョンをアップグレードできます。この手順により、アプリケーションの停止時間を短縮できます。
リードレプリカを使用して、ほとんどのメンテナンスステップを事前に実行し、実際の停止中に必要な変更を最小限に抑えることができます。この方法で、既存の DB インスタンスを変更せずに、新しい DB インスタンスのテストおよび準備ができます。
次の手順は、MariaDB バージョン 10.5 から MariaDB バージョン 10.6 へのアップグレードの例を示しています。他のメジャーバージョンへのアップグレードに、この同じ一般的なステップを使用できます。
DB インスタンスの使用中に MariaDB データベースをアップグレードするには
-
AWS Management Console にサインインし、Amazon RDS コンソール https://console.aws.amazon.com/rds/
を開きます。 -
MariaDB 10.5 DB インスタンスのリードレプリカを作成します。このプロセスにより、データベースのアップグレード可能なコピーが作成されます。DB インスタンスの他のリードレプリカも存在する場合があります。
コンソールで [データベース] を選択し、アップグレードする DB インスタンスを選択します。
[アクション] で [リードレプリカの作成] を選択します。
リードレプリカの [DB instance identifier] (DB インスタンス識別子) の値を指定し、[DB instance class] (DB インスタンスクラス) とその他の設定がご使用の MariaDB 10.5 DB インスタンスのものと一致していることを確認します。
[Create read replica] を選択します。
-
(オプション) リードレプリカが作成され、ステータスが [利用可能] になったら、リードレプリカをマルチ AZ 配置に変換し、バックアップを有効にします。
デフォルトでは、リードレプリカは、バックアップが無効なシングル AZ デプロイとして作成されます。リードレプリカは最終的に本番 DB インスタンスになるため、ベストプラクティスは、マルチ AZ デプロイを設定し、すぐにバックアップを有効にすることです。
コンソールで [データベース] を選択し、作成したばかりのリードレプリカを選択します。
Modify を選択します。
マルチ AZ 配置で、[スタンバイインスタンスの作成] を選択します。
[Backup Retention Period] (バックアップ保持期間) として、0 以外の正の値 (3 日など) を選択し、[Continue] (続行) を選択します。
[変更のスケジューリング] で、[すぐに適用] を選択します。
[DB インスタンスの変更] を選択します。
-
リードレプリカの [Status] (ステータス) が [Available] (使用可能) になったら、リードレプリカを MariaDB 10.6 にアップグレードします。
コンソールで [データベース] を選択し、作成したばかりのリードレプリカを選択します。
Modify を選択します。
[DB engine version] (DB エンジンバージョン) として、アップグレードする MariaDB 10.6 バージョンを選択し、[Continue] (続行) を選択します。
[変更のスケジューリング] で、[すぐに適用] を選択します。
[Modify DB instance] を選択してアップグレードをスタートします。
-
アップグレードが完了し、[Status] (ステータス) が [Available] (利用可能) になったら、アップグレードしたリードレプリカがソース MariaDB 10.5 DB インスタンスで最新であることを確認します。確認するには、リードレプリカに接続して、
SHOW REPLICA STATUS
コマンドを実行します。Seconds_Behind_Master
フィールドが0
である場合、レプリカは更新されています。注記
MariaDB の旧バージョンは、
SHOW SLAVE STATUS
ではなくSHOW REPLICA STATUS
を使用していました。10.6 より前の MariaDB バージョンを使用している場合は、SHOW SLAVE STATUS
を使用します。 -
(オプション) リードレプリカのリードレプリカを作成します。
DB インスタンスをスタンドアロン DB インスタンスに昇格した後、リードレプリカを追加する場合、すぐにリードレプリカを作成できます。
コンソールで [データベース] を選択し、アップグレードしたばかりのリードレプリカを選択します。
[アクション] で [リードレプリカの作成] を選択します。
リードレプリカの [DB instance identifier] (DB インスタンス識別子) の値を指定し、[DB instance class] (DB インスタンスクラス) とその他の設定がご使用の MariaDB 10.5 DB インスタンスのものと一致していることを確認します。
[Create read replica] を選択します。
-
(オプション) リードレプリカのカスタム DB パラメータグループを設定します。
DB インスタンスをスタンドアロン DB インスタンスに昇格した後、カスタムパラメータグループを使用する場合、すぐにDB パラメータグループを作成して、リードレプリカに関連付けられます。
MariaDB 10.6 のカスタム DB パラメータグループを作成します。手順については、Amazon RDS での DB パラメータグループの作成 を参照してください。
作成したばかりの DB パラメータグループで変更するパラメータを変更します。手順については、「Amazon RDS の DB パラメータグループのパラメータの変更」を参照してください。
コンソールで [データベース] を選択し、リードレプリカを選択します。
Modify を選択します。
[DB parameter group] (DB パラメータグループ) で、作成したばかりの MariaDB 10.6 DB パラメータグループを選択し、[Continue] (続行) を選択します。
[変更のスケジューリング] で、[すぐに適用] を選択します。
[Modify DB instance] を選択してアップグレードをスタートします。
-
MariaDB 10.6 リードレプリカをスタンドアロン DB インスタンスにします。
重要
MariaDB 10.6 のリードレプリカをスタンドアロン DB インスタンスに昇格すると、MariaDB 10.5 DB インスタンスのレプリカではなくなります。MariaDB 10.6 のリードレプリカの昇格は、ソースの MariaDB 10.5 DB インスタンスが読み取り専用モードであり、すべての書き込みオペレーションが停止されているメンテナンスウィンドウ中に行うことをお勧めします。昇格が完了したら、アップグレードした MariaDB 10.6 DB インスタンスに書き込み操作を送信して、書き込み操作が失われないようにできます。
また、MariaDB 10.6 のリードレプリカを昇格する前に、必要なすべてのデータ定義言語 (DDL) のオペレーションを MariaDB 10.6 のリードレプリカに対して実行することをお勧めします。例えば、インデックスの作成があります。これにより、昇格後の MariaDB 10.6 のリードレプリカのパフォーマンスへの悪影響を避けることができます。リードレプリカを昇格させるには、次の手順に従います。
コンソールで [データベース] を選択し、アップグレードしたばかりのリードレプリカを選択します。
[アクション] で、[Promote (昇格)] を選択します。
[はい] を選択して、リードレプリカインスタンスの自動バックアップを有効にします。詳細については、「バックアップの概要」を参照してください。
-
[Continue] (続行) をクリックします。
[Promote Read Replica] を選択します。
-
これで、MariaDB データベースのアップグレードバージョンが作成されました。この時点で、アプリケーションを新しい MariaDB 10.6 DB インスタンスに送信できます。