[AWS]EC2やRDS、ELBの停止忘れを一発で防ぐMoneySave[CloudFormationテンプレート]

2016.09.23

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

コンニチハ、千葉です。

以前紹介させていただいたブログがあります。EC2やRDS、ELBの停止忘れ、削除し忘れを防ぐ!LambdaScheduleイベント #reinvent

あれから約1年経ちました。こちらをアップデートして、より使いやすい形にしたのでご紹介です。

何ができるの?

起動しっぱなしになったリソースを通知してくれます。

これを利用することで、会社で利用している開発用のアカウントや個人で持っているアカウントに対して適用し、無駄に起動しているリソースが無いかをチェックして通知してくれます。

例えば、「EC2を起動しっぱなしで月末に衝撃が走った」というような悲しみから解放してくれます。数クリックで利用できるようにしたので、是非ご活用していただいて悲しみから解放されましょう!

チェック対象リソース

チェック対象のリソースは以下となります。

  • EC2
  • ELB([new]アプリケーションロードバランサーにも対応!)
  • RDS
  • [new]DynamoDB
  • [new]Redshift
  • [new]ElastiCache
  • [new]WorkSpaces
  • [new]Direvtory Service

こちらを起動している場合、通知します。

一発起動

適用したいAWSアカウントにログインして、以下をクリック。

MoneySaveを一発起動

Nextをクリック

20160921-moneysave-1

通知する時間と、通知するメールアドレスを入力する

20160921-moneysave-2

Nextをクリック

20160921-moneysave-3

IAMリソースを作成確認するので、チェックボックスにチェックする

20160921-moneysave-4

スタックが作成され、SNSのサブスクリプション許可メールが来るのでリンクをクリックする

20160921-moneysave-5

以上で、一日1回チェックされて、リソースが起動されているとメールが飛んできます!

因みに削除したい!というときは、CFnのスタックを削除すればきれいに削除されます。

アーキテクチャ

20160921-moneysave-6

CFnでは以下のリソースが作成されます。

  • Lambdaファンクション(リソースのチェックとメール送信)
  • SNS(メール送信用Topic)
  • Lambda用ロール(ReadOnlyとSNSパブリッシュ権限)
  • CloudWatch Events(Lambdaの定期起動)

AWSリソース費用として、一日1回のLambdaファンクションの起動とSNSメール通知のみです。 私の料金で見ると、$0.03だったので3円くらいですね。

ソースコードはこちらで公開しています。

最後に

是非ご活用ください!現在はメール通知のみですが、SlackやChatWorkへの通知も追加したい今日このごろ。