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

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

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

您可以使用 AWS Fault Injection Service (AWS FIS) 測試應用程式如何處理執行個體停止和啟動。使用此教學課程建立實驗範本,該範本使用 AWS FISaws:ec2:stop-instances動作來停止一個執行個體,然後停止第二個執行個體。

必要條件

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

  • 在帳戶中啟動兩個測試EC2執行個體。啟動執行個體後,請注意兩個執行個體IDs的 。

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

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

步驟 1:建立實驗範本

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

建立實驗範本
  1. 開啟位於 AWS FIS 的 https://console.aws.amazon.com/fis/ 主控台。

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

  3. 選擇建立實驗範本

  4. 針對步驟 1,指定範本詳細資訊,執行下列動作:

    1. 針對描述和名稱,輸入範本的描述,例如 Amazon S3 Network Disrupt Connectivity

    2. 選擇下一步,然後移至步驟 2,指定動作和目標

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

    1. 選擇新增動作

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

    3. 針對動作類型,選擇 aws:ec2:stop-instances

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

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

    6. 選擇 Save (儲存)。

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

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

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

    3. 確認資源類型aws:ec2:instance

    4. 針對目標方法,選擇資源 IDs,然後選擇兩個測試執行個體IDs的 。

    5. 針對選取模式,選擇計數。針對資源數量,輸入 1

    6. 選擇 Save (儲存)。

  7. 選擇新增目標並執行下列動作:

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

    2. 針對資源類型,選擇 aws:ec2:instance

    3. 針對目標方法,選擇資源 IDs,然後選擇兩個測試執行個體IDs的 。

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

    5. 選擇 Save (儲存)。

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

    1. 針對名稱,輸入動作的名稱。例如,​輸入 stopBothInstances

    2. 針對動作類型,選擇 aws:ec2:stop-instances

    3. 針對之後開始,選擇您新增的第一個動作 (stopOneInstance)。

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

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

    6. 選擇 Save (儲存)。

  9. 選擇下一步以移至步驟 3,設定服務存取

  10. 針對服務存取,選擇使用現有IAM角色,然後選擇您建立IAM的角色,如本教學課程的先決條件所述。如果您的角色未顯示,請確認其具有所需的信任關係。如需詳細資訊,請參閱適用於 AWS FIS 實驗的 IAM 角色

  11. 選擇下一步以移至步驟 4,設定選用設定

  12. (選用) 針對標籤,選擇新增標籤並指定標籤索引鍵和標籤值。您新增的標籤會套用至實驗範本,而不是使用範本執行的實驗。

  13. 選擇下一步以移至步驟 5,檢閱並建立

  14. 檢閱範本,然後選擇建立實驗範本。出現確認提示時,輸入 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主控台。這可讓您在 Amazon 主控台中 AWS FIS檢視實驗結果時,繼續在主控台中追蹤實驗進度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,然後選擇刪除實驗範本