Amazon Aurora
Aurora のユーザーガイド

Amazon Aurora MySQL のデータベースエンジンの更新

Amazon Aurora は定期的に更新をリリースします。更新はシステムメンテナンスの時間中に Aurora DB クラスターに適用されます。更新が適用されるタイミングは、リージョンや DB クラスターのメンテナンスウィンドウの設定、および更新のタイプによって異なります。

更新は、DB クラスター内のすべてのインスタンスに同時に適用されます。更新では、DB クラスター内のすべてのインスタンスでデータベースを再起動する必要があるため、20〜30 秒のダウンタイムが発生します。その後、DB クラスターの使用を再開できます。AWS マネジメントコンソール でメンテナンスウィンドウの設定を表示または変更できます。

Aurora MySQL バージョン

Aurora と MySQL の互換性 は、MySQL データベースエンジンと互換性がありますが、Aurora MySQL には Aurora MySQL 固有の機能があり、Aurora MySQL DB クラスターのみが使用できます。

Aurora バージョンは <major version>.<minor version>. <patch version> の形式を使用します。AURORA_VERSION システム変数のクエリを実行することにより、Aurora のバージョンを取得できます。Aurora のバージョンを取得するには、次のいずれかのクエリを使用します。

select AURORA_VERSION(); select @@aurora_version;

Aurora MySQL エンジンバージョン

Aurora MySQL 2.03.2 以降、Aurora エンジンバージョンの構文は次のとおりです。

<mysql-major-version>.mysql_aurora.<aurora-mysql-version>

たとえば、Aurora MySQL 2.03.2 のエンジンバージョンは次のとおりです。

5.7.mysql_aurora.2.03.2

注記

Aurora MySQL 2.x の場合、Aurora MySQL バージョン 2.03.1 以下のエンジンバージョンは 5.7.12 です。現在、Aurora MySQL 1.x のすべてのバージョンにおいて、エンジンバージョンは 5.6.10a です。

Aurora MySQL エンジンバージョンは、一部の AWS CLI コマンドと RDS API オペレーションで指定します。たとえば、--engine-version オプションは、AWS CLI の create-db-cluster コマンドと modify-db-cluster コマンドを実行するときに指定します。EngineVersion パラメータは、RDS API の CreateDBCluster オペレーションと ModifyDBCluster オペレーションを実行するときに指定します。

Aurora MySQL 2.03.2 より前のバージョンでは、クラスターのエンジンをアップグレードした後でも、AWS マネジメントコンソール に表示されるエンジンバージョンが同じまま変わりませんでした。Aurora MySQL2.03.2 以上では、AWS マネジメントコンソール のエンジンバージョンに Aurora バージョンも含まれます。クラスターのアップグレードに伴って、表示される値が変わります。AWS CloudFormation を通じて管理される Aurora クラスターの場合、この EngineVersion 設定の変更に伴って、AWS CloudFormation によるアクションがトリガーされる場合があります。EngineVersion 設定の変更を AWS CloudFormation で処理する方法については、AWS CloudFormation のドキュメントを参照してください。

Amazon Aurora MySQL のデータベースアップグレードおよびパッチ

DB クラスターのマイナーバージョンをアップグレードしたり、DB クラスターを修正したりするには、2 つの方法があります。

エンジンバージョンの変更

Amazon Aurora MySQL バージョン 2.03.2 以上にアップグレードする場合は、DB クラスターのマイナーバージョンをアップグレードします。これを行うには、AWS マネジメントコンソール、AWS CLI、または RDS API を使用して DB クラスターのエンジンバージョンを変更します。

DB クラスターのエンジンバージョンを変更するには

  • Amazon RDS コンソールを使用する場合 – 以下のステップを実行します。

    1. Amazon RDS コンソールにサインインし、[データベース] を選択します。

    2. 変更する DB クラスターを選択します。

    3. [変更] を選択します。

    4. [DB エンジンのバージョン] ボックスで、Aurora MySQL エンジンバージョンを変更します。

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

    6. (省略可能) 変更をすぐに適用するには、[すぐに適用] を選択します。

    7. 確認ページで、[クラスターの変更] を選択します。

  • AWS CLI を使用する場合 – AWS CLI の modify-db-cluster コマンドを呼び出し、DB クラスターの名前を --db-cluster-identifier オプションで指定して、エンジンバージョンを --engine-version オプションで指定します。

    たとえば、Aurora MySQL バージョン 2.03.2 にアップグレードするには、--engine-version オプションを 5.7.mysql_aurora.2.03.2 に設定します。DB クラスターのエンジンバージョンをすぐに更新するには、--apply-immediately オプションを指定します。

  • Amazon RDS API を使用する場合ModifyDBCluster API オペレーションを呼び出し、DB クラスターの名前を DBClusterIdentifier パラメータで指定して、エンジンバージョンを EngineVersion パラメータで指定します。DB クラスターのエンジンバージョンをすぐに更新するには、ApplyImmediately パラメータを true に設定します。

Aurora MySQL DB クラスターへ保留中のメンテナンスの適用

Aurora MySQL バージョン 1.x のバージョンにアップグレードする場合、新しいデータベースエンジンのマイナーバージョンとパッチは、DB クラスターの使用可能なメンテナンスアップグレードとして表示されます。使用可能なメンテナンスアクションを適用することで、DB クラスターのデータベースバージョンをアップグレードまたは修正できます。新しいバージョンの変更がインスタンスやアプリケーションに及ぼす影響を確認するために、最初に本番稼働用以外の DB クラスターに更新を適用することをお勧めします。

保留中のメンテナンスアクションを適用するには

  • Amazon RDS コンソールを使用する場合 – 以下のステップを実行します。

    1. Amazon RDS コンソールにサインインし、[データベース] を選択します。

    2. メンテナンスアップグレードが [available] と表示されている DB クラスターを選択します。

    3. [アクション] で、[今すぐアップグレード] を選択して DB クラスターのデータベースバージョンをすぐに更新するか、[次のウィンドウでアップグレード] を選択して DB クラスターの次のメンテナンスウィンドウ中にデータベースバージョンを更新します。

  • AWS CLI を使用apply-pending-maintenance-action AWS CLI コマンドを呼び出して、--resource-id オプションに DB クラスターの Amazon リソースネーム (ARN) を指定し、--apply-action オプションに system-update を指定します。--opt-in-type オプションを immediate に設定して DB インスタンスのデータベースバージョンをすぐに更新するか、next-maintenance に設定して DB クラスターの次のメンテナンスウィンドウ中にデータベースバージョンを更新します。

  • Amazon RDS API を使用ApplyPendingMaintenanceAction API オペレーションを呼び出して、ResourceId パラメータに DB クラスターの ARN を指定し、ApplyAction パラメータに system-update を指定します。OptInType パラメータを immediate に設定して DB クラスターのデータベースバージョンをすぐに更新するか、next-maintenance に設定して クラスターの次のメンテナンスウィンドウ中にインスタンスのデータベースバージョンを更新します。

Amazon RDS がデータベースとオペレーティングシステムの更新を管理する方法の詳細については、「Amazon AuroraDB クラスターのメンテナンス」を参照してください。

注記

現行の Aurora MySQL バージョンが 1.14.x だが、1.14.4 より低い場合は、1.14.4 (db.r4 インスタンスクラスをサポート) にのみアップグレードできます。また、Aurora MySQL を 1.14.x からより高いマイナーバージョン (例: 1.17) にアップグレードするには、1.14.x バージョンが 1.14.4 であることが必要です。

ダウンタイムのないパッチ適用

