SlideShare a Scribd company logo
1 of 16
CloudWatch(+SNS+SQS)で
    障害対応を自動化してみた




Copyright © 2013 AGREX INC.
プロフィール
   てるい まさし
   照井 将士                         登録だけして放置していましたが、
                                 ちゃんと使ってみようと思っています。

   http://www.facebook.com/marcy.terui

   (株)アグレックス 札幌事業所                        システム
   部
   1987年 東京都大田区生まれ
   1992年 札幌移住
   2011年 (株)アグレックス入社
                                    色々やらされてやらせていただいて、
   担当業務:ECサイト構築・運用                  気がついたら、インフラもやる人に・・・w

   役職:下っ端・小間使い

   好きなサービス
   SQS、CloudWatch、RDS                             (奇跡的に)チューニンガソン5で優勝しました!
                                                  ご褒美はJAWS DAYS 2013(社費で)無料ご招待!
   最近嬉しかったこと 第1子(♂)が生まれました!




Copyright © 2013   AGREX INC.               1
目次


      •       経緯
      •       自動化したい!だって・・・
      •       前提と求めるもの
      •       実際の仕組み
      •       やってみて思ったこと
      •       まとめ




Copyright © 2013   AGREX INC.        2
経緯
よくある構成




                                                でも、冗長化できない
                                                機能や処理もありますよね?


                                                        DB更新系のバッチ処理とか・・・

                                     冗長化されている
           Web           Web
           サーバ           サーバ

                                      スケールアウトして増えることも



             DB             DB
           (Master)       (Slave)
             RDS           RDS




Copyright © 2013   AGREX INC.               3
自動化したい!だって・・・

  CloudWatchやZABBIXで監視はしているけど・・・

     •       手動でやるとその分時間が取られる
     •       勤務時間外に障害が起きたら緊急出動?
     •       勤務時間内でも気が付くのが遅れるかも
     •       単純にめんどくさい
     •       そしてたぶん対応するのって・・・




Copyright © 2013   AGREX INC.        4
前提と求めるもの
  前提

  同時実行や余分に実行されると困る
  →常に1台だけで処理してほしい
  求めるもの

  •       準備や実装に時間を掛けたくない
  •       監視や特定処理専用のサーバは作りたくない
  •       スケールアウト(イン)してもそのままでOK
  •       障害なので、できる限り確実に処理したい
  •       万が一復旧に失敗しても時間をおいて再実行
  •       障害の発生と復旧は検知したい
                                           これはCloudWatch(+SNS)でOK!

Copyright © 2013   AGREX INC.        5
実際の仕組み・・・の前に

  一般的(?)な方法                          間違いがあったらすいません



    KeepAlivedで互いに監視・復旧
     • 手間が大きい
     • スケールイン・アウトまで考えると面倒
     • サーバ(KeepAlived)の死活監視で、
       実際に処理が行われているかは確認不可

    AutoScalingで1台固定設定
     • 復旧までけっこう時間がかかる(らしい)
     • 専用のサーバが一台必要
     • 実際に処理が行われているかは確認不可

Copyright © 2013   AGREX INC.        6
実際の仕組み



                            Alarmを通知                                Messageを格納


     CloudWatch          データが              SNS(Simple Notification Service)        SQS(Simple Queue Service)
                       来なくなった!!

                                                     定期的にMessage取得




定期的にメトリクス送信
                                                                                            MessageをGet!



 バッチ処理担当                                                                                   交代します!!

                                  障害発生
                                  Webサーバ              Webサーバ                  Webサーバ




  Copyright © 2013   AGREX INC.                            7
補足 (主にSQSについて)
  •     取得されたメッセージは一定時間隠される
       →同時に処理されない

  •     隠されたメッセージは、明示的に削除することでキューから完
        全に消去される
       →復旧処理の完了を確認してから削除できる

  •     隠されたメッセージは、明示的に削除されなければ、一定時間
        後に再取得可能となる
       →万が一失敗しても再実行される

  •     当然ながら、全てのメッセージは冗長化
       →失われる心配はまず無い                                あと、NW障害等で
                                                   想定外のAlarmが発生するかも
                                                   ※つい昨日CloudWatchの障害が・・・
  • メッセージの削除は保証されていない
    →複数回行われても問題ない or 冪等性のある処理を書く必要有

                                今回の例で言うと正常時に処理されても無駄に交代しちゃうだけ的な

