うっかりAWS過課金を防げ! EventBridgeとLambdaでDBインスタンス起動時自動クラスチェック&通知AWSチートシート

AWS活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は「Amazon EventBridge」「AWS Lambda」を利用した、「Amazon Relational Database Service」(RDS)起動時にDBインスタンスクラスをチェックする方法を紹介します。

» 2023年06月29日 05時00分 公開
[櫻井智仁株式会社システムシェアード]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 「Amazon Web Services」(AWS)活用における便利な小技を簡潔に紹介する本連載「AWSチートシート」。今回は、「Amazon EventBridge」「AWS Lambda」を使って「Amazon Relational Database Service」(RDS)の起動を検知し、DBインスタンスクラスをチェックする処理を作ります。

 筆者の関わっているシステムでは、本番以外に複数環境が準備されており、適宜テスト時にDBインスタンスクラスを変更することがよくあります。先日、負荷テストのために本番相当に変更したインスタンスを元に戻さずに、そのまま利用し続けてしまい、びっくりする金額(数日だけ、普段の10倍……)になってしまいました。

 そんな失敗から、「起動時に普段と違うDBインスタンスクラスかどうかを確認すればいいのでは?」となり、作ってみました(※チェックを起動時にしたのは、DBインスタンスタイプの変更が「利用可」の状態じゃないとできないからです)。

 本稿で作成するサービス構成イメージは図1の通りです。

図1 サービス構成イメージ

 チェックする方法の解説は最小限にとどめておきます。後述しますが、チェックしてそれを通知する方法はいくらでもあるので、皆さんの環境に合った方法をお選びください。

手順

 今回は次の手順で、環境を構築します(※対象のRDSは作成済みとします)。

  1. EventBridgeから実行されるLambda関数を作成する
  2. Lambda関数にアクセス権限を追加する
  3. Lambda関数をテストする
  4. RDSの起動を検知するEventBridgeルールを作成する
  5. 動作確認

1. EventBridgeから実行されるLambda関数を作成する

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。