Amazon ECS Canary 部署所需的資源 - Amazon Elastic Container Service

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

Amazon ECS Canary 部署所需的資源

若要搭配受管流量轉移使用 Canary 部署,您的服務必須使用下列其中一項功能:

  • Elastic Load Balancing

  • Service Connect

注意

Canary 部署不支援 Network Load Balancer。對於 Network Load Balancer 組態,請改用藍/綠部署。

以下清單提供您需要為 Amazon ECS Canary 部署設定哪些項目的高階概觀:

  • 您的服務使用 Application Load Balancer 或 Service Connect。設定相應的資源。

  • 將服務部署控制器設定為 ECS

  • 在服務定義中,將部署策略設定為 canary

  • 或者設定其他參數,例如:

    • 新部署的封裝時間

    • 在 Canary 階段期間路由至新服務修訂的流量百分比。

    • 在 Canary 階段等待的持續時間,然後再將剩餘的流量轉移到新的服務修訂版。

    • 自動復原的 CloudWatch 警示

    • 部署生命週期掛鉤 (這些是在指定部署階段執行的 Lambda 函數)

最佳實務

針對成功的 Amazon ECS 程式庫部署,請遵循下列最佳實務:

  • 確保您的應用程式可以同時處理兩個服務修訂。

  • 規劃足夠的叢集容量,以在部署期間處理這兩個服務修訂。

  • 在生產環境中實作復原程序之前,請先測試復原程序。

  • 設定相應的運作狀態檢查,以準確反映應用程式的運作狀態。

  • 設定封裝時間,以對綠色部署進行充分測試。

  • 實作 CloudWatch 警示,以自動偵測問題並觸發復原。

  • 使用 lifecycle hook,在每個部署階段執行自動化測試。

  • 從小 Canary 百分比 (5-10%) 開始,在發生問題時將影響降至最低。

  • 設定適當的評估期間,以允許足夠的時間進行有意義的效能資料收集。

  • 使用 CloudWatch 警示實作自動化轉返觸發的全面監控。

  • 設定可準確反映應用程式整備和功能的運作狀態檢查。

  • 在評估期間監控技術指標 (回應時間、錯誤率) 和業務指標。

  • 確保您的應用程式可以處理流量分割,而不會發生工作階段或狀態問題。

  • 規劃轉返程序並定期測試,以確保它們在需要時有效。

  • 在團隊可以監控和回應的上班時間排程 Canary 部署。

  • 在 Canary 部署之前,在預備環境中徹底驗證變更。

  • 記錄手動介入和回復決策的明確程序。