本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:測試實例停止並開始使用 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隨機選擇。第二個動作會停止兩個測試執行個體。
建立實驗樣板的步驟
打開 AWS FIS控制台在https://console.aws.amazon.com/fis/
。 -
在導覽窗格中,選擇 [實驗範本]。
-
選擇創建實驗模板。
-
在「描述」和「名稱」中,輸入範本的描述和名稱。
-
對於 Actions (動作),執行下列動作:
-
選擇新增動作。
-
輸入動作的名稱。例如,輸入
stopOneInstance
。 -
針對「動作類型」,選擇 aw: ec2: 停止執行個體。
-
對於目標保持目標 AWS FIS為您創造。
-
對於動作參數,請在持續時間後啟動執行個體,指定 3 分鐘 (PT3M)。
選擇 Save (儲存)。
-
-
對於 Targets (目標),執行下列動作:
-
為目標選擇編輯 AWS FIS在上一個步驟中為您自動建立。
-
以更具描述性的名稱取代預設名稱。例如,輸入
oneRandomInstance
。 -
驗證資源類型是 aw:ec2: 實例。
-
對於 Target 方法,選擇資源 IDs,然後選擇兩個測試實例中IDs的。
-
在選取模式中,選擇「計數」。針對「資源數目」,輸入
1
。 選擇 Save (儲存)。
-
-
選擇新增目標,然後執行下列動作:
-
輸入目標的名稱。例如,輸入
bothInstances
。 -
對於資源類型,請選擇 aw: ec2: 執行個體。
-
對於 Target 方法,選擇資源 IDs,然後選擇兩個測試實例中IDs的。
-
針對「選取」模式,選擇「全部」
選擇 Save (儲存)。
-
-
在「動作」區段中,選擇「新增動作」。請執行下列操作:
-
在「名稱」中,輸入動作的名稱。例如,輸入
stopBothInstances
。 -
針對「動作類型」,選擇 aw: ec2: 停止執行個體。
在「在之後開始」中,選擇您新增的第一個動作 (
stopOneInstance
)。-
針對「目標」,選擇您新增的第二個目標 (
bothInstances
)。 -
對於動作參數,請在持續時間後啟動執行個體,指定 3 分鐘 (PT3M)。
選擇 Save (儲存)。
-
-
對於「服務存取」,請選擇「使用現有IAM角色」,然後依照本教學課程的先決條件中所述選擇您建立的IAM角色。如果未顯示您的角色,請確認其具有必要的信任關係。如需詳細資訊,請參閱適用於 AWS FIS 實驗的 IAM 角色。
-
(選擇性) 對於標籤,請選擇「新增標籤」,然後指定標籤鍵和標籤值。您新增的標籤會套用至您的實驗範本,而不是使用範本執行的實驗。
-
選擇創建實驗模板。出現確認提示時,請輸入,
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:開始實驗
完成實驗模板的創建後,您可以使用它來開始實驗。
開始實驗的步驟
-
您應該在剛剛創建的實驗模板的詳細信息頁面上。否則,請選擇實驗模板,然後選擇實驗模板的 ID 以打開詳細信息頁面。
-
選擇 Start experiment (開始實驗)。
-
(可選)要在實驗中添加標籤,請選擇「添加新標籤」,然後輸入標籤鍵和標籤值。
-
選擇 Start experiment (開始實驗)。出現確認提示時,輸入
start
並選擇「開始實驗」。
步驟 3:追蹤實驗進度
您可以追蹤執行中實驗的進度,直到實驗完成、停止或失敗為止。
追蹤實驗進度
-
您應該在剛開始實驗的詳細信息頁面上。否則,請選擇實驗,然後選擇實驗的 ID 以打開詳細信息頁面。
-
要查看實驗的狀態,請檢查詳細信息窗格中的狀態。如需詳細資訊,請參閱實驗狀態。
-
當實驗的狀態為「運行」時,請轉到下一個步驟。
步驟 4:驗證實驗結果
您可以驗證實例是否按預期停止和啟動實驗。
驗證實驗結果
-
在新的瀏覽器標籤或窗口https://console.aws.amazon.com/ec2/
中打開 Amazon EC2 控制台。這使您可以繼續跟踪實驗的進度 AWS FIS控制台同時在 Amazon 控制EC2台中查看實驗結果。 -
在導覽窗格中,選擇 Instances (執行個體)。
-
當第一個動作的狀態從「擱置中」變更為「執行中」(AWS FIS主控台) 時,其中一個目標執行個體的狀態會從「執行中」變更為「已停止」(Amazon EC2 主控台)。
-
三分鐘後,第一個動作的狀態會變更為「已完成」,第二個動作的狀態會變更為「執行中」,而其他目標執行處理的狀態則變更為「已停止」。
-
三分鐘後,第二個動作的狀態會變更為「已完成」,目標執行個體的狀態會變更為「執行中」,且實驗的狀態會變更為「已完成」。
步驟 5:清除
如果您不再需要為此實驗創建的測試實EC2例,則可以終止它們。
終止執行個體
-
在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/
。 -
在導覽窗格中,選擇 Instances (執行個體)。
-
選取兩個測試執行個體,然後選取 Instance state (執行個體狀態)、Terminate instance (終止執行個體)。
-
出現確認提示時,請選擇終止。
如果您不再需要實驗範本,可以將其刪除。
若要使用刪除實驗範本 AWS FIS控制台
打開 AWS FIS控制台在https://console.aws.amazon.com/fis/
。 -
在導覽窗格中,選擇 [實驗範本]。
-
選取實驗範本,然後選擇 [動作] > [刪除實驗範本]。
-
出現確認提示時,請輸入,
delete
然後選擇刪除實驗模板。