#AWS Fault Injection Simulator#
わざと障害を発生させて、復旧のテストをし、実際の復旧に備えるためのツールになります。
所謂、カオスエンジニアリングサービスになります。
#対象のリソースとアクション#
随時更新されるかと思いますので、ドキュメントを参考にしましょう。
今回指定するリソースとアクションは、aws:ec2:stop-instances
にしてみます。
#やってみる#
EC2インスタンスの1つを停止し、次に両方のインスタンスを停止する実験テンプレートを作成してみます。
基本的な手順としては、実験テンプレートを作成 → 実験する
##IAMロール##
まずは、ドキュメントの通り、FISサービスがユーザーに代わってアクションを実行する権限を付与するIAMロールを作成しておきます。
##CloudWatchアラーム##
Cloudwatch アラームがトリガーされた場合に実験を停止するといったこともできますが、今回この停止条件を指定しないものとします。
##実験テンプレートを作成する##
説明とアクセス許可
適当な「説明」と先程作成した「IAMロール」を指定。
アクション1
「名前」に適当なアクション名を入力、「アクションタイプ」は "aws:ec2:stop-instances"、「アクションパラメータ」は ”5” とします。
ターゲット
「ターゲット」に適当なターゲット名を入力、「リソースタイプ」は "aws:ec2:instance" を選択。
「ターゲットメソッド」で、リソースIDを選択し、「選択モード」は ”数”、「リソースの数」は ”1” とします。
「ターゲット」に適当なターゲット名を入力、「リソースタイプ」は "aws:ec2:instance" を選択。
「ターゲットメソッド」で、リソースIDを選択し、「選択モード」は ”すべて” とします。
アクション2
「名前」に適当なアクション名を入力、「アクションタイプ」は "aws:ec2:stop-instances"。
「次の後開始」では、アクション1で作成したものを指定し、「ターゲット」は、ターゲットで作成した2つ目のターゲットを指定します。
「アクションパラメータ」は ”5” とします。
停止条件
先述の通り、今回は指定しないものとします。
##実験##
実験結果の、状態については、ドキュメントを参考に。