Copyright © 2013   AGREX INC.               8
補足 (実装について)

  •     CloudWatch→SNS→SQSの連携
       →ManagementConsole(GUI)上で設定するだけ

  •     メトリクス送信、SQSからのメッセージ取得
       →ネット上にサンプルが山程

  • 復旧処理




Copyright © 2013   AGREX INC.          9
やってみて思ったこと

  •       監視・通知はサービスがやってくれる
  •       排他や再実行・確実性はSQSが保証してくれる
  •       作ったのはほぼフェイルオーバー処理だけ
  •       料金は無料~$1/月程度(APIリクエスト1回/分で計算)



  •       AlarmがQueueに入るまでの時間+Queueを見る間隔
                                             数分~十数分程度ですが・・・


   •       CloudWatchのアラームは色々な条件が作れる




Copyright © 2013   AGREX INC.        10
まとめ

 • 復旧処理以外はサービスがやってくれる
 • 確実性や再実行も保証される
                                                     それをCloudWatchの
                                                     アラームに登録する

 • 障害とみなす条件や正常な状態を定量化
 • 対応手順をコード化

想定できる障害については・・・




                                           すいません。でもやっぱり怖いです・・・


Copyright © 2013   AGREX INC.         11
おまけ(障害以外にも・・・)

 • こんな使い方も?
        1. 更新頻度やデータ量の多いテーブルに対してサンプ
           リングされたSQLを定期的に実行
        2. 一日平均○秒超えたらアラーム
        3. 深夜に一回だけSQSにリクエストして、アラームが
           上がってたらOPTIMIZEしたり、古いデータを退避
           させたり・・・

                                   逆にめんどくさいような気も・・・




Copyright © 2013   AGREX INC.          12
あれ?なんか忘れてない?
                                     ←これは・・・?




Copyright © 2013   AGREX INC.   13
仕事が増えると息子と触れ合う時間が減るのでw




Copyright © 2013   AGREX INC.    14
ありがとうございました!




Copyright © 2013   AGREX INC.   15

More Related Content

What's hot

ビジネスパーソンのためのDX入門講座エッセンス版
ビジネスパーソンのためのDX入門講座エッセンス版ビジネスパーソンのためのDX入門講座エッセンス版
ビジネスパーソンのためのDX入門講座エッセンス版Tokoroten Nakayama
 
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Shin Ohno
 
ホワイトボックス・スイッチの期待と現実
ホワイトボックス・スイッチの期待と現実ホワイトボックス・スイッチの期待と現実
ホワイトボックス・スイッチの期待と現実IIJ
 
工数把握のすすめ 〜WorkTimeプラグインの使い方〜
工数把握のすすめ 〜WorkTimeプラグインの使い方〜工数把握のすすめ 〜WorkTimeプラグインの使い方〜
工数把握のすすめ 〜WorkTimeプラグインの使い方〜Tomohisa Kusukawa
 
私にとってのテスト
私にとってのテスト私にとってのテスト
私にとってのテストTakuto Wada
 
強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話Yoshitaka Kawashima
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ増田 亨
 
ユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさYoshiki Hayama
 
ヒューレットパッカード社の 社員の離職リスク予測 第一回機械学習ビジネス研究会 #ml_business
ヒューレットパッカード社の社員の離職リスク予測 第一回機械学習ビジネス研究会 #ml_business ヒューレットパッカード社の社員の離職リスク予測 第一回機械学習ビジネス研究会 #ml_business
ヒューレットパッカード社の 社員の離職リスク予測 第一回機械学習ビジネス研究会 #ml_business Tokoroten Nakayama
 
