Aurora MySQL データベースエンジンの更新 2023-10-25(バージョン 3.05.0、MySQL 8.0.32 互換) - Amazon Aurora

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Aurora MySQL データベースエンジンの更新 2023-10-25(バージョン 3.05.0、MySQL 8.0.32 互換)

バージョン: 3.05.0

Aurora MySQL 3.05.0 は一般公開されています。Aurora MySQL 3.05 バージョンは、MySQL 8.0.32 と互換性があります。これまでのコミュニティ版の変更点の詳細については、「MySQL 8.0 Release Notes」を参照してください。

Aurora MySQL バージョン 3 の新機能の詳細については、「Aurora MySQL バージョン 3 は MySQL 8.0 との互換性があります」を参照してください。Aurora MySQL バージョン 3 と Aurora MySQL バージョン 2 の違いについての詳細は、「Aurora MySQL バージョン 2 と Aurora MySQL バージョン 3 の比較」を参照してください。Aurora MySQL バージョン 3 と MySQL 8.0 Community Edition の比較については、「Aurora MySQL バージョン 3 と MySQL 8.0 コミュニティエディションの比較」を参照してください。

現在サポートされている Aurora MySQL リリースは、2.07.9、2.07.10、2.11.*、2.12.*、3.03.*、3.04.*、3.05.* です。

現在サポートされている Aurora MySQL バージョン 2 クラスターから Aurora MySQL バージョン 3.05.0 クラスターへのインプレースアップグレード、スナップショットの復元、Amazon RDS ブルー/グリーンデプロイによるマネージドブルー/グリーンアップグレードの開始を行うことができます。

Aurora MySQL バージョン 3 へのアップグレードの計画については、「Amazon Aurora ユーザーガイド」の「Upgrade planning for Aurora MySQL version 3」を参照してください。Aurora MySQL のアップグレードに関する一般的な情報については、「Amazon Aurora ユーザーガイド」の「Amazon Aurora MySQL DB クラスターのアップグレード」を参照してください。

トラブルシューティング情報については、「Aurora MySQL バージョン 3 のアップグレードに関する問題のトラブルシューティング」を参照してください。

質問や懸念がある場合は、 AWS コミュニティフォーラムやSupport AWS を通じてSupport を受けることができます。詳細については、「Amazon Aurora ユーザーガイド」の「Amazon Aurora DB クラスターのメンテナンス」を参照してください。

改良点

新機能:

  • KMS キー (SSE-KMS) で暗号化された Amazon S3 バケット内のテキストファイルに Aurora MySQL データベースクラスターからデータを保存できるようになりました。詳細については、「Amazon Aurora MySQL DB クラスターから Amazon S3 バケット内のテキストファイルへのデータの保存」を参照してください。

  • エンジンで使用されているタイムゾーン (TZ) 情報の最新バージョンを示す新しいグローバルステータス変数 aurora_tmz_version が追加されました。この値は IANA タイムゾーンデータベースのバージョンに従い、「YYYYsuffix」という形式になっています (例:2022a と 2023c)。詳細については、「Aurora MySQL グローバルステータス変数」を参照してください。

以下のセキュリティの問題と CVE の修正:

マネージド型の環境での処理を微調整するための修正およびその他の機能強化。以下の CVE の追加の修正:

