教學課程:測試實例停止並開始使用 AWS FIS - AWS 故障注入服務

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

教學課程:測試實例停止並開始使用 AWS FIS

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

必要條件

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

  • 在您的帳戶中啟動兩個測試EC2實例。啟動執行個體後,請記下這兩個執行個體IDs的情況。

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

  • 確保您可以訪問 AWS FIS。如需詳細資訊,請參閱 AWS FIS政策範例

步驟 1:建立實驗範本

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

建立實驗樣板的步驟
  1. 打開 AWS FIS控制台在https://console.aws.amazon.com/fis/

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

  3. 選擇創建實驗模板

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

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

    1. 選擇新增動作

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

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

    4. 對於目標保持目標 AWS FIS為您創造。

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

    6. 選擇 Save (儲存)。

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

    1. 為目標選擇編輯 AWS FIS在上一個步驟中為您自動建立。

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

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

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

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

    6. 選擇 Save (儲存)。

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

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

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

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

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

    5. 選擇 Save (儲存)。

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

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

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

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

    4. 針對「目標」,選擇您新增的第二個目標 (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. 選擇 Start experiment (開始實驗)。

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

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

步驟 3:追蹤實驗進度

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

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

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

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

步驟 4:驗證實驗結果

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

驗證實驗結果
  1. 在新的瀏覽器標籤或窗口https://console.aws.amazon.com/ec2/中打開 Amazon EC2 控制台。這使您可以繼續跟踪實驗的進度 AWS FIS控制台同時在 Amazon 控制EC2台中查看實驗結果。

  2. 在導覽窗格中,選擇 Instances (執行個體)。

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

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

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

步驟 5:清除

如果您不再需要為此實驗創建的測試實EC2例,則可以終止它們。

終止執行個體
  1. 在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/

  2. 在導覽窗格中,選擇 Instances (執行個體)。

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

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

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

若要使用刪除實驗範本 AWS FIS控制台
  1. 打開 AWS FIS控制台在https://console.aws.amazon.com/fis/

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

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

  4. 出現確認提示時,請輸入,delete然後選擇刪除實驗模板