LayerXのQAチームで目指したい動き方 (社内資料)
LayerXのQAチームで目指したい動き方 (社内資料)LayerXのQAチームで目指したい動き方 (社内資料)
LayerXのQAチームで目指したい動き方 (社内資料)mosa siru
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなKentaro Matsui
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較Akihiro Suda
 
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方増田 亨
 
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?Yusuke Shirakawa
 
ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)
ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)
ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)Tokoroten Nakayama
 
DXと名の付くプロジェクトで忘れてはならないこと
DXと名の付くプロジェクトで忘れてはならないことDXと名の付くプロジェクトで忘れてはならないこと
DXと名の付くプロジェクトで忘れてはならないことHagimoto Junzo
 
あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?Minoru Yokomichi
 
「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!
「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!
「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!Yoshiki Hayama
 
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
心理的安全性と、Veinの紹介 Psychological safety and introduction of VeinTokoroten Nakayama
 

What's hot (20)

ビジネスパーソンのためのDX入門講座エッセンス版
ビジネスパーソンのためのDX入門講座エッセンス版ビジネスパーソンのためのDX入門講座エッセンス版
ビジネスパーソンのためのDX入門講座エッセンス版
 
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
 
ホワイトボックス・スイッチの期待と現実
ホワイトボックス・スイッチの期待と現実ホワイトボックス・スイッチの期待と現実
ホワイトボックス・スイッチの期待と現実
 
工数把握のすすめ 〜WorkTimeプラグインの使い方〜
工数把握のすすめ 〜WorkTimeプラグインの使い方〜工数把握のすすめ 〜WorkTimeプラグインの使い方〜
工数把握のすすめ 〜WorkTimeプラグインの使い方〜
 
私にとってのテスト
私にとってのテスト私にとってのテスト
私にとってのテスト
 
強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
ユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさ
 
ヒューレットパッカード社の 社員の離職リスク予測 第一回機械学習ビジネス研究会 #ml_business
ヒューレットパッカード社の社員の離職リスク予測 第一回機械学習ビジネス研究会 #ml_business ヒューレットパッカード社の社員の離職リスク予測 第一回機械学習ビジネス研究会 #ml_business
ヒューレットパッカード社の 社員の離職リスク予測 第一回機械学習ビジネス研究会 #ml_business
 
LayerXのQAチームで目指したい動き方 (社内資料)
LayerXのQAチームで目指したい動き方 (社内資料)LayerXのQAチームで目指したい動き方 (社内資料)
LayerXのQAチームで目指したい動き方 (社内資料)
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
 
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
 
ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)
ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)
ラボラトリーオートメーションのためのソフトウェア思想教育(非プログラマ―が知っておくべきプログラミングの本質)
 
DXと名の付くプロジェクトで忘れてはならないこと
DXと名の付くプロジェクトで忘れてはならないことDXと名の付くプロジェクトで忘れてはならないこと
DXと名の付くプロジェクトで忘れてはならないこと
 
あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?あなたのチームの「いい人」は機能していますか?
あなたのチームの「いい人」は機能していますか?
 
LXC入門 - Osc2011 nagoya
LXC入門 - Osc2011 nagoyaLXC入門 - Osc2011 nagoya
LXC入門 - Osc2011 nagoya
 
「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!
「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!
「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!
 
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
心理的安全性と、Veinの紹介 Psychological safety and introduction of Vein
 

Viewers also liked

JAWS DAYS 2013 札幌とVPCと私
JAWS DAYS 2013 札幌とVPCと私JAWS DAYS 2013 札幌とVPCと私
JAWS DAYS 2013 札幌とVPCと私Hiroshi Koyama
 
クラウドのためのアーキテクチャ設計 - ベストプラクティス -
クラウドのためのアーキテクチャ設計 - ベストプラクティス - クラウドのためのアーキテクチャ設計 - ベストプラクティス -
クラウドのためのアーキテクチャ設計 - ベストプラクティス - SORACOM, INC
 
