步驟 4:將食譜分配到 LifeCycle 事件 - AWS OpsWorks

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

步驟 4:將食譜分配到 LifeCycle 事件

重要

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

你可以手動執行自訂配方,但最好的方法通常是讓 AWS OpsWorks 堆疊自動執行。每一層都有一組內建配方,分別指派給五個生命週期事件 — 設定、設定、部署、取消部署和關閉 —。每次在執行個體上發生事件時, AWS OpsWorks Stacks 就會針對每個執行個體的圖層執行關聯的配方,以處理必要的工作。例如,當執行個體完成開機時, AWS OpsWorks Stack 會觸發 Setup 事件以執行安裝程式方法,這通常會處理安裝和設定套件等工作。

您可以透過將每個配方指派給適當的生命週期事件,讓 AWS OpsWorks 堆疊在圖層的執行個體上執行自訂配方。 AWS OpsWorks 圖層的內置配方完成後,堆棧將運行任何自定義配方。在此範例中,指派appsetup.rb給 PHP 應用程式伺服器層的部署事件,dbsetup.rb以及 MySQL 層的部署事件。 AWS OpsWorks 然後,堆疊會在啟動期間、內建安裝配方完成後,以及每次部署應用程式時,在建置的 Deploy 配方完成後,在相關圖層的執行個體上執行配方。如需詳細資訊,請參閱 自動執行配方

將自訂配方指派給 layer 的部署事件
  1. 在 [ AWS OpsWorks 堆疊圖層] 頁面上,針對 PHP 應用程式伺服器選擇 [配方],然後選擇 [編輯]。

  2. Custom Chef Recipes (自訂 Chef 配方) 下方,將配方名稱新增至部署事件,然後選擇 +。名稱必須為 Chef cookbookname::recipename 格式,其中 recipename 不含 .rb 副檔名。在此範例中,您可以輸入 photoapp::appsetup。然後選擇 Save (儲存),以更新 layer 組態。

  3. 在「層」頁面上,在 MySQL 層的「動作」 欄中選擇 「編輯」。

  4. photoapp::dbsetup 新增至 layer 的部署事件,並儲存新的組態。