可用性の向上:

  • パラレルクエリを使用する Aurora MySQL データベースインスタンスで、多数のパラレルクエリを同時に実行すると、データベースが再起動する問題を修正しました。

  • 監査ログ記録のスレッドが原因でロック競合が発生し、最終的に CPU 使用率が高くなり、クライアントアプリケーションがタイムアウトする問題を修正しました。

  • 拡張バイナリログ (binlog) が有効になっているバイナリログレプリカクラスターで、いずれかのバイナリログソースで gtid_modeON または ON_PERMISSIVE に設定されている場合に、実行された GTID セットが誤って復元されることがある問題を修正しました。この問題が原因で、レプリカクラスターのライターインスタンスが復元中にさらに再起動したり、実行された GTID セットを照会したときに誤った結果が返されたりする可能性があります。

  • 拡張バイナリログが有効になっている場合に解放可能なメモリが減少し、Aurora MySQL データベースインスタンスが再起動またはフェイルオーバーする原因となる、メモリ管理の問題を修正しました。

  • 削除されたテーブルに属するデータベースページを読み取ろうとした場合に、データベースインスタンスが再起動する問題を修正しました。

  • ライターインスタンスがデータベースボリュームを拡大させ、160 GB の倍数に達すると、リーダーインスタンスが再起動する問題を修正しました。

  • 拡張バイナリログ機能が有効になっている Aurora MySQL データベースインスタンスが、バイナリログの復旧プロセスが実行されている場合に、起動中に停止してしまう問題を修正しました。

  • 大規模なロールバックセグメントが初期化されている間、Aurora MySQL データベースインスタンスが起動中に複数回再起動する可能性がある問題を修正しました。

  • ダウンタイムのないパッチ適用中にインスタンスが再起動し、データベース接続が予期せず切断される問題を修正しました。

  • SHOW STATUS ステートメントと PURGE BINARY LOGS ステートメントを同時に実行すると、デッドラッチが原因でデータベースインスタンスが再起動する可能性がある問題を修正しました。purge binary logs は、ユーザーが設定したバイナリログの保持期間に従って実行されるマネージドステートメントです。

  • データベースが内部システムテーブルでトリガーを作成または削除しているときにライターインスタンスが再起動すると、データベースクラスターが使用できない状態になる問題を修正しました。

  • Aurora レプリカのあるクラスターで拡張バイナリログ機能を使用する場合、セマフォの待機時間が長くなり、データベースインスタンスが再起動する可能性がある問題を修正しました。

  • 集計関数を参照するクエリの実行中に、データベースインスタンスが再起動する可能性がある問題を修正しました。

  • Aurora Serverless v2 がスケーリング中に誤ってテーブルキャッシュの更新を試みた場合に、まれにデータベースインスタンスが再起動する可能性がある問題を修正しました。

  • 中間一時テーブルを実体化 (マテリアライズ) する際に、共通テーブル式 (CTE) に対してサポートされていないインデックススキャンのアクセス手法が検討され、データベースの再起動や誤ったクエリ結果など、望ましくない挙動が生じる可能性がある問題を修正しました。 TempTable ストレージエンジンを使用するテーブルで、このようなサポートされていないインデックススキャンアクセス方法を使用しないようにすることで、この問題を解決しました。

