SHOEISHA iD

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

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

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

【Azureでカオスエンジニアリング】Azure Chaos StudioでVMSSにカオスを挿入する

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

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

実験結果の確認

 今回の実験では、インスタンスのCPU使用率が増加するアクションを実行するため、VMSSの自動スケールの機能により、スケールアウトが発動したことを確認できます。

スケールアウトの動作
スケールアウトの動作

 実験中の監視状態として、Application Insightsの可用性テストの結果画面を確認してみます。

 今回の場合は、インスタンスのCPU使用率が増加している時間帯、スケールアウトが発動した時間帯、スケールアウトが完了した時間帯のすべての時間帯で異常状態には至らず、アラート通知の発報も発生しない結果となりました。

 図中の緑の点で示す散布図はレスポンスタイムを示しており、縦軸がレスポンスタイム、横軸が時間を示しています。実験中は、レスポンスタイムがやや劣化しているものの、定常状態として定義した範囲内(=レスポンスタイムが3000ms以内)に収まっていることが確認できます。また、レスポンス結果もすべて成功(=HTTP Statusが200)であることが確認できます。

 そのため、今回の実験による障害に対しては、耐えることができるシステムであるという結果が得られます。

可用性テストの結果
可用性テストの結果

まとめ

 今回、Azure Chaos Studioを利用してVMSSにカオスを挿入する方法を説明し、安全にカオスを挿入するためのポイントを紹介しました。今回は非常にシンプルな構成のシステムを例に説明しましたが、実際のエンタープライズ向けシステムでは、より複雑なシステム構成をとることになると思います。その場合、どのような状態を定常状態と定義し、定常状態をどのように確認するかがポイントになります。

 今回のような実験を通じて、サーバーのCPU使用率やメモリ使用率といったリソース使用量のモニタリングだけでなく、スループットやレスポンスタイムといったサービスのパフォーマンスをモニタリングすることの重要性を体感でき、システムを運用する上で何をモニタリングするべきかを検討する材料になると考えます。

 カオスエンジニアリングのもともとの考え方としては、本番環境のシステムにカオスを挿入することで耐障害性を検証する方法論とされています。しかし、システム停止時の影響が大きいエンタープライズのシステムで本番環境にカオスを挿入することは、ハードルが高いのが現実です。

 そのような場合、テスト環境やステージング環境といった"本番相当"の環境でカオスを挿入する方針をとることは、筆者としては有効であると考えています。"本番相当"の環境での実験結果から、システムの課題を確認し、本番環境の改善を図るというサイクルを回すことで、カオスエンジニアリングを活用したシステム改善を図ることができると考えています。

 また、本記事執筆時点でパブリックプレビューとなっているAzure Load Testingを使用した負荷テストとChaos Studioの実験を組み合わせると、エンタープライズ向けシステムにとって、より有益な検証が期待できると考えています。

次回予告

 次回はAWS Fault Injection SimulatorによるAmazon Elastic Container Service(Amazon ECS)に対するカオス挿入方法を紹介します。昨今の主流となりつつあるコンテナサービスに対しては、どのようにカオス挿入するのかを見ていきたいと思います。

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

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

もっと読む

この記事の著者

中野 一成(株式会社NTTデータ)(ナカノ カズアキ)

 オンプレミスやパブリッククラウドで稼働する数多くの金融系システムの開発に従事。 最近では、Azureを使用した生命保険会社向けシステムの基盤開発、運用に携わる。

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング