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 (MySQL 5.7 と互換性あり) では使用できません。

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

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

  • バイナリログが有効になっているか、バイナリログのレプリケーションが進行中である。Aurora MySQL 1.9 以降で、ZDP は正常に実行される場合があります。

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

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

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

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

注記

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

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

関連トピック