話題の記事

無駄なコストを省こう!AWSで止め忘れ、消し忘れを自動でチェックする方法 まとめ

2019.05.16

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

以前、AWS利用料のメールが見て、思っていたよりも高くてビックリしたことがあります。調べてみたところ勉強用に立ち上げたRDSを消し忘れていました。今は会社のアカウントを使わせてもらっているので自分の財布に直接響くことはなくなりましたが、同じことを起こさないために消し忘れたリソースがないか自動でチェックするようにしています。私が使っているツールを紹介します。

お使いの開発環境などで無駄なリソースが残っていないかチェックしてみてください。

チェックしたい主なリソース

EC2

まずはEC2インスタンスですね。説明は不要だと思います。

Amazon EC2 料金表

EC2を停止していてもEBSの料金が発生します。ストレージはあまり気にされてない方多いと思いますが、数が多いと結構金額膨らむので注意しましょう。例えば20GBのEBSが10台あると1か月間で24ドルほどかかります。

Amazon EBS の料金

消し忘れのチェックとは別に平日の勤務時間のみ利用する場合はそれ以外の時間は停止しておくことでコストを抑えられます。1週間で168時間(24×7)かかるところ週5日10時間だけ起動すれば、1/3以下になりますね。後ほどEC2やRDSを自動で起動停止できる無料ツールの紹介をしていますので、お試しください。

RDS

RDSも停止できるようになったので必要な時間のみ起動することでコストを抑えられます。ただ、RDSの場合は停止して7日たつと自動で起動します。DBインスタンスを停止したが削除するのを忘れてしまい料金がかかってしまったということも多そうです。

一時的に Amazon RDS DB インスタンスを停止する

Amazon RDSの料金

ELB

私は以前、社内のAWSリソースの無駄遣いをチェックしていましたが、その際に消し忘れでとても多いのがELBでした。1台はそれほど高くないのですが、停止もできないので常につけた状態になり、数が多いと意外と高くつきます。ALBを東京リージョンで1台30日間消すのを忘れた場合の料金は18ドルほどになります。

Amazon Web Service - 料金(ELB)

Elastic IP

起動中のEC2にアタッチしていないElastic IPは料金がかかります。東京リージョンで1時間あたり$0.005かかります。例えば5つのIPアドレスを1カ月解放し忘れた場合、0.005×5×24×30 で18ド ルになります。Elastic IPはアタッチしているEC2をTerminateしても解放されないので気をつけましょう 。

ツールを使ってチェックする

1.Trusted Advisorを使ってチェックする

まずはTrusted Advisorです。あまり使われていないリソースがある場合にアラートが通知されます。毎週、メールで通知することもできます。私はElastic IPとEBSはTrusted Advisorで定期的にチェックしています。Trusted Advisorに関しては以下の記事が参考になりました。

Trusted Advisor ベストプラクティス (チェック)

2.opswitchを使ってチェックする

次に弊社のopswitchという無料のサービスを紹介します。 opswitchは指定した時間に指定したサービスが起動していた場合にメールやSlackで通知することができます。 対象となるサービスはEC2とRDS、Redshift、WorkSpacesです。 チェック対象のリージョンやサービスを指定したり、複数のAWSアカウントをチェックすることができます。 不要なインスタンスを見つけた場合はその時点で即停止できる、といった特徴があります。

私も使っていますが、たまに消し忘れた時に通知されるのでとても助かっています。Trusted Advisorは気づくまでに時間がかかりますがopswitchであればすぐに気づくことができます。

opswitchの機能紹介の動画がありますのでぜひご覧ください。
※音声が出ます。消音する場合はYouTubeの字幕機能をお使いください。

opswitchのURLは以下になります。「opswitchをはじめる」というボタンからサインアップできます。

AWSの定型作業スケジュール実行サービス・opswitch(オプスウィッチ)by クラスメソッド

ジョブの作成は以下の手順で行います。

1.サインアップします。ユーザガイドはこちらです。

2.お持ちのAWSアカウントと連携します。ユーザガイドはこちらです。

3.リソースをチェックするタスクを作ります。ユーザガイドはこちらです。

4.最後にジョブを作成し時間を指定します。ユーザガイドはこちらです。

またopswitchには曜日や時間を設定してEC2やRDSの起動停止をする機能があります。こちらも併用することでAWSの費用をさらに削減できますのでお試しください。ユーザガイドは以下をご覧ください。

EC2インスタンスの起動・停止タスクの作成
DBインスタンスの起動・停止タスクの作成

最後に

使っているチェックツールの紹介は以上になります。opswitchはどなたでも無料で利用できますので是非お試しください。