2019/08/23 発生したAWSの障害事故は当社のサービスにも影響しました。 幸いサービスが長時間に渡って止まるなどの大きな影響はなかったものの、一時アクセスしにくい状態になりました。
普段、AWSがダウンするなんてことはほぼ考えないで使っているので、突然止まると何が起こったのか把握するのに思わぬ時間がかかることがあります。
とりあえず、これはなんかおかしいと思ったらTwitterで検索してみるのが手っ取り早かったりするんですが、
何が起こっているのか、あるいは起こっていないのかを正確に知るためには利用している各サービスの公式情報を得るべきだと思います。
大抵のサービスでステータスページが用意されています。まずはそれをチェックすることからかと思います。
いい機会なのでAWSだけでなく、システム運用、開発によく使われ、依存しがちなサービスのステータスページをまとめてみました。
多くのサービスでステータスページの内容をRSSフィードやTwitterでも情報が提供されています。
利用サービスのフィードをSlackにでも流すようにしておけば、いち早く障害を察知するのに役立つと思います。
なお、サービスのチョイスは当社で使っているものの他によく使われていそうかなと思ったものを選びました。
私の独断です。
サービスの分類も私の独断と偏見です1。悪しからずご了承ください2。
ステータスページへのリンクとRSSやTwitterへのリンクをフィードとして示しています。
IaaS,PaaS系サービス
システム、サービスをまるっと載せてしまえるサービスを提供しているものを分類しました。
これらはモノリシックなサービスというわけではなく、様々なユースケース、システム要件に対応するサービス群を提供するプラットフォームです。
ダウンされるとたちまちサービスの稼働に重大な影響が発生する可能性が高く、その稼働状況には特に気を配るべきサービスかと思います。
サービス名 | ステータスページ | フィード |
---|---|---|
Amazon Web Service(AWS) | AWS Service Health Dashboard | ECS RDS S3 |
Google Cloud Platform(GCP) | Google Cloud Status Dashboard | |
Microsoft Azure | Azure の状態 | |
Heroku | Heroku Status | |
Saleforce | Trust Status |
AWSは各リージョンx各サービスごとのRSS配信が用意されています3。表には代表的な3サービスのフィードを載せました。他のサービスはステータスページを見てください。 AWS Healthというサービスもあるので利用を検討してみてもいいかと思います。
Baas系サービス
システムの一部機能を担うバックエンド系のサービスです。
サービスにクリティカルな影響があるものが多いのでその稼働状況に注意したいサービス群です。
サービス名 | ステータスページ | フィード | 概要 |
---|---|---|---|
Firebase | Firebase Status Dashboard | GoogleのBaas | |
Stripe | Stripe System Status | @stripestatus | 決済サービス |
Paypal | PayPal Status Page | 決済サービス | |
Auth0 | Auth0 Status Page | @auth0status | 認証サービス |
OneSignal | OneSignal Status | @OneSignalStatus | プッシュ通知配信サービス |
Fastly | Fastly Status | CDN |
Auth0はRSSフィードも提供していますが、テナントIDを含める形でRSSフィードのURLが決まります。詳しくはステータスページを参照してください。
開発系Saas
サービスの稼働には直接関わらないけれど、物によっては開発プロセスの重要な一部を担うサービスです。
ライブラリ・パッケージエコシステム系サービス
各言語のパッケージマネージャがライブラリやパッケージを取得元とするサービスです。
落ちているとライブラリ等が取得できずにビルドできなくなったりするので、本番サービスにすぐに影響することはないですが、開発プロセスにとっては重要なサービスです。
サービス名 | ステータスページ | フィード |
---|---|---|
RubyGems | RubyGems.org Status | @rubygems_status |
npm | npm, Inc. Status | @npmstatus |
Docker | Docker System Status | RSS Feed |
DockerはDockerhubを含んでいます。
VCSサービス
ソースのバージョン管理システムのリモートリポジトリを提供するサービスです
。
落ちているとソースを取得できず、ビルドに失敗したりするのでやはり開発プロセスにおいて重要なサービス群です。
サービス名 | ステータスページ | フィード |
---|---|---|
Github | GitHub Status | @githubstatus |
GitLab | GitLab System Status | @gitlabstatus |
Atlassian Bitbucket | Atlassian Bitbucket Status |
CIサービス
落ちているとビルドやデプロイ処理が止まってしまうなどの影響がある重要サービスです。
サービス名 | ステータスページ | フィード |
---|---|---|
CircleCI | CircleCI Status | @CircleCIstatus |
Travis CI | Travis CI Status | @traviscistatus |
監視・モニタリングサービス
サービスそのものや、開発プロセスを止めたりしないものの、システムの状態がわからなくなるので大いに困るサービスです。
サービス名 | ステータスページ | フィード |
---|---|---|
Mackerel | Mackerel Status | @mackerelio |
Datadog | Datadog Status | @DatadogOps |
New Relic | New Relic Status | |
Sentry | Sentry Status | @getsentry※ |
Airbrake | Airbrake Status | @airbrake※ |
Google Analytics | Analytics ステータス ダッシュボード |
※単なる公式Twitterアカウント。ステータス情報以外も投稿されています。
業務系Saas
開発業務をサポートするサービスです。
開発プロセスそのものにとってクリティカルではないと思いますが、使えないと作業効率を大きく落としてしまいます。
ただ、Slackのダウンは高度にChatOpsを実現していると効率低下で済まないかもしれません。
サービス名 | ステータスページ | フィード | 概要 |
---|---|---|---|
G Suite | G Suite Status Dashboard | オフィススイート+α | |
Slack | Slack System Status | @SlackStatus | チャットサービス |
Chatwork1 | メンテナンス・障害・その他 | チャットサービス | |
Zoom | Zoom Status | ビデオチャットサービス |
ステータスページを作れるサービス
紹介したサービスのいくつかでも使われていますが、Statuspage | Hosted Status Pages for Your Companyを使えばステータスページを作成できます。
自社のサービスで作りたくなったら利用を検討するといいと思います。
最後に
すべてを自前で賄うとというのも難しいので多かれ少なかれこれらのサービスを使っているかと思います4。
利用しているサービスはプロダクトやチームそれぞれですし、依存の度合いも違うと思います。
止まることもあると思って完全な障害対策を用意しておけると理想です。
しかし、障害が発生する頻度と発生時の損失、障害対策を維持するコストのバランスを考慮し最適な費用対効果を見いださないといけません。その結果、プラットフォームの障害には甘んじないとならない状況、箇所もあると思います。
だから、せめて迅速に状況を把握できるように障害情報を得る方法を確認しておきたいと思って調べてみました。
アクトインディではエンジニアを募集しています。 actindi.net