AWS Black Belt Techシリーズ Amazon SNS / Amazon SQS
AWS Black Belt Techシリーズ Amazon SNS / Amazon SQSAWS Black Belt Techシリーズ Amazon SNS / Amazon SQS
AWS Black Belt Techシリーズ Amazon SNS / Amazon SQSAmazon Web Services Japan
 
[AWSマイスターシリーズ] Amazon SQS / SNS
[AWSマイスターシリーズ] Amazon SQS / SNS[AWSマイスターシリーズ] Amazon SQS / SNS
[AWSマイスターシリーズ] Amazon SQS / SNSAmazon Web Services Japan
 
AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-
AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-
AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-Amazon Web Services Japan
 
AWS Black Belt Tech シリーズ 2016 - Amazon SQS / Amazon SNS
AWS Black Belt Tech シリーズ 2016 - Amazon SQS / Amazon SNSAWS Black Belt Tech シリーズ 2016 - Amazon SQS / Amazon SNS
AWS Black Belt Tech シリーズ 2016 - Amazon SQS / Amazon SNSAmazon Web Services Japan
 

Viewers also liked (6)

JAWS DAYS 2013 札幌とVPCと私
JAWS DAYS 2013 札幌とVPCと私JAWS DAYS 2013 札幌とVPCと私
JAWS DAYS 2013 札幌とVPCと私
 
クラウドのためのアーキテクチャ設計 - ベストプラクティス -
クラウドのためのアーキテクチャ設計 - ベストプラクティス - クラウドのためのアーキテクチャ設計 - ベストプラクティス -
クラウドのためのアーキテクチャ設計 - ベストプラクティス -
 
AWS Black Belt Techシリーズ Amazon SNS / Amazon SQS
AWS Black Belt Techシリーズ Amazon SNS / Amazon SQSAWS Black Belt Techシリーズ Amazon SNS / Amazon SQS
AWS Black Belt Techシリーズ Amazon SNS / Amazon SQS
 
[AWSマイスターシリーズ] Amazon SQS / SNS
[AWSマイスターシリーズ] Amazon SQS / SNS[AWSマイスターシリーズ] Amazon SQS / SNS
[AWSマイスターシリーズ] Amazon SQS / SNS
 
AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-
AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-
AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-
 
AWS Black Belt Tech シリーズ 2016 - Amazon SQS / Amazon SNS
AWS Black Belt Tech シリーズ 2016 - Amazon SQS / Amazon SNSAWS Black Belt Tech シリーズ 2016 - Amazon SQS / Amazon SNS
AWS Black Belt Tech シリーズ 2016 - Amazon SQS / Amazon SNS
 

Similar to CloudWatch(+sns+sqs)で障害対応を自動化してみた

JAWS-UG三都物語_企業でのAWS導入のエントリーポイント
JAWS-UG三都物語_企業でのAWS導入のエントリーポイントJAWS-UG三都物語_企業でのAWS導入のエントリーポイント
JAWS-UG三都物語_企業でのAWS導入のエントリーポイントToshiyuki Konparu
 
AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)AzareaCluster
 
クラウド活用で実現する、開発・保守の効率化
クラウド活用で実現する、開発・保守の効率化クラウド活用で実現する、開発・保守の効率化
クラウド活用で実現する、開発・保守の効率化Hiroshi Koyama
 
Azureの運用に欠かせないサービスたち一挙解説
Azureの運用に欠かせないサービスたち一挙解説Azureの運用に欠かせないサービスたち一挙解説
Azureの運用に欠かせないサービスたち一挙解説Shingo Kawahara
 
Windows azureって何
Windows azureって何Windows azureって何
Windows azureって何Kana SUZUKI
 
あなたの悩みを解決する、クラウド障害対応術
あなたの悩みを解決する、クラウド障害対応術あなたの悩みを解決する、クラウド障害対応術
あなたの悩みを解決する、クラウド障害対応術Aya Komuro
 
2013/08 JAWS_UG北九州 AWSを使った儲け方
2013/08 JAWS_UG北九州 AWSを使った儲け方2013/08 JAWS_UG北九州 AWSを使った儲け方
2013/08 JAWS_UG北九州 AWSを使った儲け方Serverworks Co.,Ltd.
 
