26
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Aurora MySQL 3で監査ログを有効化しているとCPU使用率が上昇する

Last updated at Posted at 2023-12-08

概要

SREチームが管理する一部のAWSアカウントで、10月25日以降、Aurora MySQLクラスターのCPU使用率が平均して8%ほど上昇する事象が確認されました。

270607e6-9793-5f44-1474-c84946ee7a44.png

事象が確認されたクラスターのインスタンスタイプは t4g.medium のため、CPUベースラインは20% 1 となります。
監視上はCPU使用率が平均20%を超えた場合にアラートを出す設定としており、一次調査を行うことにしました。

発生日時

2023/10/25 23時以降継続的に発生。

調査

  • CPU使用率の上昇は10月25日23時頃から発生。平常時のCPU使用率が平均15%未満に対し、複数のRDSクラスターで突発的にCPU使用率が23%台に上昇。その後 (2023年12月現在) も使用率が下がらない状況となっている。

    Screen_Shot_2023-12-07_at_17_26_31.png
  • 23時台にフェイルオーバーと推測される挙動をメトリクスから確認。
    Screen_Shot_2023-12-07_at_17_31_13.png
  • ワークロードに関連するAPMやメトリクスを確認する限り、急激なスパイクアクセスや高負荷の形跡は見当たらなかった。
    • 該当時間帯にリリースは行われていない。
    • MySQLで SHOW PROCESSLIST を確認しても、負荷の高いクエリは実行されていない。
    • 同様にスロークエリのログも記録されていなかった。
  • 該当時間帯はメンテナンスウィンドウの時間帯に一致していた。このことから、メンテナンスウィンドウ内で行われた何らかのアップデートによりCPU使用率が上昇した可能性が考えられる。

    Screenshot_2023-12-08_at_13_02_46.png
  • 10月25日以降、T系インスタンスで構成される全てのクラスターでCPUクレジットの消費が発生していることを確認。

    Screen_Shot_2023-12-07_at_17_43_01.png
  • CPUクレジット枯渇後、 aws.rds.cpusurplus_credit_balance (CPUSurplusCreditBalance 2) の上昇を検知。

    Screen_Shot_2023-12-07_at_17_45_30.png
  • インスタンスの再起動を試みたところ、再起動直後は15%台 (平常時と同じ) をキープするものの、約24時間経過することで23%台まで上昇することを確認。

    Screen_Shot_2023-12-07_at_18_04_44.png
  • ワークロードの問題か基盤の問題かを切り分けるため、クラスターの接続許可ポートを一時的に使用していない番号に変更。
  • 検証した結果、再起動と同様、一時的にCPU使用率は下がるものの、約24時間経過で23%台まで上昇することを確認できた。

    Screen_Shot_2023-12-07_at_18_04_44.png
  • 事象が発生しているクラスターを元に、最新のスナップショットから新しいクラスターを構築したところ、1週間経過を見てもCPU使用率は11%台をキープし、CPU使用率の上昇は発生しないことを確認できた。

    Screenshot_2023-12-07_at_21_43_54.png
  • 以上の状況から、CPU使用率上昇の原因はワークロードではなく、メンテナンスウィンドウ以降、対象クラスターの基盤に何らかの問題が発生している可能性が考えられる。

原因

上記内容を踏まえてAWSサポートに問い合わせたところ、Aurora MySQLバージョン3.04以降で監査ログの処理に失敗し、CPU使用率が上昇する不具合が確認された。

Screenshot_2024-04-13_at_22_57_27.png

アクションアイテム

アクションアイテム 種類 優先度 担当 対応状況
インスタンス不具合の修正依頼 修復 High AWS AWSサポートの回答によると、インスタンスで発生している不具合に対して (AWS側で) 修正措置が可能とのこと。ただし基盤自体の仮想サーバーホストが入れ替わった場合は効果が失効するため、恒久対応としては修正バージョンのリリースを待つ必要がある。3

という訳で、Aurora MySQLで監査ログを有効化している場合、バージョン3.04以降でCPU使用率が上がる可能性があるようです。
問題が発生したタイミングや影響範囲、今後の対策については引き続きAWSと対応を進め、共有できることがあればこちらに追記していきます。

続報

2024/04/13 追記

2024年3月7日にリリースされた 3.06.0 でこの不具合は解消されたようです。

Screenshot_2024-04-22_at_12_12_15.png

尚、CPU使用率は平均して1〜2%上がるようです。

  1. Earn CPU credits

  2. Monitor your CPU credits for burstable performance instances

  3. Database engine updates for Amazon Aurora MySQL version 3

26
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?