見出し画像

AWSの耐障害性ワークショップに参加しました

はじめに

こんにちは!ごくたまに倒れることもありますが、身に降りかかる障害には強いほうだと思っているあさっちです。

少し前の話になりますが、AWSの方から声をかけていただき、7月1日に耐障害性ワークショップに参加してきました。弊社がご提供しているライフイズテックレッスン情報AIドリルといったサービスも規模が大きくなりユーザー数も増えているため、障害を事前に防ぐこと、そして万が一障害が発生した場合に迅速に復旧することの重要性がますます高まっています。

ワークショップが行われたのは目黒アルコタワーのセミナールーム。天井にはなんとドアのオブジェがぶら下げられていました。これは、ジェフ・ベゾスがAmazonを起業した頃、ドアに脚を付けて机にしていたというエピソードにちなんでいるそうです。


ワークショップの概要

ワークショップの概要についてご紹介します。今回のワークショップは、AWSでコンテナサービスを利用する際に、耐障害性の高いアーキテクチャに改善する方法をクエスト形式で体験できる内容でした。

アジェンダは、まず耐障害性に関する勉強会が1時間、その後、実際のAWS環境を使ったワークショップが1.5時間、最後に解説詳細と質疑応答が0.5時間という流れでした。

ワークショップでは、停止することが許されない金融系のサービスを運用していると想定して、以下の障害が発生しても止まらないように対策を実施しました。

  • ECSタスクの障害

  • EC2インスタンスの障害

  • RDSインスタンスの障害

  • AZ(アベイラビリティゾーン)の障害

その後、これらの対策が実際に効果を発揮しているかどうかをAWS Fault Injection Simulator (AWS FIS)のシミュレーションイベントでチェックし、参加者同士で点数を競い合いました。

学んだこと

AWS Fault Injection Simulator (AWS FIS) でカオスエンジニアリング

今回のワークショップではAWS上で構成変更を行った後、耐障害性が上がったかどうかを確認するために、AWS Fault Injection Simulator (AWS FIS)を利用しました。AWS FISは、AWS環境における障害、例えば、ネットワーク停止、インフラ障害、サービス中断などをシミュレートできます。

今回初めてAWS FISを使い、AWSの中にカオスエンジニアリングができるサービスがあることを知りました。
実際に運用しているサービスでも、定期的にAWS FISから障害のシナリオを実行し、サービスを継続できるか(冗長性、パフォーマンス)、障害を検知できるか(オブザーバビリティ)、迅速に回復できるか(回復性)を実験してみたいと思います。

ゾーンシフトでアベイラビリティゾーン(AZ)を切り離す

これまで、電源やネットワークの問題などアベイラビリティゾーン(AZ)の障害が起こった場合、こちらでできることはほとんどなく、AWSの対応を応援しながら待つしかないと思っていました。

ところが、ワークショップの課題の中で、特定のAZへのトラフィックを遮断するゾーンシフトという機能を知りました。AZの障害が起こったときそのままにしておくと、ロードバランサーから一定の割合でそのAZにトラフィックが振り分けられてしまい、ユーザー側で正常に動作しない可能性があります。ゾーンシフトによってトラフィックを遮断することで、異常なく稼働しているAZのみにトラフィックを振り分けることができます。

以下のリンクにある通り、ターゲットグループのクロスゾーン負荷分散をオフにした後、ロードバランサーでゾーンシフトを開始するという手順で設定することができます。今度万が一、AZの障害が起きてしまったときは活用したいと思います。

結果と感想

ワークショップの結果ですが、150点中149点を獲得することができました。(あと1点はどうすれば取れるのかはっきり分かりませんでした)ただ、このワークショップはある程度AWSの操作に慣れていないと、時間内にすべての課題を終わらせるのは難しいと感じました。
上位に入った景品として「AWSで実現するモダンアプリケーション入門」の本をいただいたので、耐障害性に限らず、今後もAWSで最適な構成を組めるように学びたいと思います。

ワークショップの順位表(Asakuraが私)

今回のアジェンダに入っていた耐障害性を高める技術の先には、マルチリージョンのディザスタリカバリなどの更なる対策があります。サービスレベルに応じて適切なバックアップやリカバリ計画を立てることの重要性を改めて考える機会になりました。それでは、また!


現在インフラ/SREグループのメンバーを絶賛募集中なので、ご興味があればぜひご連絡ください!