運用の現場での監視運用ツールの活用
運用の現場での監視運用ツールの活用運用の現場での監視運用ツールの活用
運用の現場での監視運用ツールの活用真治 米田
 
Elasticsearchを使うときの注意点 公開用スライド
Elasticsearchを使うときの注意点 公開用スライドElasticsearchを使うときの注意点 公開用スライド
Elasticsearchを使うときの注意点 公開用スライド崇介 藤井
 
事例紹介「なうまぴおん」
事例紹介「なうまぴおん」事例紹介「なうまぴおん」
事例紹介「なうまぴおん」Eiji Iwazawa
 
弊社IoT事例とAlexaSkil開発レシピ
弊社IoT事例とAlexaSkil開発レシピ弊社IoT事例とAlexaSkil開発レシピ
弊社IoT事例とAlexaSkil開発レシピTakashi Kozu
 
5分では終わりそうにないfunctionsの話
5分では終わりそうにないfunctionsの話5分では終わりそうにないfunctionsの話
5分では終わりそうにないfunctionsの話Yoshiyuki Taniguchi
 
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013Takashi Someda
 
使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!IIJ
 
cloudpack導入資料(20120302版)
cloudpack導入資料(20120302版)cloudpack導入資料(20120302版)
cloudpack導入資料(20120302版)iret, Inc.
 

Similar to CloudWatch(+sns+sqs)で障害対応を自動化してみた (20)

JAWS-UG三都物語_企業でのAWS導入のエントリーポイント
JAWS-UG三都物語_企業でのAWS導入のエントリーポイントJAWS-UG三都物語_企業でのAWS導入のエントリーポイント
JAWS-UG三都物語_企業でのAWS導入のエントリーポイント
 
AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)AZAREA-Clusterセミナー(クラウドEXPO2013春)
AZAREA-Clusterセミナー(クラウドEXPO2013春)
 
Eight meets AWS
Eight meets AWSEight meets AWS
Eight meets AWS
 
クラウド活用で実現する、開発・保守の効率化
クラウド活用で実現する、開発・保守の効率化クラウド活用で実現する、開発・保守の効率化
クラウド活用で実現する、開発・保守の効率化
 
Azureの運用に欠かせないサービスたち一挙解説
Azureの運用に欠かせないサービスたち一挙解説Azureの運用に欠かせないサービスたち一挙解説
Azureの運用に欠かせないサービスたち一挙解説
 
Windows azureって何
Windows azureって何Windows azureって何
Windows azureって何
 
あなたの悩みを解決する、クラウド障害対応術
あなたの悩みを解決する、クラウド障害対応術あなたの悩みを解決する、クラウド障害対応術
あなたの悩みを解決する、クラウド障害対応術
 
2013/08 JAWS_UG北九州 AWSを使った儲け方
2013/08 JAWS_UG北九州 AWSを使った儲け方2013/08 JAWS_UG北九州 AWSを使った儲け方
2013/08 JAWS_UG北九州 AWSを使った儲け方
 
運用の現場での監視運用ツールの活用
運用の現場での監視運用ツールの活用運用の現場での監視運用ツールの活用
運用の現場での監視運用ツールの活用
 
Elasticsearchを使うときの注意点 公開用スライド
Elasticsearchを使うときの注意点 公開用スライドElasticsearchを使うときの注意点 公開用スライド
Elasticsearchを使うときの注意点 公開用スライド
 
Mildscaling 20150725
Mildscaling 20150725Mildscaling 20150725
Mildscaling 20150725
 
事例紹介「なうまぴおん」
事例紹介「なうまぴおん」事例紹介「なうまぴおん」
事例紹介「なうまぴおん」
 
MySQLの冗長化 2013-01-24
MySQLの冗長化 2013-01-24MySQLの冗長化 2013-01-24
MySQLの冗長化 2013-01-24
 
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦
 