ダウンタイムのないパッチ適用 (ZDP) 機能では、ベストエフォートに基づいて、エンジンパッチ中のクライアント接続を維持するよう試みます。ZDP が正常に実行されると、アプリケーションのセッションが保持され、パッチ適用中にデータベースエンジンが再起動します。データベースエンジンを再起動すると、約 5 秒間、スループットが低下することがあります。ZDP は、Aurora MySQL 1.13 以降(MySQL 5.6 と互換性あり)で使用できます。Aurora MySQL 2.07 以降(MySQL 5.7 と互換性あり)でも使用できます。

ZDP は、以下の状態では正常に実行されない場合があります。

  • 長期実行クエリまたはトランザクションが進行中である。この場合に Aurora が ZDP を実行できると、未処理のトランザクションはすべてキャンセルされます。

  • バイナリログが有効になっているか、バイナリログのレプリケーションが進行中である。

  • オープン SSL 接続がある。

  • 一時テーブルまたはテーブルロックが使用中です (たとえば、DDL ステートメント時)。この場合に Aurora が ZDP を実行できると、未処理のトランザクションはすべてキャンセルされます。

  • パラメータの変更が保留中である。

Aurora MySQL 1.19 および 2.07 以降、ZDP メカニズムは向上しました。こうした機能向上によって、長期実行トランザクション、バイナリログ、テーブルロック、または一時テーブルがあるときに ZDP の成功する可能性が高まります。

上記の状態のいずれかにより、ZDP を実行するための適切な時間枠が確保されない場合、パッチ適用はデフォルトの動作に戻ります。

注記

  • ZDP は クラスターのプライマリ DB インスタンスにのみ適用されます。ZDP は Aurora レプリカには適用できません。

  • 準備済みステートメントは、ZDP の実行を妨げませんが、ZDP が実行された後は保持されません。

Aurora MySQL 長期サポート (LTS) リリース

新しい Aurora MySQL バージョンは、それぞれ DB クラスターを作成またはアップグレードする際に一定期間使用できます。この期間後は、そのバージョンを使用するためにクラスターをアップグレードする必要があります。サポート期間終了の際にクラスターを手動でアップグレード、または Aurora MySQL バージョンがサポートされなくなると同時にAurora は自動的にアップグレードできます。

Aurora は、特定の Aurora MySQL バージョンを「長期サポート」 (LTS) リリースとして指定します。LTS リリースを使用する DB クラスターは、非 LTS リリースを使用するクラスターよりも同じバージョンに長くとどまり、アップグレードサイクルの数は少なくなります。Aurora は、リリースが利用可能になってから少なくとも 1 年間、各 LTS リリースをサポートします。LTS リリースにある DB クラスターをアップグレードする必要がある場合、Aurora は次の LTS リリースにアップグレードされます。これで、クラスターを長時間再度アップグレードする必要はありません。

Aurora MySQL LTS リリースの存続期間中、新しいパッチレベルは重要な問題の修正を導入します。パッチレベルには、新しい機能は含まれていません。LTS リリースを実行している DB クラスターにこのようなパッチを適用するかどうかを選択できます。特定の重要な修正については、Amazon は同じ LTS リリース内のパッチレベルへのマネージドアップグレードを実行する場合があります。そのようなマネージドアップグレードは、クラスターのメンテナンスウィンドウで自動的に実行されます。

ほとんど Aurora MySQL クラスターでは、LTS リリースを使用する代わりに、最新リリースへのアップグレードを推奨します。これにより、マネージドサービスとして Aurora を利用して最新の機能とバグ修正にアクセスできます。LTS リリースは、次の要件とビジネスニーズを持つクラスターが対象です。

  • 重要なパッチの稀な問題以外のアップグレードのために、Aurora MySQL アプリケーションのダウンタイムに対応する余裕はありません。

  • クラスターおよび関連アプリケーションのテストサイクルは、Aurora MySQL データベースエンジンの更新ごとに時間がかかります。

  • Aurora MySQL クラスターのデータベースバージョンには、アプリケーションに必要なすべての DB エンジン機能とバグ修正が含まれています。

この Aurora ユーザーズガイド の発行日現在、Aurora MySQL の現在の LTS リリースは以下のとおりです。

関連トピック