SHOEISHA iD

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

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

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

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

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

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

実験の作成

 ターゲットの有効化が完了したら、実験を作成します。実験では、実行するアクションの設定として順次実行される「ステップ」と、並列で実行される「ブランチ」を定義します。設定できるアクションは、障害ライブラリのドキュメントに記載されたものの中から選択できます。

 今回は、CPUへの負荷を発生させる「CPU Pressure」を使用します。「CPU Pressure」では、パラメーターとして「障害が継続する時間(分)」「CPUへの負荷量(%)」「VMSSの場合は負荷を発生させる対象のインスタンスID」を設定します。今回は、既定の2つのインスタンスに対して、CPU使用率が90%となる負荷を30分間発生させるように設定します。

 アクションを設定した後は、ターゲットとなるリソースを指定します。ここでは、前述の手順でターゲットとして有効化したリソースが選択できるようになっており、今回の対象となるVMSSリソースを指定します。このように、実験作成時に明確にターゲットとなるリソースを指定することで、意図しないリソースに対してはカオスが挿入されない仕組みになっています。(「影響範囲の限定」観点のポイント)

実験の作成1:実験の編集
実験の作成1:実験の編集
実験の作成2:障害の設定
実験の作成2:障害の設定
実験の作成3:ターゲットの設定
実験の作成3:ターゲットの設定

 なお、作成した実験の内容はARMテンプレートとしてコード管理ができるため、他者と実験内容を共有できます。(「実験管理の負荷」の観点)

ターゲットへのアクセス許可設定

 実験を作成すると、実験ごとのシステム割り当てマネージドIDが作成されます。このIDに対しターゲットのリソースへのアクセス許可を設定します。必要なアクセス許可設定は、障害プロバイダーのドキュメントで確認できます。

 今回の実験では、作成されたシステム割り当てマネージドIDに対し、ターゲットとなるVMSSの「Reader(閲覧者)」ロールを付与します。前述の実験作成時にターゲットを指定するだけでなく、対象リソース側でもChaos Studioの実験へのアクセス権を付与する方式となっていることで、誤ったカオス挿入を防ぎ、安心して実験ができる仕組みとなっています。(「影響範囲の限定」観点のポイント)

ターゲットへのアクセス許可設定
ターゲットへのアクセス許可設定

実験の実行

 実験をクリックし、「開始」、「OK」の順にクリックすることで実験が実行されます。

 実験が開始されると履歴の状態が「Running」となり、実験が終了すると状態が「Success」に遷移します。

 実験結果は履歴から「詳細」をクリックすることで、いつ、どのリソースに対して、どのようなカオスを挿入したかの実験の記録を確認できます。また、Chaos Studioの実験に対し、アクセス制御(IAM)を設定することができるため、他者と実験内容や実験結果の共有ができます。(「実験管理の負荷」観点のポイント)

 なお、実験の実行時にアクセス許可設定などに不備がある場合は、実験の開始後に状態が「Failed」となり、実験の実行に失敗します。実行に失敗した場合は、詳細をクリックし、エラー内容とトラブルシューティングの内容を参考に、設定を見直した上で再実行するとよいです。

実験結果
実験結果

次のページ
実験結果の確認

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

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

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング