Aurora Serverless 少し調べたことのまとめ

2分

概要

Aurora Serverless v2 は、Amazon Aurora におけるオンデマンドの自動スケーリング型データベース構成。

スケーリング単位(ACU)

  • Aurora Serverless v2 は ACU(Aurora Capacity Unit) を単位としてスケール
  • 1 ACU ≒ 約 2 GiB メモリ + CPU + ネットワーク

スケーリング方式

クラスター構成

  • ライター + 複数リーダーを持つクラスタ構成
  • 各ノード(ライター・リーダー)が個別にスケール
  • 最大15台のリーダーを追加可能

ACU 設定注意点

    1. 最小容量(Min ACU)設定は以下に影響
    • スケールアップ速度(大きいほど速い)
    • キャッシュ保持(小さすぎるとキャッシュ消える)
    • スパイク耐性
    • 小さすぎると:
      • スケール遅い
      • キャッシュミス増える
      • パフォーマンス悪化
    1. 最大容量(Max ACU)はワークロードピークに合わせて設定
    • 小さすぎると:
      • スケール上限に到達
      • パフォーマンス劣化
    • 大きすぎると:
      • コスト上振れリスク

重要メトリクス

  • ServerlessDatabaseCapacity
    • 現在のDBインスタンスのキャパシティ(ACU: Aurora Capacity Unit)
    • 「今どれくらいスケールしているか(実サイズ)」= 実際に使っているスペックそのもの
    • スケールの動きを把握する / 最小・最大ACU設定が適切か判断する / コストと性能のバランスを見る
  • ACUUtilization
    • 最大ACUに対する現在の使用率(%)
    • 「上限に対してどれくらい余裕があるか」
    • スケール上限に張り付いていないか確認する / 最大ACUの見直し判断 / リーダー追加の判断
  • CPUUtilization
    • 最大ACUに基づいたCPU使用率
    • 「CPUがどれくらい詰まっているか(スケール判断に使われる指標)」
    • CPUボトルネックの検知 / スケールアップ判断 / 読み取り負荷分散の必要性判断
  • FreeableMemory
    • 最大スケール時に利用可能な未使用メモリ量
    • 「あとどれくらいメモリ余裕があるか(上限ベース)」
    • メモリ枯渇の検知 / 最大ACU引き上げ判断 / リーダー追加判断
  • TempStorageIOPS
    • ローカル一時ストレージのIOPS(読み書き回数)
    • 「一時ディスクをどれだけ叩いているか」
    • クエリのspillや一時テーブル多用の検知 / 異常なスケール原因の調査
  • TempStorageThroughput
    • ローカル一時ストレージのデータ転送量(バイト)
    • 「一時ディスクにどれだけデータが流れているか」
    • I/O負荷の分析 / クエリ実行計画の問題特定 / 想定外の負荷増加の検知
  • NetworkReceiveThroughput / NetworkTransmitThroughput など
    • DBインスタンスのネットワークスループット(送受信)
    • 「どれくらい通信しているか」
    • ネットワークボトルネックの検知 / アプリ or ストレージ起因の負荷切り分け / 異常スケールの補助分析

参考資料

さとう

さとう

ソフトウェアエンジニアとして色々開発をしてきました。今はアプリケーション開発からは離れ、クラウド系のお仕事をしています。 ※投稿内容は個人の見解であり、所属組織や団体とは関係ありません。