SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

AWSとAzureのマネージドサービスで実践カオスエンジニアリング

【AWSのコンテナでカオスエンジニアリング】AWS Fault Injection SimulatorでECSにカオスを挿入する

AWSとAzureのマネージドサービスで実践カオスエンジニアリング 第4回

  • X ポスト
  • このエントリーをはてなブックマークに追加

実験内容

 実験ではタスクを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との違いにご注目ください!

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
AWSとAzureのマネージドサービスで実践カオスエンジニアリング連載記事一覧

もっと読む

この記事の著者

奥村 康晃(株式会社NTTデータ)(オクムラ ヤスアキ)

 NTTデータ入社以来、クラウドサービスのAPIを連携させることで効率的な管理を可能とするクラウド管理プラットフォームの開発に従事。現在では、クラウド導入の技術コンサルや組織での技術戦略立案にも携わる。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/16846 2022/11/25 11:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング