翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
チュートリアル : テストインスタンスの停止とAWS FIS の使用開始
AWS Fault Injection Simulator (AWS FIS) を使用して、アプリケーションがインスタンスの停止と開始を処理する方法をテストします。このチュートリアルを使用して、 1 つのインスタンスを停止し、次に 2 番目のインスタンスを停止する AWS FIS aws:ec2:stop-instances
アクションを使用する実験テンプレートを作成します。
前提条件
このチュートリアルを完了するには、以下を確実におこなってください。
-
アカウントで 2 つのテスト EC2 インスタンスを起動します。インスタンスを起動したら、両方のインスタンスの ID を記録します。
-
ユーザーに代わって
aws:ec2:stop-instances
アクションを実行する AWS FIS サービスを有効にする IAM ロールを作成します。詳細については、「AWS FIS実験の IAM ロール」を参照してください。 -
があることを確認しますAWS FIS。詳細については、「AWS FIS ポリシー例」を参照してください。
ステップ 1: 実験テンプレートを作成する
AWS FIS コンソールを使用して実験テンプレートを作成する。テンプレートで、それぞれ 3 分間連続して実行する 2 つのアクションを指定します。最初のアクションは、テストインスタンスの 1 つを停止します。AWS FIS がランダムに選択します。2 番目のアクションは、両方のテストインスタンスを停止します。
実験テンプレートを作成するには
https://console.aws.amazon.com/fis
で AWS FIS コンソール を開きます。 -
ナビゲーションペインで、[Experiment templates] (実験テンプレート) を選択します。
-
[Create experiment template] (実験テンプレートの作成) を選択します。
-
[説明と名前] に、テンプレートの説明と名前を入力します。
-
[操作] で、以下の作業を行います。
-
[Add action] を選択します。
-
アクションに名前を入力します。例えば、
stopOneInstance
と入力します。 -
[アクションの種類] で、aws:ec2:stop-instances を選択します。
-
Target には、AWS FIS自動的に作成されるターゲットをそのまま使用してください。
-
[Action] を選択し、3 分 (PT3M) を指定します。
[Save] (保存) を選択します。
-
-
[ターゲット] で、以下の作業を行います。
-
AWS FIS が前のステップで自動的に作成したターゲットの編集を選択します。
-
デフォルト名を、よりわかりやすい名前に置き換えます。例えば、
oneRandomInstance
と入力します。 -
[リソースタイプ] がaws:ec2:instance になっていることを確認します。
-
[ターゲットメソッド] で、リソース ID をクリックし、2 つのテストインスタンスの ID を選択します。
-
選択モードの場合は、「カウント」を選択します。リソース数に、「
1
」と入力します。 [Save] (保存) を選択します。
-
-
[ターゲットの追加] を選択して、以下を実行します。
-
ターゲットの名前を入力します。例えば、
bothInstances
と入力します。 -
[リソースタイプ] で、[aws:ec2:instance] を選択します。
-
[ターゲットメソッド] で、リソース ID をクリックし、2 つのテストインスタンスの ID を選択します。
-
[選択モード] で、すべてを選択します。
[Save] (保存) を選択します。
-
-
[アクション] セクションで、[アクションの追加] を選択します。次のコマンドを実行します
-
[Name (名前)] に、アクションの名前を入力します。例えば、
stopBothInstances
と入力します。 -
[アクションの種類] で、aws:ec2:stop-instances を選択します。
開始後で、最初に追加したアクションを選択します (
stopOneInstance
)。-
ターゲットで、追加した 2 番目のターゲットを選択します (
bothInstances
)。 -
[Action] を選択し、3 分 (PT3M) を指定します。
[Save] (保存) を選択します。
-
-
サービスアクセスでは、[既存の IAM ロールを使用する] を選択し、このチュートリアルの前提条件で説明されているように作成した IAM ロールを選択します。ロールが表示されない場合は、必要な信頼関係があることを確認します。詳細については、「信頼ポリシー例」を参照してください。
-
(オプション) タグで、[Add Tag] (タグの追加) を選択して、タグのキーと値を指定します。追加したタグは、テンプレートを使用して実行される実験ではなく、実験テンプレートに適用されます。
-
[Create experiment template] (実験テンプレートの作成) を選択します。確認を求められたら、「
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: 実験を開始する
実験テンプレートの作成が完了したら、それを使用して実験を開始できます。
実験を開始するには
-
作成した実験テンプレートの詳細ページに移動する必要があります。または、[Experiment templates] (実験テンプレート) の ID を選択して、詳細ページを開きます。
-
[実験を開始する] を選択します。
-
(オプション) 実験にタグを追加するには、[新しいタグの追加] をクリックし、タグキーとタグ値を入力します。
-
[実験を開始する] を選択します。確認を求められたら、
start
を入力して、[実験を開始する] を選択します。
ステップ 3: 実験の進行状況を追跡する
実験の完了、停止、または失敗するまで、実行中の実験の進行状況を追跡できます。
実験の進行状況を追跡するには
-
始めたばかりの実験の詳細ページにいるはずです。または、[Experiments] (実験) の ID を選択して、詳細ページを開きます。
-
実験の状態を表示するには、[詳細] ペインの [状態] を確認してください。詳細については、「実験状態」を参照してください。
-
実験の状態が[実行中] のときは、次のステップに進みます。
ステップ 4: 実験結果の確認
インスタンスが実験によって停止され、期待どおりに開始されたことを確認できます。
実験の結果を検証するには
-
新しいブラウザタブまたはウィンドウで、Amazon EC2 コンソール https://console.aws.amazon.com/ec2/
を開きます。これにより、AWS FIS コンソールで実験の進行状況を追跡し続けながら、Amazon EC2 コンソールで実験の結果を表示することができます。 -
ナビゲーションペインで、[インスタンス] を選択します。
-
最初のアクションの状態が保留中から実行中(AWS FIS コンソール) に変わるとき、いずれかのターゲットインスタンスの状態が実行中から停止(Amazon EC2 コンソール) に変わります。
-
3分後、最初のアクションの状態が完了とすると、第2アクションの状態は実行中となり、もう一方のターゲットインスタンスの状態は停止に変わります。
-
3分後、2回目のアクションの状態が完了の場合、ターゲットインスタンスの状態は実行中となり、実験の状態は完了に変わります。
ステップ 5:クリーンアップ
実験で作成したテスト EC2 インスタンスが不要になった場合は、終了できます。
インスタンスを終了するには
-
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインで、[インスタンス] を選択します。
-
両方のテストインスタンスを選択し、[インスタンスの状態]、[インスタンスの終了] の順に選択します。
-
確認を求めるメッセージが表示されたら、[終了] を選択します。
実験テンプレートが不要になった場合は、削除できます。
AWS FIS コンソールを使用して実験テンプレートを削除するには
https://console.aws.amazon.com/fis
で AWS FIS コンソール を開きます。 -
ナビゲーションペインで、[Experiment templates] (実験テンプレート) を選択します。
-
実験テンプレートを選択し、[アクション]、[実験テンプレートの削除] を選択します。
-
確認を求められたら、
delete
と入力し、[実験テンプレートの削除] を選択します。