View a markdown version of this page

Amazon ECS 受管協助程式 - Amazon Elastic Container Service

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

Amazon ECS 受管協助程式

Amazon ECS Managed Daemons 可讓您在 Amazon ECS 受管執行個體上的容器基礎設施中部署和管理軟體代理程式,例如安全性、可觀測性和聯網代理程式。Managed Daemons 會將協助程式生命週期管理與應用程式操作分離。您可以獨立部署、更新和監控代理程式,而無需重新部署工作負載或協調跨服務的變更。

協助程式重要性

您可以根據協助程式失敗是否會導致 Amazon ECS 耗盡容器執行個體,將每個受管協助程式設定為關鍵或非關鍵。

  • 關鍵 - 預設。Amazon ECS 會在將應用程式任務放置在執行個體之前啟動協助程式任務,如果協助程式任務停止或運作狀態不佳,Amazon ECS 會耗盡並取代容器執行個體。

  • 非關鍵 - 將 critical 參數設定為 false。協助程式任務的運作與容器執行個體運作狀態無關。如果非關鍵協助程式任務失敗、停止或變得運作狀態不佳,Amazon ECS 會保持容器執行個體處於作用中狀態。現有的應用程式任務會持續執行,而 Amazon ECS 會持續在其中放置新的應用程式任務。非關鍵協助程式永遠不會封鎖執行個體註冊,因此即使協助程式無法啟動,也可以立即放置應用程式任務。

Managed Daemons 的運作方式

若要使用受管協助程式,請先註冊協助程式任務定義。協助程式任務定義是描述形成協助程式之容器的範本。註冊協助程式任務定義後,請建立協助程式,並將其與叢集和一或多個 Amazon ECS 受管執行個體容量提供者建立關聯。然後,Amazon ECS 可確保在透過這些容量提供者佈建的每個 Amazon EC2 執行個體上執行一個協助程式任務。

協助程式不會獨立啟動執行個體。當您在 Amazon ECS 受管執行個體容量提供者上執行應用程式任務時,Amazon ECS 會佈建 Amazon EC2 執行個體、啟動協助程式任務,然後才將應用程式任務轉換為 RUNNING。無論重要性為何,Amazon ECS 都會對每個協助程式使用此順序,以便在應用程式開始處理請求之前,執行記錄、追蹤和指標集合等跨截斷函數。

關鍵性控制當協助程式任務未啟動或稍後停止時,Amazon ECS 會做什麼。對於關鍵協助程式,無法啟動的任務會讓執行個體保持作用中狀態。在執行個體處於作用中狀態後停止或變成運作狀態不佳的任務,會導致 Amazon ECS 耗盡並取代執行個體。這種自動修復行為可維持可靠的協助程式涵蓋範圍,無需手動介入。

非關鍵協助程式永遠不會封鎖執行個體,也不會觸發耗盡。即使協助程式任務無法啟動,執行個體也會變成作用中,並在協助程式任務停止或稍後變得運作狀態不佳時保持作用中狀態。您的應用程式任務會持續執行,而 Amazon ECS 會持續在執行個體上放置新的應用程式任務。

當您將協助程式更新為新的任務定義修訂時,Amazon ECS 會在關聯容量提供者中的所有執行個體之間執行滾動部署。在部署期間,Amazon ECS 會同時耗盡可設定的執行個體百分比、使用更新的協助程式佈建取代執行個體,並自動取代您的 Amazon ECS 服務任務。Amazon ECS 提供內建斷路器保護。您可以設定製作時間和 CloudWatch 警示,讓 Amazon ECS 在更新所有執行個體後監控部署,並在發生問題時自動轉返。Amazon ECS 會發出 EventBridge 事件,並在協助程式任務無法啟動時,針對關鍵和非關鍵協助程式記錄服務動作日誌。

主要優點

  • 解耦生命週期管理 - 獨立於應用程式部署更新協助程式。

  • 保證涵蓋範圍 - Amazon ECS 會在每個執行個體上的應用程式任務之前啟動協助程式任務,因此跨切割函數會在應用程式開始處理請求之前運作。對於關鍵協助程式,無法啟動的協助程式任務也會讓執行個體無法註冊,因此執行個體永遠不會在沒有協助程式的情況下提供應用程式任務。

  • 可靠的版本更新 - 當您更新協助程式版本時,Amazon ECS 會將其推展到關聯容量提供者中的所有執行個體,並內建斷路器保護和自動推展,以確保每個執行個體執行目標修訂。

  • 改善資源使用率 - 每個執行個體執行單一協助程式任務可消除sidecar-per-task模型,減少叢集的資源負荷。

  • 自動執行個體修復 - 對於關鍵協助程式,如果協助程式任務停止或運作狀態不佳,Amazon ECS 會自動耗盡並取代該容器執行個體。這可維持可靠的協助程式涵蓋範圍,無需手動介入。

  • 工作負載持續性 - 非關鍵協助程式可讓應用程式工作負載持續執行,即使協助程式任務失敗、停止或運作狀態不佳也一樣。

注意

Amazon ECS 為 Amazon EC2 啟動類型的 Amazon EC2 服務提供 DAEMON 排程策略。Managed Daemons 是為 Amazon ECS 受管執行個體建置的新功能,可簡化協助程式部署並提供更強大的協助程式涵蓋範圍保證。

開始使用

若要開始使用,請註冊指定容器映像的協助程式任務定義,然後在叢集中建立具有相關聯容量提供者的協助程式。您可以使用 AWS 管理主控台、 AWS CLI CloudFormation、 或 AWS SDKs。如需逐步說明,請參閱 建立和管理協助程式。