

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

# 步驟 2.3：將執行個體新增至 PHP App Server Layer - Chef 11
<a name="gettingstarted-simple-instance"></a>

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

Stacks OpsWorks 執行個體代表特定的 Amazon EC2 執行個體：
+ 執行個體的組態會指定一些基本概念，例如 Amazon EC2operating系統和大小；它會執行，但不會執行太多操作。
+ 執行個體的 layer 可透過判斷要安裝何種套件、執行個體是否具有彈性 IP 地址等，為執行個體新增功能。

OpsWorks Stacks 會在與服務互動的每個執行個體上安裝 代理程式。若要將 layer 的功能新增至執行個體， OpsWorks Stacks 會指示代理程式執行稱為 [Chef 配方](http://docs.chef.io/recipes.html)的小型應用程式，這些應用程式可以安裝應用程式和套件、建立組態檔案等。 OpsWorks Stacks 會在執行個體[生命週期](workingcookbook-events.md)中的關鍵點執行配方。例如，OpsWorks 會在執行個體完成開機後執行安裝配方，處理像是安裝軟體等任務，然後在您部署應用程式時執行部署配方安裝程式碼和相關檔案。

**注意**  
如果您對配方的運作方式感到好奇，所有 OpsWorks Stacks 內建配方都在公有 GitHub 儲存庫中：[OpsWorks 技術指南](https://github.com/aws/opsworks-cookbooks)。您也可以建立您自己的自訂配方，讓 OpsWorks Stacks 執行他們，如稍後所說明。

若要將 PHP 應用程式伺服器新增至 MyStack，請將執行個體新增至您在上一個步驟中建立的 PHP App Server layer。

**將執行個體新增至 PHP App Server layer**

1. 

**開啟新增執行個體**

   新增 layer 完成後， OpsWorks Stacks 會顯示 **Layers **頁面。在導覽窗格中按一下**執行個體**，然後在 **PHP App Server** 下按一下**新增執行個體**。

1. 

**設定執行個體**

   每個執行個體都有 Stacks OpsWorks 為您產生的預設主機名稱。在此範例中， OpsWorks Stacks 只會將數字新增至 layer 的簡短名稱。您可以個別設定每個執行個體，包含覆寫您在建立堆疊時指定的部分預設設定，例如可用區域或作業系統。針對本演練，請接受預設設定，然後按一下 **Add Instance (新增執行個體)** 將執行個體新增至 layer。如需詳細資訊，請參閱[執行個體](workinginstances.md)。  
![\[Form for adding a new PHP App Server instance with hostname, size, and subnet options.\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/gs7.png)

1. 

**啟動執行個體**

   到目前為止，您完成了執行個體組態的指定。您必須啟動執行個體，才能建立執行中的 Amazon EC2 執行個體。然後， OpsWorks Stacks 會使用組態設定在指定的可用區域中啟動 Amazon EC2 執行個體。您啟動執行個體之方式的詳細資訊取決於執行個體的「擴展類型」**。在先前的步驟中，您使用預設擴展類型「全年無休」**建立執行個體，該類型必須手動啟動，並且會持續執行直到手動停止。您也可以建立時間型和負載型擴展類型， OpsWorks 堆疊會根據排程或目前的負載自動啟動和停止。如需詳細資訊，請參閱[使用時間型和負載型執行個體管理負載](workinginstances-autoscaling.md)。

   前往 **PHP App Server** 下的 **php-app1**，然後按一下列**的動作**欄中的**開始**以啟動執行個體。  
![\[PHP App Server instance list showing php-app1 stopped with start and delete options.\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/gs8.png)

1. 

**在啟動時監控執行個體的狀態**

   通常需要幾分鐘的時間來啟動 Amazon EC2 執行個體並安裝套件。隨著啟動的進行，執行個體的 **Status (狀態)** 欄位會顯示下列一系列的值：

   1. **requested** - OpsWorks Stacks 已呼叫 Amazon EC2 服務來建立 Amazon EC2 執行個體。

   1. **待**定 - OpsWorks Stacks 正在等待 Amazon EC2 執行個體啟動。

   1. **開機** - Amazon EC2 執行個體正在開機。

   1. **running\$1setup** - Stacks OpsWorks 代理程式正在執行 layer 的設定配方，處理設定和安裝套件等任務，以及部署配方，將任何應用程式部署到執行個體。

   1. **online** - 執行個體已準備就緒可供使用。

   在 php-app1 上線後，**Instances (執行個體)** 頁面看起來應該會像是這樣：  
![\[PHP App Server instance table showing php-app1 online with details like size and IP address.\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/gs9.png)

   頁面的開頭為所有您堆疊執行個體的快速摘要。現在，它會顯示一個線上的執行個體。在 php-app1 的 **Actions (動作)** 資料行中，請注意會停止執行個體的 **stop (停止)** 已取代 **start (啟動)** 和 **delete (刪除)**。