全般的な機能強化:

  • Aurora MySQL 3.04.0 で実行されている Aurora Serverless v2 データベースクラスターで拡張バイナリログが有効になっている場合に、データベースが使用できなくなることがある問題を修正しました。

  • 拡張バイナリログ機能が有効になっている場合は、Aurora ストレージへの書き込み前に、未使用のストレージメタデータが削除されます。その結果、ネットワーク上で転送されるバイト数が増えて書き込み遅延が長くなり、データベースの再起動やフェイルオーバーが発生する特定のシナリオを回避できます。

  • performance_schemamalloc_stats テーブルと malloc_stats_totals テーブルが追加され、内部メモリアロケータである Jemalloc の動作を制御する 3 つの高度なシステム変数が追加されました。

    • aurora_jemalloc_background_thread.

    • aurora_jemalloc_dirty_decay_ms.

    • aurora_jemalloc_tcache_enabled.

  • アップグレード時または移行時に Aurora 固有のパフォーマンススキーマテーブルが作成されない問題を修正しました。

  • 新しいシステム変数 aurora_use_vector_instructions が追加されました。このパラメータが有効な場合、Aurora MySQL は、最適化されたベクトル処理命令を使用して I/O 負荷の高いワークロードのパフォーマンスを向上させます。Aurora MySQL 3.05 以降では、この設定がデフォルトで ON になっています。詳細については、「Aurora MySQL 設定パラメータ」を参照してください。

  • 拡張バイナリログが有効になっていると、NumBinaryLogFiles CloudWatch メトリクスに誤った結果が表示されることがある問題を修正しました。

  • Amazon Sagemaker に対する Aurora MySQL 機械学習オペレーションのリクエストタイムアウトが 3 秒から 30 秒に延長されました。これにより、バッチサイズが大きい場合に、Aurora MySQL 機械学習から Amazon Sagemaker へのリクエストの再試行回数や失敗回数が増えるという問題を解決できます。

  • performance_schema データベース内の malloc_stats テーブルと malloc_stats_totals テーブルのサポートが追加されました。

  • LOAD DATA FROM S3 コマンドの FROM キーワードが更新され、オプションになりました。詳細については、「Amazon S3 バケットのテキストファイルから Amazon Aurora MySQL DB クラスターへのデータのロード」を参照してください。

  • パラメータ innodb_aurora_instant_alter_column_allowed のサポートが追加されました。このパラメータは、INSTANT アルゴリズムを ALTER COLUMN オペレーションに使用できるかどうかを制御します。詳細については、「クラスターレベルのパラメータ」を参照してください。

  • 書き込み転送が有効になっていると、クライアントからデータベースへの新しい接続が確立されないことがある問題を修正しました。

  • table_open_cache データベースパラメータの変更が、データベースインスタンスを再起動するまで有効にならないことがある問題を修正しました。

  • スナップショットの復元、バックトラック、またはデータベースのクローン作成のオペレーション後に、降順インデックスを使用する AUTO_INCREMENT 列で重複キーエラーが発生する可能性がある問題を修正しました。

  • GROUP BY 句を使用し、aurora_parallel_query パラメータを ON に指定した SELECT クエリを実行すると、不正確な結果が返されることがある、インデックススキャンに関する問題を修正しました。

  • INFORMATION_SCHEMA INNODB_TABLESPACES テーブルに対してクエリを実行すると、使用可能なメモリが枯渇する可能性がある問題を修正しました。

  • リーダーインスタンスがテーブルを開くことができず、ERROR 1146 が発生する問題を修正しました。この問題は、ライターインスタンスで INPLACE アルゴリズムが使用されている間に、特定の種類のオンラインデータ定義言語 (DDL) を実行すると発生します。

  • 内部モニタリングプロセスが重複するスケーリングリクエストを誤って送信した場合に、Aurora Serverless v2 のスケーリング中にインスタンスの再起動を回避するため、問題を修正しました。

  • 接続先のバイナリログ (binlog) コンシューマーが、重複するバイナリログレプリケーションサーバー ID を使用している場合に、データベースが再起動する問題を修正しました。

  • Aurora MySQL が管理するバイナリログレプリカ用のインメモリリレーログキャッシュを導入しました。この改善により、バイナリログのレプリケーションスループットを最大 40% 向上させることができます。この拡張機能は、シングルスレッドのバイナリログレプリケーションを使用する場合や、GTID 自動配置を有効にしたマルチスレッドレプリケーションを使用する場合に自動的に有効になります。

アップグレードと移行:

  • MySQL 5.7 から MySQL 8.0 にアップグレードする際に、1 つのデータベースに多数のテーブルがある場合、サーバーがメモリを過剰に消費していました。テーブルをアップグレードできるかどうかを確認する過程で、データディクショナリ Table オブジェクトをすべて事前に取得し、それぞれを処理して名前を取得してから、リストに対してバージョン互換性の確認を実行していたことが判明しました。この場合、すべてのオブジェクトを事前に取得する必要はなく、そのせいでメモリ消費量に大きな影響が出ていました。この問題を解決するために、このような場合には、一度に 1 つずつ Table オブジェクトを取得し、必要なチェックをすべて実行して名前を取得し、オブジェクトを解放してから、次のオブジェクトに進むことにしました。(バグ #34526001)

  • データベースインスタンスで利用可能な vCPU をすべて使用してテーブルスペースチェックを並列実行することで、Aurora MySQL バージョン 2 からバージョン 3 へのメジャーバージョンアップグレードのパフォーマンスが向上しました。

MySQL Community Edition でのバグ修正の統合

このリリースには、以下を含め、8.0.32 までのコミュニティ版のバグ修正がすべて反映されています。詳細については、「MySQL 3.x データベースエンジンの更新で修正された MySQL のバグ」を参照してください。

  • バックグラウンドの TLS 証明書のローテーションが原因で CPU 使用率が高くなる問題を修正しました。(コミュニティのバグ修正 #34284186)