チュートリアル: インスタンスの停止と使用開始をテストする AWS FIS - AWS 障害インジェクションサービス

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

チュートリアル: インスタンスの停止と使用開始をテストする AWS FIS

以下を使用できます..。 AWS Fault Injection Service (AWS FIS) は、アプリケーションがインスタンスの停止と起動をどのように処理するかをテストします。このチュートリアルでは、 を使用する実験テンプレートを作成します。 AWS FIS aws:ec2:stop-instances 1 つのインスタンスを停止し、次に 2 番目のインスタンスを停止する アクション。

前提条件

このチュートリアルを完了するには、以下を確実におこなってください。

  • アカウントで 2 つのテストEC2インスタンスを起動します。インスタンスを起動したら、両方のインスタンスIDsの を書き留めます。

  • を有効にする IAMロールを作成する AWS FIS ユーザーに代わってaws:ec2:stop-instancesアクションを実行する サービス。詳細については、「AWS FIS 実験用の IAM ロール」を参照してください。

  • へのアクセス権があることを確認する AWS FIS。詳細については、「」を参照してくださいAWS FIS ポリシーの例

ステップ 1: 実験テンプレートを作成する

を使用して実験テンプレートを作成する AWS FIS コンソール。テンプレートで、それぞれ 3 分間連続して実行する 2 つのアクションを指定します。最初のアクションは、テストインスタンスの 1 つを停止します。 AWS FIS はランダムに選択します。2 番目のアクションでは、両方のテストインスタンスが停止します。

実験テンプレートを作成するには
  1. を開く AWS FIS の コンソールhttps://console.aws.amazon.com/fis/

  2. ナビゲーションペインで、[実験テンプレート] を選択します。

  3. [実験テンプレートの作成] を選択します。

  4. [説明と名前] に、テンプレートの説明と名前を入力します。

  5. [操作] で、以下の作業を行います。

    1. [アクションの追加] を選択します。

    2. アクションに名前を入力します。例えば、stopOneInstance と入力します。

    3. [アクションの種類] で、aws:ec2:stop-instances を選択します。

    4. ターゲット では、ターゲットを次のように保持します。 AWS FIS がユーザーに代わって作成します。

    5. アクションパラメータ の場合期間 の後にインスタンスを開始するには、3 分 () を指定しますPT3M。

    6. [Save] を選択します。

  6. [ターゲット] で、以下の作業を行います。

    1. そのターゲットの編集を選択します。 AWS FIS は、前のステップで自動的に作成されます。

    2. デフォルト名を、よりわかりやすい名前に置き換えます。例えば、 oneRandomInstanceと入力します。

    3. [リソースタイプ]aws:ec2:instance になっていることを確認します。

    4. ターゲットメソッド で、リソース を選択し、2 IDsつのテストインスタンスIDsの を選択します。

    5. [選択モード] で、[カウント] を選択します。[リソース数] に、「1」と入力します。

    6. [保存] を選択します。

  7. [ターゲットの追加] を選択して、以下を実行します。

    1. ターゲットの名前を入力します。例えば、 bothInstancesと入力します。

    2. [リソースタイプ] で、[aws:ec2:instance] を選択します。

    3. ターゲットメソッド で、リソース を選択し、2 IDsつのテストインスタンスIDsの を選択します。

    4. [選択モード] で、すべてを選択します。

    5. [保存] を選択します。

  8. [アクション] セクションで、[アクションの追加] を選択します。以下の操作を実行します。

    1. [Name (名前)] に、アクションの名前を入力します。例えば、stopBothInstances と入力します。

    2. [アクションの種類] で、aws:ec2:stop-instances を選択します。

    3. 開始後で、最初に追加したアクションを選択します (stopOneInstance)。

    4. ターゲットで、追加した 2 番目のターゲットを選択します (bothInstances)。

    5. アクションパラメータ の場合期間 の後にインスタンスを開始するには、3 分 () を指定しますPT3M。

    6. [Save] を選択します。

  9. サービスアクセス で、既存のIAMロール を使用 を選択し、このチュートリアルの前提条件で説明されているように作成したIAMロールを選択します。ロールが表示されない場合は、必要な信頼関係があることを確認してください。詳細については、「AWS FIS 実験用の IAM ロール」を参照してください。

  10. (オプション)[タグ] では、[タグの追加] を選択して、タグのキーと値を指定します。追加するタグは、テンプレートを使用して実行される実験ではなく、実験テンプレートに適用されます。

  11. [実験テンプレートの作成] を選択します。確認を求められたら、「create」と入力して、[実験テンプレートを作成する] を選択します。