弊社IoT事例とAlexaSkil開発レシピ
弊社IoT事例とAlexaSkil開発レシピ弊社IoT事例とAlexaSkil開発レシピ
弊社IoT事例とAlexaSkil開発レシピ
 
5分では終わりそうにないfunctionsの話
5分では終わりそうにないfunctionsの話5分では終わりそうにないfunctionsの話
5分では終わりそうにないfunctionsの話
 
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
AWS を活用して小さなチームで 世界で使われるサービスを運用する方法 - JAWS Days 2013
 
使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!
 
Robust log process
Robust log processRobust log process
Robust log process
 
cloudpack導入資料(20120302版)
cloudpack導入資料(20120302版)cloudpack導入資料(20120302版)
cloudpack導入資料(20120302版)
 

More from Terui Masashi

Reliability Engineering for Enterprise Serverless
 Reliability Engineering  for Enterprise Serverless Reliability Engineering  for Enterprise Serverless
Reliability Engineering for Enterprise ServerlessTerui Masashi
 
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのことDevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのことTerui Masashi
 
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)Terui Masashi
 
The Internal of Serverless Plugins
The Internal of Serverless PluginsThe Internal of Serverless Plugins
The Internal of Serverless PluginsTerui Masashi
 
Unlimited Frameworks
Unlimited FrameworksUnlimited Frameworks
Unlimited FrameworksTerui Masashi
 
Cloud Vsion APIによるGUIの検証自動化
Cloud Vsion APIによるGUIの検証自動化Cloud Vsion APIによるGUIの検証自動化
Cloud Vsion APIによるGUIの検証自動化Terui Masashi
 
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜Terui Masashi
 
Infrastructure as Codeってなんだったっけ?
Infrastructure as Codeってなんだったっけ?Infrastructure as Codeってなんだったっけ?
Infrastructure as Codeってなんだったっけ?Terui Masashi
 
私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜
私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜
私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜Terui Masashi
 
R○Sに学ぶイマドキのMySQL構築運用
���������������������������������������R○Sに学ぶイマドキのMySQL構築運用���������������������������������������R○Sに学ぶイマドキのMySQL構築運用
R○Sに学ぶイマドキのMySQL構築運用Terui Masashi
 
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニングクラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニングTerui Masashi
 
マルチクラウド #とは
マルチクラウド #とはマルチクラウド #とは
マルチクラウド #とはTerui Masashi
 
Lambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作ったLambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作ったTerui Masashi
 
Google App Engine for PHPとそのローカル開発環境について
Google App Engine for PHPとそのローカル開発環境についてGoogle App Engine for PHPとそのローカル開発環境について
Google App Engine for PHPとそのローカル開発環境についてTerui Masashi
 
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」Terui Masashi
 
ついに解禁!Amazon Aurora徹底検証!
ついに解禁!Amazon Aurora徹底検証!ついに解禁!Amazon Aurora徹底検証!
ついに解禁!Amazon Aurora徹底検証!Terui Masashi
 
Multi Cloud Design Pattern(Beta)
Multi Cloud Design Pattern(Beta)Multi Cloud Design Pattern(Beta)
Multi Cloud Design Pattern(Beta)Terui Masashi
 
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話Terui Masashi
 
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話Terui Masashi
 

More from Terui Masashi (20)

Reliability Engineering for Enterprise Serverless
 Reliability Engineering  for Enterprise Serverless Reliability Engineering  for Enterprise Serverless
Reliability Engineering for Enterprise Serverless
 
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのことDevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
 
What is Serverless?
What is Serverless?What is Serverless?
What is Serverless?
 
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)
クラウド環境におけるWebアプリケーションの正しい作り方(for Perl users)
 
The Internal of Serverless Plugins
The Internal of Serverless PluginsThe Internal of Serverless Plugins
The Internal of Serverless Plugins
 
Unlimited Frameworks
Unlimited FrameworksUnlimited Frameworks
Unlimited Frameworks
 
