MariaDB DB エンジンのアップグレード - Amazon Relational Database Service

MariaDB DB エンジンのアップグレード

新しいバージョンのデータベースエンジンが Amazon RDS でサポートされている場合は、DB インスタンスをその新しいバージョンにアップグレードできます。MariaDB DB インスタンスのアップグレードには、メジャーバージョンのアップグレードとマイナーバージョンのアップグレードの 2 種類あります。

メジャーバージョンのアップグレードには、既存のアプリケーションとの下位互換性のないデータベースの変更が含まれる場合があります。そのため、DB インスタンスのメジャーバージョンアップグレードは手動で実行する必要があります。メジャーバージョンアップグレードを開始するには、DB インスタンスを変更します。ただし、メジャーバージョンのアップグレードを行う前に、「MariaDB のメジャーバージョンアップグレード」の手順を実行することをお勧めします。

それに対して、マイナーバージョンのアップグレードに含まれるのは、既存のアプリケーションとの下位互換性がある変更のみです。マイナーバージョンのアップグレードを手動で開始するには、DB インスタンスを変更します。または、DB インスタンスの作成時または変更時に、[Auto minor version upgrade (マイナーバージョン自動アップグレード)] を有効にすることができます。これにより、Amazon RDS によって新しいバージョンがテストおよび承認されると、DB インスタンスが自動的にアップグレードされます。アップグレードの実行については、「DB インスタンスのエンジンバージョンのアップグレード」を参照してください。

ご使用の MariaDB DB インスタンスでリードレプリケーションを使用している場合は、ソースインスタンスのアップグレード前に、すべてのリードレプリカをアップグレードする必要があります。DB インスタンスがマルチ AZ 配置にある場合、プライマリとスタンバイのレプリカの両方がアップグレードされます。アップグレードが完了するまで、DB インスタンスは使用できない場合があります。

MariaDB でサポートされるバージョンおよびバージョン管理については、「Amazon RDS の MariaDB のバージョン」を参照してください。

注記

データベースエンジンをアップグレードするには、ダウンタイムが必要です。ダウンタイムの時間は、DB インスタンスのサイズによって異なります。

アップグレードの概要

AWS Management Console を使用して DB インスタンスをアップグレードする場合、DB インスタンスの有効なアップグレードターゲットが表示されます。次の AWS CLI コマンドを使用して、DB インスタンスの有効なアップグレードターゲットを特定することもできます。

Linux、macOS、Unix の場合:

aws rds describe-db-engine-versions \ --engine mariadb \ --engine-version version-number \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text

Windows の場合:

aws rds describe-db-engine-versions ^ --engine mariadb ^ --engine-version version-number ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text

例えば、MariaDB バージョン 10.3.13 DB インスタンスの有効なアップグレードターゲットを特定するには、次の AWS CLI コマンドを実行します。

Linux、macOS、Unix の場合:

aws rds describe-db-engine-versions \ --engine mariadb \ --engine-version 10.3.13 \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text

Windows の場合:

aws rds describe-db-engine-versions ^ --engine mariadb ^ --engine-version 10.3.13 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text

Amazon RDS によってアップグレードプロセス中に 2 つの DB スナップショットが作成されます。最初の DB スナップショットは、アップグレードの変更が行われる前の DB インスタンスから作成されます。アップグレードがデータベースに対して機能しない場合は、このスナップショットを復元して、以前のバージョンを実行する DB インスタンスを作成できます。アップグレードが完了すると、2 番目の DB スナップショットが作成されます。

注記

DB インスタンスのバックアップ保持期間を 0 より大きく設定した場合にのみ、Amazon RDS は DB スナップショットを作成します。バックアップ保持期間を変更するには、「Amazon RDS DB インスタンスを変更する」を参照してください。

アップグレードが完了したら、データベースエンジンの前のバージョンに戻すことはできません。前のバージョンに戻す必要がある場合は、作成された最初の DB スナップショットを復元して、新しい DB インスタンスを作成します。

Amazon RDS でサポートされている新しいバージョンに DB インスタンスをアップグレードするタイミングを制御します。このレベルの管理によって、特定のデータベースのバージョンとの互換性を維持しながら、新しいバージョンを本稼働環境にデプロイする前にアプリケーションに対してテストできます。準備が整ったら、自分のスケジュールに最適なタイミングでバージョンアップグレードを実行できます。

ご使用の DB インスタンスでリードレプリカを使用している場合は、ソースインスタンスのアップグレード前に、すべてのリードレプリカをアップグレードする必要があります。

DB インスタンスがマルチ AZ 配置にある場合は、プライマリとスタンバイの両方の DB インスタンスがアップグレードされます。プライマリとスタンバイの DB インスタンスは同時にアップグレードされ、アップグレードが完了するまで停止します。停止時間は、データベースエンジン、エンジンのバージョン、DB インスタンスのサイズによって異なります。

MariaDB のメジャーバージョンアップグレード

メジャーバージョンのアップグレードには、既存のアプリケーションとの下位互換性のないデータベースの変更が含まれる場合があります。そのため、Amazon RDS では、メジャーバージョンアップグレードは自動的に適用されません。DB インスタンスを手動で変更する必要があります。本稼働インスタンスへの適用前に、いずれのアップグレードも徹底的にテストすることをお勧めします。

Amazon RDS では、MariaDB データベースエンジンのメジャーバージョンに対して、以下のインプレースアップグレードをサポートしています。

  • MariaDB 10.2 から MariaDB 10.3 へ

  • MariaDB 10.3 から MariaDB 10.4 へ

  • MariaDB 10.4 から MariaDB 10.5 へ

