Amazon RDS Custom では CloudTrail 証跡が自動作成されるので、RDS 削除後は証跡の削除忘れに注意しましょう

2023.05.07

いわさです。

先日 AWS の利用費で想定外のコストが発生していました。
Cost Explorer を見てみると CloudTrail の利用料金がいつからか発生しています。

CloudTrail の利用料金は以下となっており、S3 へ管理イベントのコピーを作成することが出来る「証跡」が 1 つまで無料で利用することが出来ます。
そのため意図的に 2 つ以上作成していなければ発生しないはずなのですが。

先に結論を言うと、先日検証のために RDS Custom for SQL Server を作成したのですが、その時に自動で CloudTrail 証跡が作成されていました。
今回は削除して、Cost Anomaly Detection を設定することで対処としたのですが、なぜ CloudTrail 証跡が作成されるのかなどについて調べたのでそのあたりなども紹介したいと思います。

RDS for Custom は CloudTrail 証跡を自動作成する

CloudTrail の証跡一覧を確認してみると、次のようなプレフィックスの証跡が作成されていました。

do-not-delete-rds-custom-hogehoge

名前からすると RDS Custom に関連していそうですよね。
また、RDS Custom ではデプロイ中に関連リソースをdo-not-delete-というプレフィックスをつけて生成することが他にも(EC2 など)あることは認識していました。

RDS Custom の CloudTrail について調べてみると以下のドキュメントで次のように記述されていました。

RDS Custom automatically creates an AWS CloudTrail trail whose name begins with do-not-delete-rds-custom-. The RDS Custom support perimeter relies on the events from CloudTrail to determine whether your actions affect RDS Custom automation. For more information, see Support perimeter.

RDS Custom creates the trail when you create your first DB instance. RDS Custom creates one trail for each combination of the following:

  • AWS account ID
  • Engine type (either RDS Custom for Oracle or RDS Custom for SQL Server)
  • AWS Region

どうやら、RDS Custom は AWS アカウント、DB エンジン(Custom for SQL Server, Custom for Oracle)、リージョンの組み合わせごとに CloudTrail 証跡を自動作成するようです。
RDS Custom ではユーザーがリソース構成を変更することが出来るので、現在の構成がサポートされる状態であるかを監視する必要があります。
そしてサポート対象外になった場合はいくつかの RDS マネージドな機能(インスタンス変更やバックアップなど)が制限されるという仕様になっています。

この構成監視を行うために自動作成された CloudTrail 証跡を使っています。

先日以下の記事内容を検証した際に RDS Custom for SQL Server を作成しました。その際に作成されたようですね。
検証後に RDS の削除は行っていたのですが、CloudTrail の削除も必要だったということです。

まずコストがこれ以上発生しないように自動作成された CloudTrail 証跡を削除しました。
do-not-deleteとリソース名に記述されていますが、RDS Custom を現在使用していないので削除して問題ありません。RDS Custom 使用中には削除しないように気をつけてください。

Cost Anomaly Detection のアラート見直し

また、今後も RDS Custom 検証の度に CloudTrail 証跡の削除忘れが起きそうだなと思いました。

対策として Cost Anomaly Detection の設定を見直すことにしました。
Cost Anomaly Detection は異常検出してくれるサービスです。無料で利用出来ます。

先日新規アカウントで自動で有効化されるようになりました。

私はすでに有効化していたので検出履歴を見てみます。

ああ、CloudTrail のコスト異常が検出されていますね...!
ただ、通知アラートが多すぎてオオカミ少年状態になっていました。一番よくない状態ですね。

今回はアラート頻度としきい値を見直すことで対処しました。

また、Cost Anomaly Detection の検出履歴から AWS WAF と AWS KMS でも少額ですが不要なリソースが残っていることがわかったので、整理をしておきました。

別の方法として CloudTrail の追加証跡のような出るはずのないコストの場合は次のように Budgets でアラート作成するのも良いですね。

さいごに

本日は RDS Custom の CloudTrail 証跡自動作成について紹介しました。

RDS Custom のインスタンス自体を削除しても CloudTrail 証跡は削除されないので、過去に RDS Custom を作成したことのある人は不要な CloudTrail コストが発生しているかもしれません。コスト見直しをあまりしたことが無いかたは確認してみてください。小さな額なので気づかずに無視してしまっている可能性があります。

また CloudTrail 証跡は通常は無料利用していることが多いはずなので Cost Anomaly Detection の検出履歴からすぐ気づくことが出来ます。
アラートサブスクリプションを設定していない方は設定しておきましょう。