Cloud Vsion APIによるGUIの検証自動化
Cloud Vsion APIによるGUIの検証自動化Cloud Vsion APIによるGUIの検証自動化
Cloud Vsion APIによるGUIの検証自動化
 
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
Serverless ArchitectureにおけるNoSQL Services 〜DynamoDBも良いけどSimpleDBも忘れないであげてください!!〜
 
Infrastructure as Codeってなんだったっけ?
Infrastructure as Codeってなんだったっけ?Infrastructure as Codeってなんだったっけ?
Infrastructure as Codeってなんだったっけ?
 
私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜
私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜
私はこれでJSONをやめました〜あるいはAWSの設定をコード化するとはどういうことか〜
 
R○Sに学ぶイマドキのMySQL構築運用
���������������������������������������R○Sに学ぶイマドキのMySQL構築運用���������������������������������������R○Sに学ぶイマドキのMySQL構築運用
R○Sに学ぶイマドキのMySQL構築運用
 
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニングクラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
クラウド時代だからこそ見直したい
PHPアプリケーションのパフォーマンスチューニング
 
マルチクラウド #とは
マルチクラウド #とはマルチクラウド #とは
マルチクラウド #とは
 
Lambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作ったLambda(Python)のデプロイについて考えたというか作った
Lambda(Python)のデプロイについて考えたというか作った
 
Google App Engine for PHPとそのローカル開発環境について
Google App Engine for PHPとそのローカル開発環境についてGoogle App Engine for PHPとそのローカル開発環境について
Google App Engine for PHPとそのローカル開発環境について
 
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」
PythonとYAMLでGCPをDeploy!「Google Cloud Deployment Manager」
 
ついに解禁!Amazon Aurora徹底検証!
ついに解禁!Amazon Aurora徹底検証!ついに解禁!Amazon Aurora徹底検証!
ついに解禁!Amazon Aurora徹底検証!
 
Multi Cloud Design Pattern(Beta)
Multi Cloud Design Pattern(Beta)Multi Cloud Design Pattern(Beta)
Multi Cloud Design Pattern(Beta)
 
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
Infra as Code Sapppro Casual 札幌の開催趣旨とTest-Kitchenの話
 
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
IoTにおけるクラウドインフラからサーバサイドまでの概要的な話
 

Recently uploaded

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (10)

知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

