【AWSのコンテナでカオスエンジニアリング】AWS Fault Injection SimulatorでECSにカオスを挿入する
AWSとAzureのマネージドサービスで実践カオスエンジニアリング 第4回
実験内容
実験ではタスクを2つ起動するようにしておき、そのうちの1つを停止しても、利用者が継続してシステムを利用し続けることができることを確認します。
前述の疑似リクエストを利用者からのリクエストと見立て、定義したCloudWatchアラームが発報されなければ、正常状態であると定義します。
実験テンプレートの作成
前回の記事と同じく、まずは実験テンプレートの作成を行います。
今回のシステムはFargate起動タイプで動作させているため、アクションはタスクの停止である「aws:ecs:stop-task」を利用します。またすぐに実験が終了してしまうことを防ぐため、今回も待機する「aws:fis:wait」のアクションを追加します。5分間待機するように設定します。

ターゲットとして、clusterとserviceを指定します。前述のサンプルソリューションでは、cluster名はtwelve-factor-app-環境名、service名はtwelve-factor-app-serviceとなります。

実験の実施
実験を実施する前に、疑似リクエストを作成する処理を実行しておきます。先ほどの設定の場合、最初の1分間は多数のリクエストが集中するため、少々時間を置いてから、実験を開始します。実験を開始する前にCloudWatchアラームのステータスがOKとなっていることを確認しておいてください。
実験が完了すると、下記のような結果の確認が可能になるかと思います。

また、ECSの画面で下記のようにイベント履歴を確認できます。タスクの停止された数十秒後に別のタスクが立ち上がっていることが確認できるかと思います。

まとめ
この回では、Amazon ECSのFargate起動タイプで構成されたシステムに対してFISでカオスを挿入する方法を紹介しました。システムが稼働中の状況を再現させ、リアルに近い実践的なカオスエンジニアリングの方法も併せて紹介しました。
次回予告
次回はAzure Chaos Studioによるコンテナに対するカオス挿入の方法を紹介します。ぜひAWSとの違いにご注目ください!
この記事は参考になりましたか?
既に会員の方はを行ってください。
- AWSとAzureのマネージドサービスで実践カオスエンジニアリング連載記事一覧
-
- 【Azureのコンテナでカオスエンジニアリング】Azure Chaos StudioでAK...
- 【AWSのコンテナでカオスエンジニアリング】AWS Fault Injection Sim...
- 【Azureでカオスエンジニアリング】Azure Chaos StudioでVMSSにカオ...
- この記事の著者
-
奥村 康晃(株式会社NTTデータ)(オクムラ ヤスアキ)
NTTデータ入社以来、クラウドサービスのAPIを連携させることで効率的な管理を可能とするクラウド管理プラットフォームの開発に従事。現在では、クラウド導入の技術コンサルや組織での技術戦略立案にも携わる。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
