【Cloud Automator】Aurora Serverless v2 のコスト削減を支援する新アクション「RDS(Aurora): DBクラスターのACUを変更」

記事タイトルとURLをコピーする

Cloud Automator に、Aurora Serverless v2 の ACU(Aurora Capacity Unit:処理能力を表す単位)を、ジョブから変更できる新しいアクション「RDS(Aurora): DBクラスターのACUを変更」を追加しました。

スケジュール実行と組み合わせることで、「必要なときだけリソースを使う」運用をシンプルに実現し、開発環境から本番環境まで Aurora Serverless v2 のコスト最適化を支援します。

Aurora Serverless v2 運用でよくある「コストのムダ」

Aurora Serverless v2 では、「下げられるのに下げていない ACU」がじわじわとコストを押し上げがちです。
代表例は次の 3 つです。

  • 日中しか使わない開発・検証環境なのに、夜間や土日・祝日も高めの Min ACU を維持している
  • 夜間バッチのために Min ACU を常に高くしており、処理していない時間帯も高コストになっている
  • ECS タスク数を 0 にしても、Aurora Serverless v2 の ACU が十分に下がらず課金され続けている

たとえば、開発環境で Min ACU = 2 を常に維持しているケースを考えます。
Aurora Serverless v2 の料金を 0.12 USD/ACU 時間と仮定すると、24 時間 × 30 日動かし続けた場合は次のようになります。

  • 2 × 0.12 × 24 × 30 ≒ 172.8 USD/月

しかし、実際に使うのが「平日の日中 8 時間 × 20 日」だけなら、それ以外の時間帯は Min ACU を 0 に縮退できます。

  • 2 × 0.12 × 8 × 20 = 38.4 USD/月

つまり、1 クラスターあたり 約 134 USD/月 の差になります。

同様の開発・検証環境クラスターが複数存在したり、本番環境でもピーク時間に合わせた余裕の ACU を常に維持していると、月次コストにとって無視できない増加要因となります。

時間帯とカレンダーに応じて「必要なときだけ ACU を確保する」

新アクション「RDS(Aurora): DBクラスターのACUを変更」は、こうした無駄な ACU 維持を減らすために、Cloud Automator のアクションから Aurora Serverless v2 の Min/Max ACU (最小/最大 ACU)を変更し、時間帯やカレンダー(平日 / 土日・祝日)に合わせて「必要なときだけ処理能力を確保する」状態をつくるためのアクションです。

Cloud Automator のジョブとして設定することで、

  • いつ、どのクラスターの ACU を、どの値に変更するか
  • その変更がいつ実行され、成功 / 失敗したか

を履歴として確認でき、人手のミスや設定漏れを減らしながら、安全にスケール運用を自動化できます。

さらに、Cloud Automator のジョブワークフロー機能を使えば、他のアクションと組み合わせた高度な運用も可能です。
たとえば、「ECS: サービスのタスク数を変更」アクションと連携させることで、

  • ECS タスクを 0 にする
  • 連動して Aurora Serverless v2 の Min ACU も 0 にする

といった、アプリケーション+DB 両方の縮退を 1 つのジョブワークフローとして自動化できます。
このほかにも、Aurora Serverless v2 の ACU 変更前後に他アクションを挟んだり、複数環境を一括制御したりといった柔軟な運用が実現できます。

2 つの指定方法

本アクションでは、対象クラスターを次の 2 つの方法で指定できます。

1. 単一クラスターの Min/Max ACU を変更

特定の DB クラスターを 1 件指定し、そのクラスターの Min ACU / Max ACU を更新します。

  • 例:開発環境クラスターの Min ACU を、平日の日中は 2、夜間や土日・祝日は 0 に設定
  • 例:本番バッチ実行前に、一時的に Max ACU を引き上げて処理性能を確保

2. タグで抽出した複数クラスターの Min/Max ACU を一括変更

Env=DevAutoScaling=true などのタグで対象クラスターを一括抽出し、共通の Min/Max を適用します。

  • 例:Env=Dev タグ付きのすべての開発環境クラスターの Min ACU を、夜間だけ 0 に縮退
  • 例:Project=campaign-2025 タグ付きクラスター群の Max ACU を、キャンペーン期間中だけ拡大

代表的なユースケース

1. 開発・検証環境の夜間/休日 ACU 縮退

  • 平日 9:00 に、開発環境クラスターの Min ACU を 2 に設定
  • 平日 19:00 に、Min ACU を 0 に設定
  • 土日・祝日は、一日中 Min ACU を 0 に維持

「日中しか使わない開発環境」の Aurora Serverless v2 を、実際に利用する時間帯だけ ACU を上げる運用に切り替えられます。

2. 夜間バッチや昼休み前の事前スケール

  • 夜間バッチ開始前に、対象クラスターの Min ACU を一時的に引き上げる
  • バッチ処理完了後に、元の Min/Max に戻す
  • 平日 11:45 に Min ACU を増やし、13:15 に元に戻す

CloudWatch メトリクスベースの Auto Scaling だけでは追従しきれない「一気に増える負荷」に対して、時間指定の事前スケールで備えることで、レスポンス悪化やエラー増加を防ぎつつ、その他の時間帯は ACU を抑えてコスト削減を図れます。

3. キャンペーン期間中だけスケール幅を拡大

  • Project=campaign-2025 タグ付き Aurora Serverless v2 クラスター群の Min/Max ACU を、キャンペーン期間中だけ拡大
  • キャンペーン終了後に、Min/Max を元の値に戻す

これにより、キャンペーン期間中はピークに耐えられるようスケール幅を広げつつ、終了後は速やかに元の設定へ戻すことで、一時的な増強に伴うコストを必要最小限に抑えることができます。

アクション設定の流れ

Aurora Serverless v2 の Min/Max ACU を変更するジョブの設定手順は次のとおりです。

1. Cloud Automator のジョブ作成画面で、アクションとして「RDS(Aurora): DBクラスターのACUを変更」を選択します。

2. アクションを実行する AWS アカウントを選択します。

3. アクションのパラメーターを設定します。

各パラメーターの詳細については、アクションのマニュアルをご確認ください。

まとめ

Aurora Serverless v2 の運用コストは、「使わない時間帯は縮退する」「ピーク時間帯だけ事前にスケールする」運用ができるかどうかで大きく変わります。
Cloud Automator の新アクション「RDS(Aurora): DBクラスターのACUを変更」を使うことで、時間帯・カレンダーに沿った ACU の制御を自動化し、コスト削減と性能確保を両立できます。
ぜひ、開発環境の夜間・休日運用や、本番バッチの事前スケールから導入をご検討ください。