[アップデート] AWS FIS の実験ログやコンソールに実験エラーの詳細情報が出力されるようになり、トラブルシューティングしやすくなりました

[アップデート] AWS FIS の実験ログやコンソールに実験エラーの詳細情報が出力されるようになり、トラブルシューティングしやすくなりました

Clock Icon2024.08.16

いわさです。

先日いつものように AWS FIS のドキュメントを眺めていたところ新しいトラブルシューティングガイドが追加されていることを確認しました。

DCC6DA82-5DA4-4791-825A-63AF168FF701.png

AWS CLI のほうも更新されており、こちらの更新履歴からも実験のエラーに関する情報が追加され、よりトラブルシューティングがしやすくなったようです。

https://github.com/aws/aws-cli/commit/2ee54ff7d3e3553763cbe9878b2ffa404eaff5b0

確認してみる

試したみたところ、実験ログでもコンソールでも本機能はどちらでも確認することが出来ました。
実験ログというのは次のアクティビティログを指しています。

https://dev.classmethod.jp/articles/aws-fis-logging/

今回は CloudWatch Logs へ出力するように実験テンプレート作成時に実験ログの出力を構成します。

2C5CF2ED-9449-4DFC-B44E-8D7B26EAB84D.png

試しに EC2 の CPU ストレステストを構成し、ターゲット EC2 に該当がない状態の実験を行ってみました。
実行してみると、実験が失敗しました。

2503F2C0-2A88-483D-9C54-47D119774F4A.png

画面上部には実験の結果に対するエラーコードのようなものが表示されています。
ちなみにこちらの Learn More リンクをクリックすると次のドキュメントに遷移するのですが、こちらのページは今回のアップデートで新しく追加されたものです。

https://docs.aws.amazon.com/fis/latest/userguide/troubleshooting.html

上記ページではどういう時にどういったエラーコードが表示されるのかが明記されています。
実験ログを確認してみるとエラーコードが出力されるようになっていました。

以下の赤枠部分が今回新たに情報として出力されるようになった部分です。
今までも reason でエラー理由を確認することは出来てはいたのですが、よりトラブルシューティングに役立てる情報がいくつか追加されたという形です。

B4A6BA43-6165-41B9-ABB0-AEF7B60F74E3.png

ターゲットが不正な場合は先程のようにエラーコードが出力されるだけでした。
続いては、実験テンプレートの構成が不正な状態で実験を実行してみたいと思います。

E98BF35C-7C32-4EFD-A263-36071D0CD011.png

期待どおり実験が失敗しました。
確認してみると今度は実験ステータスのコンテキスト情報が追加されています。
ステータスのコンテキスト情報からはコードとロケーションを確認することが出来ます。
ちなみにコンソール上のコンテキスト情報については実験ログの出力を無効化している場合でも確認が可能です。

理由から SSM ドキュメントの指定に問題がありそうだということがわかりますが、今回追加された情報によってどのアクションに問題がありそうかまで確認出来ます。

ログでも次のように location が追加されており、さらに account_id も出力されています。
クロスアカウントで実験した場合でもアカウントを特定することが出来ますね。

DB0CB898-4750-410D-8D2B-366A991EF7A8.png

実際にエラー情報に基づいて構成をチェックしてみると documentArn の指定に不備があることがわかりました。

1FA75DF2-3241-4F49-9ACA-CB04A2606CC1.png

さいごに

本日は AWS FIS の実験ログやコンソールに実験エラーの詳細情報が出力されるようになり、トラブルシューティングしやすくなったので、実際に実験を失敗させて挙動を観察してみました。

従来よりも得られる情報が増えたので、トラブルシューティングの際に役立ててください。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.