View a markdown version of this page

Lambda MicroVMs的最佳實務 - AWS Lambda

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

Lambda MicroVMs的最佳實務

遵循這些最佳實務,使用 AWS Lambda MicroVMs 建置可靠、經濟實惠且安全的應用程式。

應用程式設計

設計您的應用程式以使用 MicroVM 快照和生命週期掛鉤:

  • 使用生命週期掛鉤 – 實作 /run進行執行後初始化、/suspend進行正常清除、重新建立/resume連線,以及/terminate進行資料清除。

  • 處理重複使用的快照 – 在/run掛鉤中產生 UUIDs、秘密和隨機值,而不是在映像建置期間。對所有隨機數字產生使用 CSPRNGs。

  • 恢復設計 – 驗證 /resume hook. AWS SDK 連線中的所有網路連線和快取狀態通常會自動復原,但自訂連線可能不會復原。

效能

使用以下實務最佳化 MicroVM 效能:

  • 適當調整 MicroVM 的大小:選擇符合您 CPU、記憶體和頻寬需求的最小 MicroVM 大小。頻寬會隨著設定的記憶體而擴展。

  • 將快照大小降至最低 – 讓您的應用程式佔用空間保持較小,以減少執行和恢復時間。在擷取映像快照之前,移除建置時間相依性和暫存檔案。

  • 將暫停/繼續用於延遲敏感工作負載 – 將常用環境保持在暫停狀態,以快速恢復執行。

安全

請遵循下列實務來保護 MicroVM 工作負載:

  • 輪換身分驗證權杖 – 產生短期權杖 (15-30 分鐘)。在過期前在用戶端中實作權杖重新整理邏輯。

  • 特定連接埠的範圍字符 – 使用 allowedPorts 參數將字符範圍限制為僅您的應用程式使用的連接埠。

  • 將 VPC 輸出用於敏感流量 – 透過 VPC 輸出連接器將流量路由到資料庫和內部 APIs,而不是公有網際網路。

  • 套用最低權限 IAM – 將建置角色 (建立映像) 與執行角色 (執行時間) 分開。授予最低必要許可。

成本最佳化

使用下列策略降低成本:

  • 設定閒置政策maxIdleDurationSeconds設定為自動暫停閒置MicroVMs。暫停MicroVMs 不會產生運算費用。

  • 設定 maximumDurationInSeconds – 在每個 MicroVM 上設定硬終止時間,以避免失控成本。

  • 終止未使用的 MicroVMs – 請勿讓 MicroVMs 無限期執行。suspendedDurationSeconds 使用 在延長閒置期間後自動終止。

  • 標籤資源 – 在 MicroVM 映像上使用標籤,以在 AWS Cost Explorer 中進行成本分配和報告。

  • 適當調整 MicroVMs的大小 – 從符合您效能需求的最小基準開始。您可以在尖峰活動期間爆量至 4 倍基準,而無需重新佈建。

  • 清除未使用的映像 – 刪除不再需要的 MicroVM 映像版本,以降低儲存成本。

監控

有效監控您的 MicroVMs:

  • 檢閱 stateReason – 當 MicroVMs 意外終止時,get-microvm回應會包含 stateReason,其中包含意外失敗的原因。