(オプション) 実験テンプレートを表示するには JSON

[エクスポート] タブを選択します。以下は、前述のコンソール手順でJSON作成された の例です。

{ "description": "Test instance stop and start", "targets": { "bothInstances": { "resourceType": "aws:ec2:instance", "resourceArns": [ "arn:aws:ec2:region:123456789012:instance/instance_id_1", "arn:aws:ec2:region:123456789012:instance/instance_id_2" ], "selectionMode": "ALL" }, "oneRandomInstance": { "resourceType": "aws:ec2:instance", "resourceArns": [ "arn:aws:ec2:region:123456789012:instance/instance_id_1", "arn:aws:ec2:region:123456789012:instance/instance_id_2" ], "selectionMode": "COUNT(1)" } }, "actions": { "stopBothInstances": { "actionId": "aws:ec2:stop-instances", "parameters": { "startInstancesAfterDuration": "PT3M" }, "targets": { "Instances": "bothInstances" }, "startAfter": [ "stopOneInstance" ] }, "stopOneInstance": { "actionId": "aws:ec2:stop-instances", "parameters": { "startInstancesAfterDuration": "PT3M" }, "targets": { "Instances": "oneRandomInstance" } } }, "stopConditions": [ { "source": "none" } ], "roleArn": "arn:aws:iam::123456789012:role/AllowFISEC2Actions", "tags": {} }

ステップ 2: 実験を開始する

実験テンプレートの作成が完了したら、それを使用して実験を開始できます。

実験を開始するには
  1. 作成した実験テンプレートの詳細ページに移動する必要があります。または、[実験テンプレート] の ID を選択して、詳細ページを開きます。

  2. [実験を開始する] を選択します。

  3. (オプション) 実験にタグを追加するには、[新しいタグを追加] を選択し、タグキーとタグ値を入力します。

  4. [実験を開始する] を選択します。確認を求められたら、start を入力して、[実験を開始する] を選択します。

ステップ 3: 実験の進行状況を追跡する

実験の完了、停止、または失敗するまで、実行中の実験の進行状況を追跡できます。

実験の進行状況を追跡するには
  1. 始めたばかりの実験の詳細ページにいるはずです。または、[Experiments (実験)] の ID を選択して、詳細ページを開きます。

  2. 実験の状態を表示するには、[詳細] ペインの [状態] を確認してください。詳細については、「実験状態」を参照してください。

  3. 実験の状態が [実行中] のときは、次のステップに進みます。

ステップ 4: 実験結果の確認

インスタンスが実験によって停止され、期待どおりに開始されたことを確認できます。

実験の結果を検証するには
  1. 新しいブラウザタブまたはウィンドウで https://console.aws.amazon.com/ec2/ で Amazon EC2コンソールを開きます。これにより、 で実験の進行状況を引き続き追跡できます。 AWS FIS Amazon コンソールで実験の結果を表示中の EC2コンソール。

  2. ナビゲーションペインで、[インスタンス] を選択します。

  3. 最初のアクションの状態が Pending から Running (AWS FIS コンソール)、ターゲットインスタンスの 1 つの状態が実行中から停止に変わります (Amazon EC2コンソール)。

  4. 3 分後、最初のアクションの状態が完了とすると、第 2 アクションの状態は実行中となり、もう一方のターゲットインスタンスの状態は停止に変わります。

  5. 3 分後、2 回目のアクションの状態が完了の場合、ターゲットインスタンスの状態は実行中となり、実験の状態は完了に変わります。

ステップ 5:クリーンアップ

この実験用に作成したテストEC2インスタンスが不要になった場合は、終了できます。

インスタンスを終了するには
  1. で Amazon EC2コンソールを開きますhttps://console.aws.amazon.com/ec2/

  2. ナビゲーションペインで、[インスタンス] を選択します。

  3. 両方のテストインスタンスを選択し、[インスタンスの状態][インスタンスの終了] の順に選択します。

  4. 確認を求めるメッセージが表示されたら、[終了] を選択します。

実験テンプレートが不要になった場合は、削除できます。

を使用して実験テンプレートを削除するには AWS FIS コンソール
  1. を開く AWS FIS の コンソールhttps://console.aws.amazon.com/fis/

  2. ナビゲーションペインで、[Experiment templates (実験テンプレート)] を選択します。

  3. 実験テンプレートを選択し、[アクション][実験テンプレートの削除] を選択します。

  4. 確認を求められたら、delete と入力し、[実験テンプレートの削除] を選択します。