CloudWatch(+sns+sqs)で障害対応を自動化してみた

  • 1. CloudWatch(+SNS+SQS)で 障害対応を自動化してみた Copyright © 2013 AGREX INC.
  • 2. プロフィール てるい まさし 照井 将士 登録だけして放置していましたが、 ちゃんと使ってみようと思っています。 http://www.facebook.com/marcy.terui (株)アグレックス 札幌事業所 システム 部 1987年 東京都大田区生まれ 1992年 札幌移住 2011年 (株)アグレックス入社 色々やらされてやらせていただいて、 担当業務:ECサイト構築・運用 気がついたら、インフラもやる人に・・・w 役職:下っ端・小間使い 好きなサービス SQS、CloudWatch、RDS (奇跡的に)チューニンガソン5で優勝しました! ご褒美はJAWS DAYS 2013(社費で)無料ご招待! 最近嬉しかったこと 第1子(♂)が生まれました! Copyright © 2013 AGREX INC. 1
  • 3. 目次 • 経緯 • 自動化したい!だって・・・ • 前提と求めるもの • 実際の仕組み • やってみて思ったこと • まとめ Copyright © 2013 AGREX INC. 2
  • 4. 経緯 よくある構成 でも、冗長化できない 機能や処理もありますよね? DB更新系のバッチ処理とか・・・ 冗長化されている Web Web サーバ サーバ スケールアウトして増えることも DB DB (Master) (Slave) RDS RDS Copyright © 2013 AGREX INC. 3
  • 5. 自動化したい!だって・・・ CloudWatchやZABBIXで監視はしているけど・・・ • 手動でやるとその分時間が取られる • 勤務時間外に障害が起きたら緊急出動? • 勤務時間内でも気が付くのが遅れるかも • 単純にめんどくさい • そしてたぶん対応するのって・・・ Copyright © 2013 AGREX INC. 4
  • 6. 前提と求めるもの 前提 同時実行や余分に実行されると困る →常に1台だけで処理してほしい 求めるもの • 準備や実装に時間を掛けたくない • 監視や特定処理専用のサーバは作りたくない • スケールアウト(イン)してもそのままでOK • 障害なので、できる限り確実に処理したい • 万が一復旧に失敗しても時間をおいて再実行 • 障害の発生と復旧は検知したい これはCloudWatch(+SNS)でOK! Copyright © 2013 AGREX INC. 5
  • 7. 実際の仕組み・・・の前に 一般的(?)な方法 間違いがあったらすいません  KeepAlivedで互いに監視・復旧 • 手間が大きい • スケールイン・アウトまで考えると面倒 • サーバ(KeepAlived)の死活監視で、 実際に処理が行われているかは確認不可  AutoScalingで1台固定設定 • 復旧までけっこう時間がかかる(らしい) • 専用のサーバが一台必要 • 実際に処理が行われているかは確認不可 Copyright © 2013 AGREX INC. 6
  • 8. 実際の仕組み Alarmを通知 Messageを格納 CloudWatch データが SNS(Simple Notification Service) SQS(Simple Queue Service) 来なくなった!! 定期的にMessage取得 定期的にメトリクス送信 MessageをGet! バッチ処理担当 交代します!! 障害発生 Webサーバ Webサーバ Webサーバ Copyright © 2013 AGREX INC. 7
  • 9. 補足 (主にSQSについて) • 取得されたメッセージは一定時間隠される →同時に処理されない • 隠されたメッセージは、明示的に削除することでキューから完 全に消去される →復旧処理の完了を確認してから削除できる • 隠されたメッセージは、明示的に削除されなければ、一定時間 後に再取得可能となる →万が一失敗しても再実行される • 当然ながら、全てのメッセージは冗長化 →失われる心配はまず無い あと、NW障害等で 想定外のAlarmが発生するかも ※つい昨日CloudWatchの障害が・・・ • メッセージの削除は保証されていない →複数回行われても問題ない or 冪等性のある処理を書く必要有 今回の例で言うと正常時に処理されても無駄に交代しちゃうだけ的な Copyright © 2013 AGREX INC. 8
  • 10. 補足 (実装について) • CloudWatch→SNS→SQSの連携 →ManagementConsole(GUI)上で設定するだけ • メトリクス送信、SQSからのメッセージ取得 →ネット上にサンプルが山程 • 復旧処理 Copyright © 2013 AGREX INC. 9
  • 11. やってみて思ったこと • 監視・通知はサービスがやってくれる • 排他や再実行・確実性はSQSが保証してくれる • 作ったのはほぼフェイルオーバー処理だけ • 料金は無料~$1/月程度(APIリクエスト1回/分で計算) • AlarmがQueueに入るまでの時間+Queueを見る間隔 数分~十数分程度ですが・・・ • CloudWatchのアラームは色々な条件が作れる Copyright © 2013 AGREX INC. 10
  • 12. まとめ • 復旧処理以外はサービスがやってくれる • 確実性や再実行も保証される それをCloudWatchの アラームに登録する • 障害とみなす条件や正常な状態を定量化 • 対応手順をコード化 想定できる障害については・・・ すいません。でもやっぱり怖いです・・・ Copyright © 2013 AGREX INC. 11
  • 13. おまけ(障害以外にも・・・) • こんな使い方も? 1. 更新頻度やデータ量の多いテーブルに対してサンプ リングされたSQLを定期的に実行 2. 一日平均○秒超えたらアラーム 3. 深夜に一回だけSQSにリクエストして、アラームが 上がってたらOPTIMIZEしたり、古いデータを退避 させたり・・・ 逆にめんどくさいような気も・・・ Copyright © 2013 AGREX INC. 12
  • 14. あれ?なんか忘れてない? ←これは・・・? Copyright © 2013 AGREX INC. 13