こんにちは、みーまです。
皆さんはAWSの障害情報について正しく知っていますでしょうか?
この記事を書いている今日(2020年10月22日)、AWS側で短時間ではありますが障害が発生しました。
障害の情報はAWSから順次発表されていまますが、この仕組みをご存じない方がいらっしゃるので、今回は障害情報と、同じくらい関係のあるメンテナンス情報を確認するほうほう、およびそれらを早く検知する方法を紹介します。
AWSが提供する障害情報は2種類
AWSが提供する障害情報は2種類あります。
- SHD(Service Health Dashboard)
- PHD(Personal Health Dashboard)
SHD(Service Health Dashboard)
SHDとは、AWSが公開している、サービス毎の稼働状況が見られるページです。AWSが認識している障害情報の全てはここで掲載されます。
https://status.aws.amazon.com/
ここで掲載されるのは、全アカウントに影響がある障害情報のみなので、特定アカウントに影響するような、例えばメンテンス情報は後述のPHDになります。
PHD(Personal Health Dashboard)
PHDは、あなたのAWSアカウントに影響する情報が掲載されているサービスです。(AWSマネジメントコンソールへログインしていないと見られません)
つまり、障害情報だけではなく、例えばEC2を動作させているハードウェア基盤のメンテナンス、Direct Connect(専用線サービス)のメンテナンスなどでも掲載されます。
情報を早く知るには?
SHD、PHDの存在を知っていても情報を見ないのでは意味がなく、管理者にまで情報が届かなくてはいけません。
では、どうしたら早く情報を知ることができるでしょうか?
SHDの場合
SHDではWebページ上での情報公開以外に、RSSでの配信を行っています。
RSSとは?
- RSSはWebサイトの更新情報などを配信する仕組みのことで、最近ではポッドキャストの更新情報などがこれで配信されています。
- 利用者はRSSを「購読」することで、更新についていち早く知る事が可能です。
SHDで必要なリージョンのRSSを購読して、障害情報がすぐに得られるようにしておくと良いでしょう。
Slackを利用している人であれば、専用チャンネルを作って、RSSを直接チャンネルに投稿する仕組みを用意しておくのがオススメです。
PHDの場合
PHDの情報はHealthイベントとしてCloudWatch Logsで拾うことが可能です。
つまり、各種サービスと連携して、メール通知やSlack通知が可能です。
ただし、データはJSONなので、カスタマイズするにはLambdaなどが必要です。Slack通知したい場合はAWS Chatbotが良いでしょう。
情報原として使ってはいけないもの
よくDowndetectorをソース元として語っている人がいますが、あれを情報源としては絶対に使わないでください。エンジニアがあれをソースとして話をすると、頭を疑われます。
あれはSNS上の単語を拾っているだけであり、サービス提供元の情報は全く見ていません。
- Downdetectorの本来の使い方は「不調に気がついた人がSNS上に居るか」を見つける程度のものです。そこから先は必ずサービス提供元の情報を見ましょう。
- AWSの異常ではなかったものがAWS障害と言われることが頻繁にあります。使いどころはしっかり見極めてください。
まとめ
- SHDのRSSを購読しておく
- PHDはメールやSlackと連携しておく
SHDの障害はSNS上の話題でも情報を得られますが、PHDはご自身のAWSアカウントに影響する範囲だけであり、外部から分からないので、こちらはちゃんと管理しておきましょう。
そもそもですが、Webサービスなどを提供している場合は、監視基準をしっかり設計して、サービスが稼働しているかを見極めることが大事です。
今回は以上です。