View a markdown version of this page

步驟 3:部署更新的 Lambda 函數 - AWS CodeDeploy

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

步驟 3:部署更新的 Lambda 函數

在此步驟中,您會使用更新的 myDateTimeFunction.js來更新和啟動 Lambda 函數的部署。您可以在 CodeDeploy 或 AWS Lambda 主控台中監控部署進度。

AWS SAM 範本中的AutoPublishAlias: live行會導致您的基礎設施偵測使用live別名之函數的更新。函數的更新會觸發 CodeDeploy 的部署,將生產流量從函數的原始版本轉移到更新的版本。

sam package 和 sam deploy命令用於更新和觸發 Lambda 函數的部署。您在封裝 AWS SAM 應用程式和部署 AWS SAM 應用程式中執行過這些命令。

部署更新的 Lambda 函數
  1. 在 SAM-Tutorial 目錄中執行下列命令。

    sam package \ --template-file template.yml \ --output-template-file package.yml \ --s3-bucket amzn-s3-demo-bucket

    這會建立新的一組成品,參考 S3 儲存貯體中更新的 Lambda 函數。

  2. 在 SAM-Tutorial 目錄中執行下列命令。

    sam deploy \ --template-file package.yml \ --stack-name my-date-time-app \ --capabilities CAPABILITY_IAM

    由於堆疊名稱仍然是 my-date-time-app, 會 CloudFormation 辨識這是堆疊更新。若要檢視更新後的堆疊,請傳回 CloudFormation 主控台,然後從導覽窗格中選擇堆疊。

(選用) 在部署期間檢視流量 (CodeDeploy 主控台)
  1. 前往 https://console.aws.amazon.com/codedeploy/ 開啟 CodeDeploy 主控台。

  2. 在導覽窗格中,展開 Applications (應用程式),然後選擇您的 my-date-time-app-ServerlessDeploymentApplication 應用程式。

  3. 在 Deployment groups (部署群組) 中,選擇您應用程式的部署群組。其狀態應為 In progress (進行中)。

  4. 在 Deployment group history (部署群組歷史記錄) 中,選擇進行中的部署。

    此頁面上的 Traffic shifting (流量轉移) 進度列及 Original (原始) 和 Replacement (取代) 方塊中的百分比會顯示其進度。

    CodeDeploy 主控台的流量轉移進度區段。
(選用) 在部署期間檢視流量 (Lambda 主控台)
  1. 在 https://https://console.aws.amazon.com/lambda/ 開啟 AWS Lambda 主控台。

  2. 從導覽窗格中,選擇您的 my-date-time-app-myDateTimeFunction 函數。在主控台中,其名稱包含識別符,因此看起來像 my-date-time-app-myDateTimeFunction-123456ABCDEF。

  3. 選擇別名,然後選擇即時。

原始函數版本 (版本 1) 和已更新的函數版本 (版本 2) 旁的權重會顯示載入此 AWS Lambda 主控台頁面時,每個版本接到多少流量。頁面不會隨著時間更新權重。如果您每分鐘重新整理一次頁面,版本 1 的權重會減少 10%,而版本 2 的權重會增加 10%,直到版本 2 的權重達到 100 為止。

CodeDeploy 主控台的別名區段。