Amazon RDS で MariaDB バージョン 10.2 DB インスタンスから MariaDB バージョン 10.3 以降へのメジャーバージョンアップグレードを実行するには、まず各メジャーバージョンにアップグレードします (10.2 から 10.3、10.3 から 10.4、そして 10.4 から 10.5 にアップグレードします)。

カスタムパラメータグループを使用しており、メジャーバージョンアップグレードを実行する場合には、新しい DB エンジンバージョンのデフォルトのパラメータグループを指定するか、新しい DB エンジンバージョンの独自のカスタムパラメータグループを作成する必要があります。新しいパラメータグループを DB インスタンスと関連付けるには、アップグレードの完了後に、顧客主導型のデータベースの再起動が必要となります。パラメータグループの変更を適用するためにインスタンスを再起動する必要がある場合には、インスタンスのパラメータグループのステータスとして pending-reboot が表示されます。インスタンスのパラメータグループのステータスは、AWS コンソールで表示するか、describe-db-instances などの「describe」呼び出しを使用して表示することができます。

MariaDB DB インスタンスのアップグレード

MariaDB DB インスタンスの手動または自動アップグレードについては、「DB インスタンスのエンジンバージョンのアップグレード」を参照してください。

MariaDB のマイナーバージョンの自動アップグレード

DB インスタンスの作成または変更時に次の設定を指定すると、DB インスタンスを自動的にアップグレードできます。

  • [マイナーバージョンの自動アップグレード] の設定は有効です。

  • バックアップ保持期間の設定は 0 より大きいです。

これらの設定の詳細については、「DB インスタンスの設定」を参照してください。

一部の AWS リージョンの RDS for MariaDB メジャーバージョンでは、RDS によって 1 つのマイナーバージョンが自動アップグレードバージョンとして指定されます。Amazon RDS でマイナーバージョンのテストと承認が完了すると、メンテナンスウィンドウの間にマイナーバージョンアップグレードが自動的に行われます。RDS では、新しくリリースされたマイナーバージョンが自動アップグレードバージョンとして自動的に設定されることはありません。RDS によって新しい自動アップグレードバージョンが指定される前に、以下のような複数の基準が考慮されます。

  • 既知のセキュリティの問題

  • MySQL コミュニティバージョンのバグ

  • マイナーバージョンがリリースされてからのフリート全体の安定性

次の AWS CLI コマンドとスクリプトを使用して、特定の AWS リージョン内の指定された MariaDB マイナーバージョンの現在の自動マイナーアップグレードターゲットバージョンを確認できます。

aws rds describe-db-engine-versions --output=table --engine mariadb --engine-version minor-version --region region

例えば、次の AWS CLI コマンドにより、米国東部 (オハイオ) AWS リージョン (us-east-2) の MariaDB マイナーバージョン 10.2.11 の自動マイナーアップグレードターゲットを特定できます。

aws rds describe-db-engine-versions --output=table --engine mariadb --engine-version 10.2.11 --region us-east-2

以下のような出力が生成されます。

--------------------------------------------------------------------------------------------- | DescribeDBEngineVersions | +-------------------------------------------------------------------------------------------+ || DBEngineVersions || |+--------------------------------------------------+--------------------------------------+| || DBEngineDescription | MariaDb Community Edition || || DBEngineVersionDescription | MariaDB 10.2.11 || || DBParameterGroupFamily | mariadb10.2 || || Engine | mariadb || || EngineVersion | 10.2.11 || || Status | available || || SupportsGlobalDatabases | False || || SupportsLogExportsToCloudwatchLogs | True || || SupportsParallelQuery | False || || SupportsReadReplica | True || |+--------------------------------------------------+--------------------------------------+| ||| ExportableLogTypes ||| ||+---------------------------------------------------------------------------------------+|| ||| audit ||| ||| error ||| ||| general ||| ||| slowquery ||| ||+---------------------------------------------------------------------------------------+|| ||| ValidUpgradeTarget ||| ||+-------------+------------------+----------+----------------+--------------------------+|| ||| AutoUpgrade | Description | Engine | EngineVersion | IsMajorVersionUpgrade ||| ||+-------------+------------------+----------+----------------+--------------------------+|| ||| False | MariaDB 10.2.12 | mariadb | 10.2.12 | False ||| ||| False | MariaDB 10.2.15 | mariadb | 10.2.15 | False ||| ||| True | MariaDB 10.2.21 | mariadb | 10.2.21 | False ||| ||| False | MariaDB 10.3.8 | mariadb | 10.3.8 | True ||| ||| False | MariaDB 10.3.20 | mariadb | 10.3.20 | True ||| ||| False | MariaDB 10.3.23 | mariadb | 10.3.23 | True ||| ||+-------------+------------------+----------+----------------+--------------------------+||

この例では、AutoUpgrade 値は、True for MariaDB バージョン 10.2.21 の値です。したがって、自動マイナーアップグレードターゲットは MariaDB バージョン 10.2.21 であり、出力で強調表示されています。

MariaDB DB インスタンスは、以下の基準を満たしている場合、メンテナンスウィンドウの間に自動的にアップグレードされます。

  • [マイナーバージョンの自動アップグレード] の設定は有効です。

  • バックアップ保持期間の設定は 0 より大きいです。

  • DB インスタンスでは、現在の自動アップグレードマイナーバージョン未満の DB エンジンのマイナーバージョンが実行されています。

詳細については、「マイナーエンジンバージョンの自動アップグレード」を参照してください。