Timers Tech Blog

グローバルな家族アプリFammを運営するTimers inc (タイマーズ) の公式Tech Blogです。弊社のエンジニアリングを支える記事を随時公開。エンジニア絶賛採用中!→ https://timers-inc.com/engineering

AWS chatbot (チャットボット) で コストアラートをSlack通知

はじめに

エンジニアのウエです。Timers inc.では、ビジネス部門の一人として 配送・印刷・決済に関わる施策立案・業務改善を推進しています。また開発チームのプロダクトマネージャとして、顧客対応チームのマネージャとして、様々な役割でサービスに関わっています。 BizDevOps を通じた 効率化や改善に関わり、とても充実した日々を送っています。

今回の記事では、AWS Chatbot (チャットボット) を Slackへのコストアラート通知に利用した例を記載します。

前提

  • CloudWatch の Billing を利用するため、あくまでも概算です。

事前準備

  • ブラウザで Slack に bot用アカウントでログインします。
  • 通知に利用する SNS トピック作成( us-east-1 )します。

手順

  • AWS chatbot から Client を作成します。
  • 通知先として Slack を選択し、連携します。
  • chatbot が購読する SNS トピックとして 事前に作成した SNSトピックを指定し、通知するSlack チャンネルを指定します。
  • CloudWatch から EstimatedCharges (概算合計請求額) のアラートを作成します( us-east-1 ) 。サービスを指定することで細かなアラート設定もできます
  • CloudWatch アラームの通知先に 「事前作成したSNSトピック」を指定します
  • 閾値を超えたら chatbotで指定した Slack チャンネル に 通知がきます

余談

  • ちなみに、CloudWatchの代わりに AWS Budget を使うこともできます。
    • その場合は「事前作成したSNSトピック」 に AWS Budget の アクセス権限を付与して、AWS Budgetのアラート通知先に「事前作成したSNSトピック」を指定します
      docs.aws.amazon.com

感想

  • 良かったところ
    • chatbot の pricing 0 円!
      • SNS/CloudWatch のアラームを 利用するため、実行環境によってはSNS/CloudWatch のコストが発生しますがごくわずかですね。
    • サーバなし実装なしでSlackで異常系監視!
      • 異常系の Slack 通知が非常にお手軽にで実現できました。他の異常系監視にも用途が広がりそうです。
      • 現時点ではAmazon CloudWatch, AWS Budgets のほか AWS Health, AWS Security Hub, Amazon GuardDuty, AWS CloudFormationに対応しているとの記載がありました。
  • 今後に期待するところ
    • 正常系の通知にも chatbot 使いたい!
      • 現時点では CloudWatch のアラーム経由なので 例えば 日々の正常時のコスト監視、といった用途には使えませんでした(別途 CloudWatch Events + Lambda + Slack連携の実装が必要です)

その他

積極採用中!!

子育て家族アプリFammを運営するTimers inc.では、現在エンジニアを積極採用中!
急成長中のサービスの技術の話を少しでも聞いてみたい方、スタートアップで働きたい方など、是非お気軽にご連絡ください!
採用HP: http://timers-inc.com/engineerings

www.wantedly.com

Timersでは各職種を積極採用中!

急成長スタートアップで、最高のものづくりをしよう。

募集の詳細をみる