教學課程:使用記錄「Auto Scaling」群組的狀態 EventBridge - Amazon EventBridge

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

教學課程:使用記錄「Auto Scaling」群組的狀態 EventBridge

您可以執行 AWS Lambda 函數以在 Auto Scaling 群組啟動或終止指示事件是否成功的 Amazon EC2 執行個體時記錄事件

如需更多使用 Amazon EC2 Auto Scaling 事件案例的相關資訊,請參閱 Amazon EC2 Auto Scaling 使用 EventBridge 者指南中的用於處理 Auto Scaling 事件

在本教學中,您會建立 Lambda 函數,然後在 EventBridge 主控台中建立規則,該規則會在 Amazon EC2 Auto Scaling 群組啟動或終止執行個體時呼叫該函數。

必要條件

教學課程需要使用以下項目:

步驟 1:建立 Lambda 函數

建立 Lambda 函數以記錄 Auto Scaling 群組的擴展和縮小事件。

若要建立 Lambda 函數
  1. 請在以下位置開啟 AWS Lambda 主控台。 https://console.aws.amazon.com/lambda/

  2. 選擇建立函數

  3. 選擇從頭開始撰寫

  4. 輸入 Lambda 函數的名稱。例如,將函數命名為 LogAutoScalingEvent

  5. 將其餘選項保留為預設值並選擇建立函數

  6. 在函數頁面的程式碼標籤上,按兩下 index.js

  7. 將現有的程式碼取代為以下程式碼。

    'use strict'; exports.handler = (event, context, callback) => { console.log('LogAutoScalingEvent'); console.log('Received event:', JSON.stringify(event, null, 2)); callback(null, 'Finished'); };
  8. 選擇部署

步驟 2:建立規則

建立規則來執行您在步驟 1 中建立的 Lambda 函數。當您的 Auto Scaling 群組啟動或停止執行個體時,規則便會執行。

建立規則
  1. 在以下位置打開 Amazon EventBridge 控制台 https://console.aws.amazon.com/events/

  2. 在導覽窗格中,選擇規則

  3. 選擇建立規則

  4. 輸入規則的名稱和描述。例如,命名規則 TestRule

  5. 針對事件匯流排,選擇要與此規則建立關聯的事件匯流排。如果您想要此規則匹配來自您的帳戶的事件,請選取預設值。當您帳戶中的 AWS 服務發出事件時,一律會前往您帳戶的預設事件匯流排。

  6. 針對規則類型,選擇具有事件模式的規則

  7. 選擇下一步

  8. 事件來源欄位中,選擇 AWS 服務

  9. 針對事件模式,請執行下列動作:

    1. 針對事件來源,請從下拉式清單中選取 Auto Scaling

    2. 針對事件類型,請從下拉式清單中選取執行個體啟動和終止

    3. 選擇任何執行個體事件任何群組名稱

  10. 選擇下一步

  11. 目標類型欄位中,選擇 AWS 服務

  12. 針對選取目標,請從下拉式清單中選擇 Lambda 函數

  13. 函數中,選取您在步驟 1:建立 Lambda 函數 區段中建立的 Lambda 函數。在此範例中,選取 LogAutoScalingEvent

  14. 選擇下一步

  15. 選擇下一步

  16. 檢閱規則的詳細資訊,然後選擇建立規則

步驟 3:測試規則

您可以手動擴展 Auto Scaling 群組以啟動執行個體,藉此測試您的規則。等待幾分鐘讓擴展事件發生,然後驗證您的 Lambda 函數是否被調用。

使用 Auto Scaling 群組測試您的規則
  1. 若要增加 Auto Scaling 群組的大小,請執行下列動作:

    1. 前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

    2. 在導覽窗格中,選擇 Auto ScalingAuto Scaling 群組

    3. 選取您的 Auto Scaling 群組的核取方塊。

    4. 詳細資訊標籤上,選擇編輯。在所需中提高所需的容量 1。例如,如果目前值為 2,則輸入 3。所需容量必須小於或等於該群組的大小上限。如果您的所需的新數值大於最大值,則您必須更新最大值設定。完成後,請選擇儲存

  2. 若要檢視 Lambda 函數的輸出,請執行下列動作:

    1. 請在以下位置開啟 CloudWatch 主控台。 https://console.aws.amazon.com/cloudwatch/

    2. 在導覽窗格中,選擇日誌

    3. 為 Lambda 函數 (/aws/lambda/function-name) 選取日誌群組名稱。

    4. 選取日誌串流的名稱以檢視函數為您啟動的執行個體所提供的資料。

  3. (選用) 完成後,您可以將所需的容量減少 1,如此一來,Auto Scaling 群組將恢復為之前的大小。

步驟 4:確認成功

如果您在 CloudWatch 記錄中看到 Lambda 事件,表示您已成功完成本教學課程。如果事件不在您的 CloudWatch 記錄中,請驗證規則是否已成功建立以開始疑難排解,如果規則看起來正確,請驗證 Lambda 函數的程式碼是否正確。

步驟 5:清除您的資源

除非您想要保留為此教學課程建立的資源,否則您現在便可刪除。刪除不再使用的 AWS 資源,即可避免 AWS 帳戶不必要的費用。

若要刪除 EventBridge 規則
  1. 開啟主 EventBridge 控台的 [規則] 頁面

  2. 選取您建立的規則。

  3. 選擇刪除

  4. 選擇刪除

若要刪除 Lambda 函數
  1. 開啟 Lambda 主控台中的函數頁面

  2. 選取您建立的函數。

  3. 選擇 動作刪除

  4. 選擇 刪除