本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:測試執行個體停止並開始使用 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隨機選擇。第二個動作會停止兩個測試執行個體。
建立實驗範本
開啟位於 AWS FIS 的 https://console.aws.amazon.com/fis/
主控台。 -
在導覽窗格中,選擇實驗範本。
-
選擇建立實驗範本。
-
針對步驟 1,指定範本詳細資訊,執行下列動作:
-
針對描述和名稱,輸入範本的描述,例如
Amazon S3 Network Disrupt Connectivity
。 -
選擇下一步,然後移至步驟 2,指定動作和目標。
-
-
對於 Actions (動作),執行下列動作:
-
選擇新增動作。
-
輸入動作的名稱。例如,輸入
stopOneInstance
。 -
針對動作類型,選擇 aws:ec2:stop-instances。
-
對於目標,保留為您建立的目標 AWS FIS。
-
對於動作參數,在持續時間之後啟動執行個體,請指定 3 分鐘 (PT3M)。
選擇 Save (儲存)。
-
-
對於 Targets (目標),執行下列動作:
-
針對上一個步驟中自動為您建立的目標, AWS FIS選擇編輯。
-
以更描述性的名稱取代預設名稱。例如,輸入
oneRandomInstance
。 -
確認資源類型為 aws:ec2:instance。
-
針對目標方法,選擇資源 IDs,然後選擇兩個測試執行個體IDs的 。
-
針對選取模式,選擇計數。針對資源數量,輸入
1
。 選擇 Save (儲存)。
-
-
選擇新增目標並執行下列動作:
-
輸入目標的名稱。例如,輸入
bothInstances
。 -
針對資源類型,選擇 aws:ec2:instance。
-
針對目標方法,選擇資源 IDs,然後選擇兩個測試執行個體IDs的 。
-
針對選取模式,選擇全部。
選擇 Save (儲存)。
-
-
從動作區段中,選擇新增動作。請執行下列操作:
-
針對名稱,輸入動作的名稱。例如,輸入
stopBothInstances
。 -
針對動作類型,選擇 aws:ec2:stop-instances。
針對之後開始,選擇您新增的第一個動作 (
stopOneInstance
)。-
針對目標,選擇您新增的第二個目標 (
bothInstances
)。 -
對於動作參數,在持續時間後啟動執行個體,請指定 3 分鐘 (PT3M)。
選擇 Save (儲存)。
-
-
選擇下一步以移至步驟 3,設定服務存取。
-
針對服務存取,選擇使用現有IAM角色,然後選擇您建立IAM的角色,如本教學課程的先決條件所述。如果您的角色未顯示,請確認其具有所需的信任關係。如需詳細資訊,請參閱適用於 AWS FIS 實驗的 IAM 角色。
-
選擇下一步以移至步驟 4,設定選用設定。
-
(選用) 針對標籤,選擇新增標籤並指定標籤索引鍵和標籤值。您新增的標籤會套用至實驗範本,而不是使用範本執行的實驗。
-
選擇下一步以移至步驟 5,檢閱並建立。
-
檢閱範本,然後選擇建立實驗範本。出現確認提示時,輸入
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主控台。這可讓您在 Amazon 主控台中 AWS FIS檢視實驗結果時,繼續在主控台中追蹤實驗進度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
,然後選擇刪除實驗範本。