AWS OpsWorks Stacks 生命週期事件 - AWS OpsWorks

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

AWS OpsWorks Stacks 生命週期事件

重要

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

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

Setup

此事件會在已啟動的執行個體完成開機後發生。您也可以手動觸發 Setup 事件執行堆疊命令。 AWS OpsWorks Stacks 會執行配方,根據其 layer 設定執行個體。例如,如果執行個體是 Rails App Server layer 的成員,Setup 配方會安裝 Apache、Ruby Enterprise Edition、Passenger 和 Ruby on Rails。

注意

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

Configure

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

例如,假設您的堆疊具有執行個體 A、B 和 C,且您啟動新執行個體 D。在 D 完成執行其安裝配方後, AWS OpsWorks Stacks 會 Configure 在 A、B、C 和 D 上觸發事件。如果您之後停止 A, AWS OpsWorks Stacks 會 Configure B、C 和 D. AWS OpsWorks Stacks 上的 事件會回應 Configure 事件,回應方式是執行每個 layer 的 Configure 配方,其會更新執行個體的組態,以反映目前的線上執行個體集。所以此 Configure 因此,事件是重新產生組態檔案的好時機。例如,HAProxyConfigure 配方會重新設定負載平衡器,以適應該組線上應用程式伺服器執行個體中的任何變更。

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

Deploy

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

注意

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

Undeploy

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

Shutdown

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

如果您已將 Elastic Load Balancing 負載平衡器連接至 layer,並啟用連線耗盡的支援, AWS OpsWorks Stacks 會等到連線耗盡完成,再觸發 Shutdown 事件。

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

注意

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

如需深入討論 Deploy 以及 Undeploy 應用程式命令,請參閱部署應用程式

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

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

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

    執行個體現在已上線。

  3. AWS OpsWorks Stacks 會觸發 Configure 事件,觸發位置為堆疊中的所有執行個體,包括新啟動的執行個體。

    AWS OpsWorks Stacks 會執行執行個體的內建 Configure 配方,然後執行任何自訂 Configure recipes.

注意

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

Log entries showing commands, timestamps, and durations for system operations.

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

注意

同時啟動或停止大量的執行個體,可能快速產生大量的 Configure 事件。為了避免不必要的處理, AWS OpsWorks Stacks 只會回應最後一個事件。該事件的堆疊組態和部署屬性包含為堆疊之執行個體更新整組變更所需的所有資訊。這讓您不需要一併處理之前的 Configure events. AWS OpsWorks Stacks 會標記未處理的 Configure 事件標記為 superseded (已取代)