本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS OpsWorks 堆疊生命週期事
重要
所以此 AWS OpsWorks Stacks 服務於 2024 年 5 月 26 日終止使用壽命,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載移轉至其他解決方案。如果您對移轉有任何疑問,請聯絡 AWS Support 團隊上 AWS Re: 郵寄
每個 layer 都有一組五個生命週期事件,而每個事件都有一組特別與該 layer 相關聯的配方。當事件發生在圖層的實體上時, AWS OpsWorks 堆疊會自動執行適當的配方集。若要為這些事件提供自訂回應,請為每個 layer 實作自訂配方,並將其指派給適當的事件。 AWS OpsWorks 堆疊會在活動的內建配方之後執行這些配方。
- Setup
-
此事件會在已啟動的執行個體完成開機後發生。您也可以手動觸發 Setup 事件通過使用安裝程序堆棧命令。 AWS OpsWorks 堆疊會執行根據執行個體的圖層來設定執行個體的配方。例如,如果執行個體是 Rails 應用程式伺服器層的成員,Setup 配方會安裝 Apache、Ruby Enterprise Edition、Passenger 和 Ruby on Rails。
注意
Setup (設定) 事件會導致執行個體服務中斷。由於執行個體在 Setup (設定) 生命週期事件執行時,並未處於 Online (線上) 狀態,因此會從負載平衡器移除您執行 Setup (設定) 事件的執行個體。
- Configure
-
發生以下其中一種情況時,此事件會在堆疊的所有執行個體上發生:
-
執行個體進入或離開線上狀態。
-
您可以將 Elastic Load Balancing 負載平衡器附加至層,或從層中分離一個平衡器。
例如,假設您的堆疊具有執行個體 A、B 和 C,而您啟動新的執行個體 D。在 D 執行完其設定方法之後, AWS OpsWorks 堆疊觸發 Configure A、B、C 和 D 上的事件如果您隨後停止 A, AWS OpsWorks 堆疊觸發 Configure B、C 和 D 上的事件。 AWS OpsWorks 堆棧響應 Configure 事件,回應方式是執行每個 layer 的 Configure 配方,會更新執行個體的組態,以反映目前的線上執行個體集。所以此 Configure 因此,事件是重新產生組態檔案的好時機。例如,HAProxyConfigure 配方會重新設定負載平衡器,以適應該組線上應用程式伺服器執行個體中的任何變更。
您也可以使用設定堆疊命令來手動觸發設定事件。
-
- Deploy
-
此事件會在您執行 Deploy (部署) 命令時發生,通常發生於將應用程式部署至一組應用程式伺服器執行個體的情況下。執行個體會執行將應用程式和任何相關檔案從其儲存庫部署到 layer 之執行個體的配方。例如,若是 Rails 應用程式伺服器執行個體,Deploy 食譜檢查出一個指定的 Ruby 應用程序,並告訴普西乘客
重新加載它。您也可以 Deploy 在其他執行個體上執行,讓它們 (舉例來說) 可更新其組態以適應新部署的應用程式。 注意
安裝包含部署,其會在安裝完成後執行部署配方。
- Undeploy
-
此事件會在您刪除應用程式或執行 Undeploy 從一組應用程式伺服器執行個體移除應用程式的指令。指定的執行個體會執行配方,以移除所有應用程式版本,並執行所有必要的清除。
- Shutdown
-
此事件發生在您直接之後 AWS OpsWorks 堆疊以關閉執行個體,但在關聯的 Amazon EC2 執行個體實際終止之前。 AWS OpsWorks 堆棧運行配方以執行清理任務,例如關閉服務。
如果您已將 Elastic Load Balancing 負載平衡器連接至層並啟用連線排除支援, AWS OpsWorks 堆棧等待直到連接排空完成之前觸發 Shutdown 事件。
在觸發 Shutdown 事件, AWS OpsWorks 堆棧允許 Shutdown 使用指定的時間長度來執行其任務,然後停止或終止 Amazon EC2 執行個體。預設的 Shutdown 逾時值為 120 秒。如果您的 Shutdown 配方可能需要更多時間,您可以編輯圖層配置以更改超時值。如需詳細資訊以了解 Shutdown,請參閱停止執行個體。
注意
重新啟動執行個體不會觸發任何生命週期事件。
如需深入討論 Deploy 以及 Undeploy 應用程式命令,請參閱部署應用程式。
在已啟動的執行個體完成開機後,其餘的啟動順序如下:
-
AWS OpsWorks 堆疊會執行執行個體的內建 Setup 配方,然後執行任何自訂 Setup recipes.
-
AWS OpsWorks 堆疊會執行執行個體的內建 Deploy 配方,然後執行任何自訂 Deploy recipes.
執行個體現在已上線。
-
AWS OpsWorks 堆疊觸發 Configure 事件,觸發位置為堆疊中的所有執行個體,包括新啟動的執行個體。
AWS OpsWorks 堆棧運行實例的內置 Configure 配方,然後執行任何自訂 Configure recipes.
注意
若要查看發生在特定執行個體上的生命週期事件,請前往 Instances (執行個體) 頁面,然後按一下該執行個體的名稱以開啟其詳細資訊頁面。事件清單位於頁面底部的 Logs (日誌) 區段。您可以按一下「記錄」欄中的「顯示」來檢查事件的 Chef 記錄。該日誌會提供事件處理方式的詳細資訊,包括哪些配方已執行。如需如何解讀 Chef 日誌的詳細資訊,請參閱 Chef 日誌。
對於每個生命週期事件, AWS OpsWorks Stacks 會在每個包含目前堆疊狀態的執行個體上安裝一組堆疊設定和部署屬性,Deploy 事件,有關部署的資訊。這些屬性包括哪些執行個體可用、其 IP 地址等資訊。如需詳細資訊,請參閱堆疊組態及部署屬性。
注意
同時啟動或停止大量的執行個體,可能快速產生大量的 Configure 事件。為了避免不必要的處理, AWS OpsWorks 堆疊只回應最後一個事件。該事件的堆疊組態和部署屬性包含為堆疊之執行個體更新整組變更所需的所有資訊。這讓您不需要一併處理之前的 Configure 事件。 AWS OpsWorks 堆疊標示未處理 Configure 事件標記為 superseded (已取代)。