4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AWS Fault Injection Simulatorハンズオン + ハンズオン後の環境見返し

Last updated at Posted at 2021-05-15

AWSの基礎を学ぼう 特別編 最新サービスをみんなで触ってみる はじめてのカオスエンジニアリングに参加しました。
2020年12月にアナウンスされた「AWS Fault Injection Simulator」を皆で触ってみる会。
以降、FISと記載

FISはインスタンスを停止、プロセスKillしたり、負荷を与えてみたりという実験をマネージドに行えるサービス(という理解)
AWS Fault Injection Simulator とは

ハンズオンの手順は公開されているので、そのリンクを貼りつつ
参加して得られた情報や所感、ハンズオンのあと環境を見返してみて気づいたことなどを記載します。
インスタンスを止めたり、負荷を与えるのは手動でもできますが、FISを使うとどういう利点があるか?共有できたら幸い。

ハンズオン

手順と設定のリポジトリ

30分くらいあればできると思います。

:warning: ハンズオン用に使うアカウントに、もし別の用途のインスタンスが既にある場合、間違ってそれをFISの対象にしないようには注意が必要。

このハンズオンでやること

  • WindowsとLinuxインスタンスをFISでStopとTerminate。実験終了後の復帰確認。

    • 実験ターゲットをインスタンスIDで指定
    • 実験アクションの選択方法
  • Auto ScalingのインスタンスをFISでTerminate

    • 実験ターゲットをタグで指定
    • 実験によるTerminateのあとAuto Scalingによる復旧

FIS使ってインスタンス落とせるとちょっと嬉しいです

詰まるかもしれないところ

1点挙げるとしたら以下くらい。FIS特有の話ではないけど。

  • IAMの権限や信頼関係の反映にはタイムラグがあるので、FIS実行時に「ちゃんと権限つけてるのに権限エラーが出た」みたいなのは、ちょっと待って再実行したらいけたりする

手順外で学べたこと

ハンズオンを進める中で講師の方の補足や、チャット欄でのやりとり。自分で触ったところなど、覚えているところだけメモ。

FIS

アクション

ハンズオンではEC2のStopとTerminateをやりましたが、他にもアクションはいろいろ選べる。
とくにSSMコマンドが選べるのは実用性高い。

スクリーンショット_2021-05-15_15_20_33.png

アクションは複数設定でき順番もコントロール可能。順番のコントロールは「このアクションの後開始」という条件をつけることで、できるようです。
最初、一生懸命ドラッグしてアクションの実行順を動かそうとしてました。

スクリーンショット_2021-05-15_15_38_00.png

ターゲット

現在選べるもの
スクリーンショット 2021-05-15 16.05.41.png

キャプチャ貼って気づいたけど、IAMロールがあるな、、これ権利一時的に剥奪したりしたらマネージドなサービスにアクセスできないなどの実験もできるのかな、、、影響範囲は考えないといけないけど。(未検証)

実験の中断

CWメトリクスと連携させることで、実験を中止させる機能がある。
たとえば「20%しかインスタンスを落とさないはずが、CWメトリクスで想定外のダウン率を検知したらただちに実験を止める」などに使える。

スクリーンショット 2021-05-15 15.43.11.png

Q.ターゲットの選択間違いの予防策を作るとしたら?

A. 今は専用の仕組みはないけど、アクションはSSMのものを使用し、そのSSMアクションに「手動承認(aws:approve)」を入れておくと、2重チェックを設けることができる。

その他

EC2インスタンスの一覧画面で所属しているAutoScalingグループを表示する方法

EC2インスタンス一覧画面の設定(⚙)からタグ列に「aws:autoscaling:groupName」を追加

スクリーンショット_2021-05-15_15_26_34.png

インスタンス___EC2_Management_Console.png

ハンズオンの手順の関係上、同じNameタグを持つけどASに所属している/していないインスタンスがそれぞれできるので、それ見分けたいですね〜という話がChatで出て、他の参加者の方が「これでいけました」って感じで共有してくれました。

ハンズオン後の環境を見返してみて

実験の履歴が残る

AWS_FIS_Console.png

手動で実行するよりもアドバンテージがある部分だと思います。

CloudTrail上にはどのように記録されるか?

CloudTrail_Management_Console.png

CloudTrailの履歴から「このTerminateはFISがやったんだよ」というのが読み取れます。
またUser nameのところに 実験の履歴のExperiment IDが含まれるので、どの実験によるものか追跡可能です。

所感

FISについて

「手順を明確に定義できる」「履歴が残る」「順番のコントロールや、実験時間、CWと組み合わせた緊急停止条件」など、手動で行うよりも利点となる部分はけっこうあると感じました。

今後さらにターゲットとして選択できるサービスが増えていくといいなぁ。

ハンズオンについて

リアルタイム参加すると質問できるし、進めながらの補足を聞いたり、他の参加者の考えや感想、質問なども見れたり情報量が多く、動いた感動もわかちあえるのがいいところだなぁと感じました。
土曜の昼という時間帯も、落ち着いて参加できるので個人的にはよかったです。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?