orangeitems’s diary

クラウドで働くインフラエンジニアの日々の感想です(ほぼ毎日更新)。



AWS東京リージョン障害に思うこと

f:id:orangeitems:20190823173609j:plain

 

AWS東京リージョン障害

本日(2019/8/23)AWSの東京リージョン(AP-NORTHEAST-1)のあるゾーンにてEC2とRDSで障害が起こっており、こちらはマスメディア等で情報が出てくると思いますので事実についてはそちらにお任せします。

また、直撃を受けまだ復旧対応中の方、大変かとは思いますががんばってください。

 

tech.nikkeibp.co.jp

米アマゾン ウェブ サービス(Amazon Web Services)のクラウドサービス「Amazon Web Services(AWS)」の東京リージョンで2019年8月23日昼ごろ主要サービスに障害が発生した。同日午後3時時点で障害は続いているもようだ。スマホ決済サービスの「PayPay」など様々なサービスが使いにくい状態になっている。

 

私自身はAWSを直接使っていないのですが、クラウドに軸をおいたインフラエンジニアが本業ということもあり、感想をまとめておきます。

 

原因は何だろう

とにかくたくさんのサイトが影響を受けているようで、ツイッターにはたくさんのシステム障害情報があふれています。AWSをWebシステムとして使っているサイトはまだWebやアプリが見られなくてわかりやすいですが、基幹システムとして使っている企業もあるでしょう。また、影響を受けるシステムに連携している別のシステムもあるでしょうから、影響は連鎖的に広がっていると思います。

今回はシングルAZにおけるEC2とRDSにだけ問題が起こった、というAWS Service Health Dashboardの書き方からすると、シングルAZ構成だったシステムだけが問題が起きているのか?と言う話になります。しかしその割には大手のシステムも影響が起きています。大手がシングルAZだとは考えにくい。

一つの可能性としては、シングルAZになった瞬間リソースが理論的には半分になります。負荷が半分のリソースではさばけない・・という理由が考えられます。すぐに台数をスケールアウトできないような構成では復旧を待つ方を選択すると思うのですが、AWSの復旧に時間がかかっているために影響が長引いているという考え方です。また、スケールアウトしたくてもAWS側のリソースが急には提供できない可能性もあります。

もう一つの可能性は、RDS(データベース)でMulti AZを選択していたとして、片系に問題が起こった場合に全体障害が発生する可能性です。データベースにボトルネックがあればほとんどのシステムはちゃんと動きません。

この二つとも違うのかもしれませんし、別の理由があるのかもしれません。

この辺りは後日正確な記事が出てくるでしょう。進捗を注視します。

 

マルチクラウド

さて、今回の件でやはりマルチクラウドの運用方法が想起されるのではないかと思っています。

 

japan.zdnet.com

障害とは無縁のクラウドプロバイダーなど存在しない。これは、世界各地に代替となるデータセンターを展開している超大規模のプロバイダーであっても言えることだ。つまり、プロバイダーという単一の「カゴ」のなかに複数のワークロードという「卵」をすべて入れると、ミッションクリティカルなアプリケーションが利用不可能になるというリスクを背負い込むことになる。マルチクラウド戦略は配備と管理の頭痛をもたらす可能性がある(後述)ものの、セキュリティやフェールオーバー、障害復旧、すなわちレジリエンスを向上させるソリューションと言える。

 

今回はAWSですが、Azureの全体障害も記憶に新しいです。今年の5月の話です。

 

www.orangeitems.com

インフラは設計時こそ大事、作ってからではできることが限られる。Azureですらこの原則を守れず、大規模障害を発生させてしまっています。インフラエンジニアの我々は、これを教訓とし例えばマルチクラウドを検討するなど、できるだけ結合させず同時障害を避けるような価値観を持つ必要があると思います。一つのサービスに依存するのは危険です。

ビジネスの安定はインフラサービスの局所化が肝、です。

 

このときもマルチクラウドのことを思いましたが、AWSですらやはり障害は避けられない・・・。となるともうどうしても、クラウドは複数使っていかないといけないのだなあと思います。

クラウドエンジニア、なんて言葉はまだまだ認知度は薄いと思うのですが、どうもAWSが得意な人はAWS一筋、Azure、GCP、IBM CloudやOracle Cloudなど、一つが得意な人が多い印象です。

一つですら学習するのは大変です。二つ、三つとなると外国語をおぼえることと同じくらい大変です。

でも、やっぱり挑戦していかなきゃいけないなあ・・と。最近GCPを使うようになったのもその延長線上です。

どんなにAZだリージョンだと言っても、同じプラットフォームを使っている限りリスクありありです。ベンダーが違えばさすがに同時障害はゼロに近くなります。

クラウドエンジニアを標榜するなら、2つないしは3つは使いこなせないとこれからの時代まずいなあ、と現在のAWS障害進行状況を見て思いました。

 

追記

原因判明をうけてもう一本書きました。

クラウドは雲の中にあるんじゃない サーバールームで動いているんだ - orangeitems’s diary