

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

# 步驟 4：將配方指派給 LifeCycle (生命週期) 事件
<a name="other-services-redis-event"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

您可以[手動](workingcookbook-manual.md)執行自訂配方，但最佳方法是讓 Stacks OpsWorks 自動執行。每個 layer 都有一組內建配方，分別指派五個[生命週期事件](workingcookbook-events.md)：設定、設定、部署、取消部署和關機。每當執行個體發生事件時， OpsWorks Stacks 就會針對每個執行個體的 layer 執行相關聯配方，以處理對應的任務。例如，當執行個體完成開機時， OpsWorks Stacks 會觸發設定事件。此事件會執行關聯 layer 的安裝配方，通常會處理像是安裝和設定套件等任務。

您可以將配方指派給適當的生命週期事件，讓 OpsWorks Stacks 在 layer 的執行個體上執行自訂配方。在此範例中，您應該將`generate.rb`配方指派給 Rails App Server layer 的部署事件。 OpsWorks 堆疊接著會在啟動期間、安裝配方完成後，以及每次部署應用程式時，在 layer 的執行個體上執行配方。如需詳細資訊，請參閱[自動執行配方](workingcookbook-assigningcustom.md)。

**將配方指派給 Rails App Server layer 的部署事件**

1. 在 OpsWorks Stacks **Layers **頁面上，針對 Rails App Server，按一下**配方**，然後按一下**編輯**。

1. 在 **Custom Chef Recipes (自訂 Chef 配方)** 下方，將完整配方名稱新增至部署事件，然後按一下 **\$1**。完整的配方名稱會使用 `cookbookname::recipename ` 格式，其中 `recipename` 不包含 `.rb` 副檔名。針對此範例，完整名稱為 `redis-config::generate`。然後按一下 **Save (儲存)**，以更新 layer 組態。  
![\[Custom Chef Recipes interface showing setup, configure, deploy, undeploy, and shutdown options.\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/redis_walkthrough_event.png)