教學課程:測試執行個體停止並開始使用 AWS FIS - AWS 故障注入服務

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

教學課程:測試執行個體停止並開始使用 AWS FIS

您可以使用AWS故障注入服務 (AWSFIS) 來測試應用程式如何處理執行個體停止和啟動。使用此自學課程建立實驗範本,該範本使用 AWS FIS aws:ec2:stop-instances 動作停止一個例證,然後停止第二個例證。

必要條件

若要完成此自學課程,請確定您執行下列動作:

  • 在您的帳戶中啟動兩個測試 EC2 執行個體。啟動執行個體後,請記下兩個執行個體的 ID。

  • 建立可讓 AWS FIS 服務代表您執行aws:ec2:stop-instances動作的 IAM 角色。如需詳細資訊,請參閱 適用於 AWS FIS 實驗的 IAM 角色

  • 請確定您可以存取 AWS FIS。如需詳細資訊,請參閱 AWSFIS 原則範例

步驟 1:建立實驗範本

使用 AWS FIS 主控台建立實驗範本。在範本中,您可以指定兩個動作,每個動作會依序執行三分鐘。第一個動作會停止 AWS FIS 隨機選擇的其中一個測試執行個體。第二個動作會停止兩個測試執行個體。

建立實驗樣板的步驟
  1. 開啟AWS金融資訊系統控制台,網址為 https://console.aws.amazon.com/fis/

  2. 在導覽窗格中,選擇 [實驗範本]。

  3. 選擇創建實驗模板

  4. 在「描述」和「名稱」中,輸入範本的描述和名稱。

  5. 對於 Actions (動作),執行下列動作:

    1. 選擇新增動作

    2. 輸入動作的名稱。例如,​輸入 stopOneInstance

    3. 針對「動作類型」,選擇 aw: ec2: 停止執行個體。

    4. 針對目標,請保留 AWS FIS 為您建立的目標。

    5. 對於「動作參數」,請在持續時間後啟動執行個體,指定 3 分鐘 (PT3M)。

    6. 選擇儲存

  6. 對於 Targets (目標),執行下列動作:

    1. 針對在上一個步驟中為您自動建立 AWS FIS 的目標,選擇 「編輯」

    2. 以更具描述性的名稱取代預設名稱。例如,​輸入 oneRandomInstance

    3. 驗證資源類型aw:ec2: 實例。

    4. 對於 Target 方法,請選擇資源 ID,然後選擇兩個測試實例的 ID。

    5. 選取模式中,選擇「計數」。針對「資源數目」,輸入1

    6. 選擇儲存

  7. 選擇新增目標,然後執行下列動作:

    1. 輸入目標的名稱。例如,​輸入 bothInstances

    2. 對於資源類型,請選擇 aw: ec2: 執行個體。

    3. 對於 Target 方法,請選擇資源 ID,然後選擇兩個測試實例的 ID。

    4. 針對「選取」模式,選擇「全部

    5. 選擇儲存

  8. 在「動」區段中,選擇「新增動作」。請執行下列操作:

    1. 在「名稱」中,輸入動作的名稱。例如,​輸入 stopBothInstances

    2. 針對「動作類型」,選擇 aw: ec2: 停止執行個體。

    3. 在「在之後開始」中,選擇您新增的第一個動作 (stopOneInstance)。

    4. 針對「目標」,選擇您新增的第二個目標 (bothInstances)。

    5. 對於「動作參數」,請在持續時間後啟動執行個體,指定 3 分鐘 (PT3M)。

    6. 選擇儲存

  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. 選擇 Start experiment (開始實驗)。

  3. (可選)要在實驗中添加標籤,請選擇「添加新標籤」,然後輸入標籤鍵和標籤值。

  4. 選擇 Start experiment (開始實驗)。出現確認提示時,輸入start並選擇「開始實驗」。

步驟 3:追蹤實驗進度

您可以追蹤執行中實驗的進度,直到實驗完成、停止或失敗為止。

追蹤實驗的進度
  1. 您應該在剛開始實驗的詳細信息頁面上。否則,請選擇實驗,然後選擇實驗的 ID 以打開詳細信息頁面。

  2. 要查看實驗的狀態,請檢查詳細信息窗格中的狀態。如需詳細資訊,請參閱實驗狀態

  3. 當實驗的狀態為「運行」時,請轉到下一個步驟。

步驟 4:驗證實驗結果

您可以驗證實例是否已按預期停止和啟動實驗。

驗證實驗結果
  1. 在新的瀏覽器索引標籤或視窗中開啟 Amazon EC2 主控台,網址為 https://console.aws.amazon.com/ec2/。這可讓您在 AWS FIS 主控台中繼續追蹤實驗進度,同時在 Amazon EC2 主控台中檢視實驗結果。

  2. 在導覽窗格中,選擇執行個體

  3. 當第一個動作的狀態從「擱置中」變更為「執中」(AWSFIS 主控台) 時,其中一個目標執個體的狀態會從「執行中」變更為「已停止」(Amazon EC2 主控台)。

  4. 三分鐘後,第一個動作的狀態會變更為「已完成」,第二個動作的狀態會變更為「執中」,而其他目標執行處理的狀態則變更為「已停止」。

  5. 三分鐘後,第二個動作的狀態會變更為「已完成」,目標執個體的狀態會變更為「執行中」,且實驗的狀態會變更為「已完成」。

步驟 5:清除

如果您不再需要為此實驗建立的測試 EC2 執行個體,可以終止它們。

終止執行個體
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇執行個體

  3. 選取兩個測試執行個體,然後選取 Instance state (執行個體狀態)、Terminate instance (終止執行個體)。

  4. 出現確認提示時,請選擇終止

如果您不再需要實驗範本,可以將其刪除。

使用 AWS FIS 控制台刪除實驗範本
  1. 開啟AWS金融資訊系統控制台,網址為 https://console.aws.amazon.com/fis/

  2. 在導覽窗格中,選擇 [實驗範本]。

  3. 選取實驗範本,然後選擇 [動作] > [刪除實驗範本]。

  4. 當系統提示您進行確認時,請輸入,delete然後選擇刪除實驗模板