AWS OpsWorks 堆疊生命週期事 - AWS OpsWorks

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

AWS OpsWorks 堆疊生命週期事

重要

該 AWS OpsWorks Stacks 服務於 2024 年 5 月 26 日終止使用壽命,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載移轉至其他解決方案。如果您對移轉有任何疑問,請透過 AWS Re: post 或透過進AWS 階 Support 與 AWS Support 團隊聯絡。

每個 layer 都有一組五個生命週期事件,而每個事件都有一組特別與該 layer 相關聯的配方。當事件在 layer 的執行個體上發生時, AWS OpsWorks Stacks 會自動執行該組適當的配方。若要提供這些事件的自訂回應,請實作自訂配方,並將其指派給每個圖層的適當事件。 AWS OpsWorks 堆疊會在活動的內建配方之後執行這些配方。

Setup

此事件會在已啟動的執行個體完成開機後發生。您也可以使用安裝程式堆疊命令手動觸發Setup事件。 AWS OpsWorks 堆疊會執行根據執行個體的圖層來設定執行個體的配方。例如,如果實例是 Rails 應用程序服務器層的成員,則Setup配方安裝 Apache,紅寶石企業版,乘客和 Ruby on Rails。

注意

Setup (設定) 事件會導致執行個體服務中斷。由於執行個體在 Setup (設定) 生命週期事件執行時,並未處於 Online (線上) 狀態,因此會從負載平衡器移除您執行 Setup (設定) 事件的執行個體。

Configure

發生以下其中一種情況時,此事件會在堆疊的所有執行個體上發生:

例如,假設您的堆棧具有實例 A,B 和 C,並啟動一個新實例 D。在 D 完成運行其設置配方後, AWS OpsWorks Stacks 在 A,B,C 和 D 上觸發Configure事件。如果您隨後停止 A, AWS OpsWorks Stacks 會在 B,C 和 D AWS OpsWorks 上觸發Configure事件通過運行每個圖層的Configure配方來更新實例的配置以反映當前的在線實例集合。ConfigureConfigure 事件是重新產生組態檔案的好機會。例如,HAProxy Configure 方法會重新設定負載平衡器,以容納線上應用程式伺服器執行個體集中的任何變更。

您也可以使用設定堆疊命令來手動觸發設定事件。

Deploy

此事件會在您執行 Deploy (部署) 命令時發生,通常發生於將應用程式部署至一組應用程式伺服器執行個體的情況下。執行個體會執行將應用程式和任何相關檔案從其儲存庫部署到 layer 之執行個體的配方。例如,針對 Rails 應用程式伺服器執行個體,Deploy 配方會檢查指定的 Ruby 應用程式,並告知 Phusion Passenger 重新載入它。您也可以在其他執行個體上執行 Deploy,讓它們 (舉例來說) 可更新其組態以適應新部署的應用程式。

注意

安裝包含部署,其會在安裝完成後執行部署配方。

Undeploy

此事件會在您刪除應用程式或執行 Undeploy 命令,藉此從一組應用程式伺服器執行個體中移除應用程式時發生。指定的執行個體會執行配方,以移除所有應用程式版本,並執行所有必要的清除。

Shutdown

在您指示 AWS OpsWorks Stacks 關閉執行個體之後,但在關聯的 Amazon EC2 執行個體實際終止之前,就會發生此事件。 AWS OpsWorks 堆棧運行配方以執行清理任務,例如關閉服務。

如果您已將 Elastic Load Balancing 負載平衡器連接至層,並啟用連線排除的支援, AWS OpsWorks 堆疊會等待直到連線排空完成,然後才觸發事件。Shutdown

觸發Shutdown事件後, AWS OpsWorks Stacks 允許Shutdown配方指定的時間來執行其任務,然後停止或終止 Amazon EC2 執行個體。預設 Shutdown 逾時值為 120 秒。若您的 Shutdown 配方可能需要更多時間,您可以編輯 layer 組態來變更逾時值。如需執行個體 Shutdown 的詳細資訊,請參閱停止執行個體

注意

重新啟動執行個體不會觸發任何生命週期事件。

如需更多有關 Deploy 和 Undeploy 應用程式命令的討論,請參閱部署應用程式

在已啟動的執行個體完成開機後,其餘的啟動順序如下:

  1. AWS OpsWorks Stack 會執行執行個體的內建Setup配方,然後是任何自訂Setup配方。

  2. AWS OpsWorks Stack 會執行執行個體的內建Deploy配方,然後是任何自訂Deploy配方。

    執行個體現在已上線。

  3. AWS OpsWorks 堆疊會在堆疊中的所有執行個體 (包括新啟Configure動的執行個體) 上觸發事件。

    AWS OpsWorks 堆棧運行實例的內置Configure配方,然後是任何自定義Configure配方。

注意

若要查看發生在特定執行個體上的生命週期事件,請前往 Instances (執行個體) 頁面,然後按一下該執行個體的名稱以開啟其詳細資訊頁面。事件清單位於頁面底部的 Logs (日誌) 區段。您可以按一下「記錄」欄中的「顯示」來檢查事件的 Chef 記錄。該日誌會提供事件處理方式的詳細資訊,包括哪些配方已執行。如需如何解讀 Chef 日誌的詳細資訊,請參閱 Chef 日誌

對於每個生命週期事件, AWS OpsWorks Stacks 會在每個包含目前堆疊狀態的執行個體上安裝一組堆疊配置和部署屬性,以及關於部署的Deploy事件資訊。這些屬性包括哪些執行個體可用、其 IP 地址等資訊。如需詳細資訊,請參閱 堆疊組態及部署屬性

注意

同時啟動或停止大量的執行個體,可能會快速產生大量的 Configure 事件。為避免不必要的處理, AWS OpsWorks 堆疊只會回應最後一個事件。該事件的堆疊組態和部署屬性包含為堆疊之執行個體更新整組變更所需的所有資訊。這樣就不需要同時處理較早的Configure事件。 AWS OpsWorks 堆疊會將未處理的Configure事件標示為已取