

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# チュートリアル: 定期的な実験をスケジュールする
<a name="fis-tutorial-recurring-experiment"></a>

 AWS Fault Injection Service (AWS FIS) を使用すると、ワークロードで AWS フォールトインジェクション実験を実行できます。これらの実験は、指定されたターゲットに対して実行する 1 つ以上のアクションがあるテンプレート上で実行します。を使用する場合は Amazon EventBridge、実験を 1 回限りのタスクまたは定期的なタスクとしてスケジュールできます。

このチュートリアルを使用して、5 分ごとに AWS FIS 実験テンプレートを実行する EventBridge スケジュールを作成します。

**Topics**
+ [前提条件](#recurring-experiment-prerequisites)
+ [ステップ 1: IAM ロールとポリシーを作成する](#recurring-experiment-step1)
+ [ステップ 2: ス Amazon EventBridge ケジューラを作成する](#recurring-experiment-step2)
+ [ステップ 3: 実験を検証](#recurring-experiment-step3)
+ [ステップ 4: クリーンアップする](#recurring-experiment-step4)

## 前提条件
<a name="recurring-experiment-prerequisites"></a>

このチュートリアルを開始する前に、 にはスケジュールに従って実行する AWS FIS 実験テンプレートが必要です。動作する実験テンプレートがすでにある場合は、テンプレート ID と AWS リージョンをメモしておいてください。それ以外の場合は、[チュートリアル: FIS を使用してインスタンスの停止と開始 AWS をテストする](fis-tutorial-stop-instances.md) の手順に従ってテンプレートを作成してから、このチュートリアルに戻ってください。

## ステップ 1: IAM ロールとポリシーを作成する
<a name="recurring-experiment-step1"></a>



**IAM ロールとポリシーを作成するには**

1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) を開きます。

1. 左側のナビゲーションペインから、**[ロール]** を選択し、**[ロールの作成]** を選択します。

1. **カスタム信頼ポリシー**を選択し、次のスニペットを挿入して、ス Amazon EventBridge ケジューラがユーザーに代わってロールを引き受けることを許可します。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                     "Service": "scheduler.amazonaws.com"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

   [**次へ**] を選択します。

1. **[アクセス許可の追加]** で **[バケットポリシーの追加]** を選択します。

1. **[JSON]** を選択し、以下のポリシーを挿入します。*your-experiment-template-id* の値を、前提条件のステップで指定した実験のテンプレート ID に置き換えてください。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "fis:StartExperiment",
               "Resource": [
                   "arn:aws:fis:*:*:experiment-template/your-experiment-template-id",
                   "arn:aws:fis:*:*:experiment/*"
               ]
           }
       ]
   }
   ```

------

   特定のタグ値を持つ AWS FIS 実験テンプレートのみを実行するようにスケジューラを制限できます。たとえば、次のポリシーでは、すべての FIS AWS 実験に対する `StartExperiment` アクセス許可を付与しますが、スケジューラが というタグの付いた実験テンプレートのみを実行するように制限します`Purpose=Schedule`。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "fis:StartExperiment",
               "Resource": "arn:aws:fis:*:*:experiment/*"
           },
           {
               "Effect": "Allow",
               "Action": "fis:StartExperiment",
               "Resource": "arn:aws:fis:*:*:experiment-template/*",
               "Condition": {
                   "StringEquals": {
                       "aws:ResourceTag/Purpose": "Schedule"
                   }
               }
           }
       ]
   }
   ```

------

   [**Next: Tags (次へ: タグ)**] を選択します。

1. **[次へ: レビュー]** を選択します。

1. **[ポリシーの確認]** で、ポリシー `FIS_RecurringExperiment` に名前を付け、**[ポリシーの作成]** を選択します。

1. **[アクセス許可の追加]**] で、新しい `FIS_RecurringExperiment` ポリシーをロールに追加し、**[次へ]** を選択します。

1. **[名前、確認、および作成]** で、ロール `FIS_RecurringExperiment_role` に名前を付け、**[ロールを作成]** を選択します。

## ステップ 2: ス Amazon EventBridge ケジューラを作成する
<a name="recurring-experiment-step2"></a>



**ス Amazon EventBridge ケジューラを作成するには**

1. Amazon EventBridge コンソールの [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) を開いてください。

1. 左側のナビゲーションペインで **[スケジュール]** を選択します。

1. FIS 実験テンプレート AWS リージョン と同じ AWS にあることを確認します。

1. **[スケジュールの作成]** を選択し、以下を入力します。
   + **[スケジュール名]** に、`FIS_recurring_experiment_tutorial` を挿入します。
   + **[スケジュールパターン]** で、**[定期的なスケジュール]** を選択します。
   + **[スケジュールタイプ]** で **[レートベースのスケジュール]** を選択します。
   + **[レート表現]** で **[5 分]** を選択します。
   + **[フレキシブルタイムウィンドウ]** で **[オフ]** を選択します。
   + (オプション) **[タイムフレーム]** でタイムゾーンを選択します。
   + **[次へ]** をクリックします。

1. **[ターゲットを選択]** で **[すべての API]** を選択し、**「AWS FIS」**を検索します。

1. **[AWS FIS]** を選択し、 **[StartExperiment]** を選択します。

1. **[入力]** に、次の JSON ペイロードを挿入します。*your-experiment-template-id* の値を実験用のテンプレート ID に置き換えてください。`ClientToken` はスケジューラーの一意の識別子です。このチュートリアルでは、ス Amazon EventBridge ケジューラで許可されているコンテキストキーワードを使用しています。詳細については、『*Amazon EventBridge ユーザーガイドの*』「[コンテキスト属性の追加](https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-schedule-context-attributes.html)」を参照してください。

   ```
   {
       "ClientToken": "<aws.scheduler.execution-id>",
       "ExperimentTemplateId": "your-experiment-template-id"
   }
   ```

   **[Next (次へ)]** をクリックします。

1. **(オプション) **[設定]** では、**再試行ポリシー**、**デッドレターキュー (DLQ)**、暗号化**の設定を設定できます。または、デフォルト値のままにします。

1. **[許可]** で、**[既存のロールを使用]** を選択してから、`FIS_RecurringExperiment_role`を検索します。

1. **[Next (次へ)]** をクリックします。

1. **[スケジュールの確認と作成]** で、スケジューラーの詳細を確認し、**[スケジュールの作成]** を選択します。

## ステップ 3: 実験を検証
<a name="recurring-experiment-step3"></a>

**FIS AWS 実験がスケジュールどおりに実行されたことを確認するには**

1. [https://console.aws.amazon.com/fis/](https://console.aws.amazon.com/fis/) AWS で FIS コンソールを開きます。

1. 左のナビゲーションペインで **[実験]** を選択します。

1. スケジュールを作成して 5 分後に、実験の実行が表示されます。

## ステップ 4: クリーンアップする
<a name="recurring-experiment-step4"></a>

**ス Amazon EventBridge ケジューラを無効にするには**

1. Amazon EventBridge コンソールの [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) を開いてください。

1. 左側のナビゲーションペインで **[スケジュール]** を選択します。

1. 新しく作成したスケジューラーを選択し、**[無効]** を選択します。