DB インスタンスのエンジンバージョンのアップグレード - Amazon Relational Database Service

DB インスタンスのエンジンバージョンのアップグレード

Amazon RDS では、サポート対象の各データベースエンジンの新しいバージョンを提供しているため、DB インスタンスを最新の状態に維持することができます。新しいバージョンには、データベースエンジンのバグ修正、セキュリティの強化、およびその他の改善が含まれます。Amazon RDS がデータベースエンジンの新しいバージョンをサポートすると、DB インスタンスをアップグレードする方法とタイミングを選択できます。

アップグレードには、メジャーバージョンのアップグレードとマイナーバージョンのアップグレードの 2 種類があります。一般的に、メジャーエンジンバージョンのアップグレードは、既存のアプリケーションと互換性のない変更を導入する場合があります。それに対して、マイナーバージョンのアップグレードには、既存のアプリケーションとの下位互換性がある変更のみが含まれます。

マルチ AZ DB クラスターの場合、RDS for PostgreSQL のみがサポートされています。マイナーバージョンアップグレードは、マルチ AZ DB クラスターをサポートするすべてのエンジンでサポートされています。詳細については、「Amazon RDS のマルチ AZ DB クラスターのエンジンバージョンのアップグレード」を参照してください。

バージョン番号付けの順序は、各データベースエンジンに固有です。例えば、RDS for MySQL 5.7 および 8.0 は、メジャーエンジンバージョンで、5.7 から 8.0 バージョンへのアップグレードは、メジャーバージョンのアップグレードです。RDS for MySQL 5.7.22 および 5.7.23 は、マイナーエンジンバージョンで、5.7.22 から 5.7.23 へのアップグレードは、マイナーバージョンのアップグレードです。

重要

DB インスタンスをアップグレードしているときは、変更できません。アップグレード中、DB インスタンスのステータスは upgrading です。

特定の DB エンジンのメジャーバージョンおよびマイナーバージョンのアップグレードの詳細については、以下の DB エンジンに関するドキュメントを参照してください。

メジャーバージョンのアップグレードの場合は、AWS Management Console、AWS CLI、または RDS API を通じて、DB エンジンバージョンを手動で変更する必要があります。マイナーバージョンのアップグレードの場合は、エンジンバージョンを手動で変更することも、マイナーバージョン自動アップグレードオプションを有効にすることもできます。

注記

データベースエンジンをアップグレードするには、ダウンタイムが必要です。ブルー/グリーンデプロイを使用することで、DB インスタンスのアップグレードに必要なダウンタイムを最小限に抑えることができます。詳細については、「データベース更新のために Amazon RDS ブルー/グリーンデプロイを使用する」を参照してください。

エンジンバージョンの手動アップグレード

DB インスタンスのエンジンバージョンを手動でアップグレードするには、AWS Management Console、AWS CLI または RDS API を使用することができます。

コンソールを使用して DB インスタンスのエンジンバージョンをアップグレードするには
  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. ナビゲーションペインで、[データベース] を選択し、アップグレードする DB インスタンスを選択します。

  3. Modify を選択します。Modify DB instance ページが表示されます。

  4. [DB engine version] で、新しいバージョンを選択します。

  5. [Continue] を選択して、変更の概要を確認します。

  6. アップグレードをスケジュールするタイミングを決定します。変更をすぐに反映させるには、[Apply immediately] を選択します。このオプションを選択すると、停止状態になる場合があります。詳細については、「スケジュール変更設定の使用」を参照してください。

  7. 確認ページで、変更内容を確認します。正しい場合は、[Modify DB Instance (DB インスタンスを変更)] を選択して変更を保存します。

    または、[Back] を選択して変更を編集するか、[Cancel] を選択して変更をキャンセルします。

DB インスタンスのエンジンバージョンをアップグレードするには、CLI の modify-db-instance コマンドを使用します。以下のパラメータを指定します。

  • --db-instance-identifier ​– DB インスタンスの名前です。

  • --engine-version – アップグレード先のデータベースエンジンのバージョン番号です。

    有効なエンジンバージョンの詳細については、AWS CLI の describe-db-engine-versions コマンドを参照してください。

  • --allow-major-version-upgrade – メジャーバージョンをアップグレードします。

  • --no-apply-immediately ​– 次のメンテナンス時間中に変更を適用します。今すぐ変更を適用するには、--apply-immediately を使用します。

Linux、macOS、Unix の場合:

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --engine-version new_version \ --allow-major-version-upgrade \ --no-apply-immediately

Windows の場合:

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --engine-version new_version ^ --allow-major-version-upgrade ^ --no-apply-immediately

DB インスタンスのエンジンバージョンをアップグレードするには、ModifyDBInstance アクションを使用します。以下のパラメータを指定します。

  • DBInstanceIdentifier – DB インスタンスの名前、例えば mydbinstance です。

  • EngineVersion – アップグレード先のデータベースエンジンのバージョン番号です。有効なエンジンバージョンについては、DescribeDBEngineVersions オペレーションを使用します。

  • AllowMajorVersionUpgrade – メジャーバージョンのアップグレードを許可するかどうか。そのためには、値を true に設定します。

  • ApplyImmediately – 変更をすぐに適用するか、次のメンテナンスウィンドウ中に適用するかを指定します。今すぐ変更を適用するには、値を true に設定します。次のメンテナンスウィンドウ中に変更を適用するには、値を false に設定します。

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

