

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

# 步驟 3.4：執行配方
<a name="gettingstarted-db-lifecycle"></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)。不過，配方一般需要在執行個體生命週期的可預測點上執行，例如在執行個體開機後，或部署應用程式時。本節說明更簡單的方法：讓 OpsWorks Stacks 在適當的時間自動為您執行。

OpsWorks Stacks 支援一組[生命週期事件](workingcookbook-events.md)，可簡化執行中的配方。例如，執行個體開機完成後會發生 Setup (設定) 事件，當您部署應用程式時則會發生 Deploy (部署) 事件。每個 layer 都有一組與每個生命週期事件相關聯的內建配方。當執行個體上發生生命週期事件時，代理程式會為每個執行個體 layer 執行相關聯的配方。若要讓 OpsWorks Stacks 自動執行自訂配方，請將其新增至適當 layer 上的適當生命週期事件，代理程式會在內建配方完成後執行配方。

在此範例中，您需要`dbsetup.rb`在 MySQLinstance 和 PHP App Server 執行個體`appsetup.rb`上執行兩個配方。

**注意**  
您使用 *cookbook\$1name*::*recipe\$1name* 格式在主控台上指定配方，*recipe\$1name* 不包含 .rb 副檔名。例如，您參考 `dbsetup.rb` 為 **phpapp::dbsetup**。

**將自訂配方指派給生命週期事件**

1. 在 **Layers** 頁面上，針對 MySQL，按一下**配方**，然後按一下**編輯**。

1.  在**自訂 Chef 配方**區段中，輸入 [**phpapp::dbsetup**](gettingstarted-db-recipes.md#gettingstarted-db-recipes-dbsetup) **部署**。  
![\[Custom Chef recipes section with Repository URL and three configuration steps.\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/gsb6a.png)

1. 按一下 **\$1** 圖示，將配方指派給事件，然後按一下 **Save (儲存)** 儲存新的 layer 組態。

1. 返回 **Layers (Layer)** 頁面，重複此程序將 **phpapp::appsetup** 指派給 **PHP App Server (PHP 應用程式伺服器)** layer 的 **Deploy (部署)** 事件。