マイナーエンジンバージョンは、メジャーエンジンバージョン内の DB エンジンバージョンへのアップデートです。例えば、メジャーエンジンバージョンは 9.6、マイナーエンジンバージョンはその間の 9.6.11 および 9.6.12 となります。

Amazon RDS がデータベースの DB エンジンバージョンを自動的にアップグレードする場合は、データベースの自動マイナーバージョンアップグレードを有効にできます。

RDS for SQL Server は現在、マイナーバージョンの自動更新をサポートしていません。

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

Amazon RDS は、次の条件を満たす場合、推奨マイナーエンジンバージョンとしてマイナーエンジンバージョンが指定されます。

  • データベースは、推奨マイナーエンジンバージョンより低い DB エンジンのマイナーバージョンを実行中です。

    DB インスタンスの現在のエンジンバージョンは、データベース詳細ページの [設定] タブで、または CLI コマンド describe-db-instances を実行することで確認できます。

  • データベースは、マイナーバージョン自動アップグレードを有効にしています。

RDS では、メンテナンスウィンドウ中にアップグレードが自動で実行されるようスケジュールされます。自動アップグレード中に、RDS によって以下の基本的な手順が実行されます。

  1. 事前チェックを実行して、データベースが正常でアップグレードの準備ができていることを確認する

  2. DB エンジンをアップグレードする

  3. アップグレード後のチェックを実行する

  4. データベースのアップグレードを完了とマークする

自動アップグレードにはダウンタイムが伴います。ダウンタイムの長さは、DB エンジンの種類やデータベースのサイズなど、さまざまな要因によって異なります。

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

以下のタスクを実行すると、DB インスタンスのマイナーバージョン自動アップグレードを有効にするかどうかを制御できます。

これらのタスクを実行すると、次の方法で DB インスタンスのマイナーバージョン自動アップグレードを有効にするかどうかを制御できます。

  • コンソールを使用して、[マイナーバージョン自動アップグレード] を設定します。

  • AWS CLI を使用して、--auto-minor-version-upgrade|--no-auto-minor-version-upgrade オプションを設定します。

  • RDS API を使用して、AutoMinorVersionUpgrade パラメータを設定します。

メンテナンスアップデートの提供状況を確認する

DB エンジンバージョンのアップグレードなど、メンテナンス更新が DB インスタンスで利用可能かどうかを確認するには、コンソール、AWS CLI、または RDS API を使用できます。DB エンジンバージョンを手動でアップグレードして、メンテナンス期間を調整することもできます。詳細については、「DB インスタンスのメンテナンス」を参照してください。

自動マイナーバージョンアップグレードの対象を検索する

次の AWS CLI コマンドを使用すると、特定の AWS リージョン で指定されたマイナー DB エンジンバージョンの自動マイナーアップグレードターゲットの現在のバージョンを確認できます。CreateDBInstanceEngine パラメータの説明で、このコマンドに使用可能な --engine 値を見つけることができます。

Linux、macOS、Unix の場合:

aws rds describe-db-engine-versions \ --engine engine \ --engine-version minor-version \ --region region \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{AutoUpgrade:AutoUpgrade,EngineVersion:EngineVersion}" \ --output text

Windows の場合:

aws rds describe-db-engine-versions ^ --engine engine ^ --engine-version minor-version ^ --region region ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{AutoUpgrade:AutoUpgrade,EngineVersion:EngineVersion}" ^ --output text

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

Linux、macOS、Unix の場合:

aws rds describe-db-engine-versions \ --engine mysql \ --engine-version 8.0.11 \ --region us-east-2 \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{AutoUpgrade:AutoUpgrade,EngineVersion:EngineVersion}" \ --output table

Windows の場合:

aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version 8.0.11 ^ --region us-east-2 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{AutoUpgrade:AutoUpgrade,EngineVersion:EngineVersion}" ^ --output table

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

---------------------------------- | DescribeDBEngineVersions | +--------------+-----------------+ | AutoUpgrade | EngineVersion | +--------------+-----------------+ | False | 8.0.15 | | False | 8.0.16 | | False | 8.0.17 | | False | 8.0.19 | | False | 8.0.20 | | False | 8.0.21 | | True | 8.0.23 | | False | 8.0.25 | +--------------+-----------------+

この例では、MySQL バージョン 8.0.23 のAutoUpgrade値はTrueです。したがって、自動マイナーアップグレードターゲットは MySQL バージョン 8.0.23 であり、出力でハイライトされています。

重要

すぐに RDS for PostgreSQL DB インスタンスを Aurora PostgreSQL DB クラスターに移行する予定がある場合は、移行計画の早い段階で DB インスタンスのマイナーバージョンの自動アップグレードをオフにすることを強くお勧めします。RDS for PostgreSQL バージョンが Aurora PostgreSQL でサポートされていない場合、Aurora PostgreSQL への移行が遅れる可能性があります。Aurora PostgreSQL バージョンについては、Amazon Aurora PostgreSQL のエンジンのバージョンを参照してください。