

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

# 步驟 2.4：新增 IIS Layer
<a name="gettingstarted-windows-iis-layer"></a>

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

您的技術指南具有一個安裝和啟動 IIS 的配方。這足以用來建立 layer，並確認您具有正在運作的 IIS 執行個體。之後，您會將應用程式部署功能新增到 layer。

## 建立 Layer
<a name="w2ab1c14c47c17c23c23b7"></a>

首先，將 layer 新增堆疊。然後，透過指派自訂配方至適當的生命週期事件，以將功能新增至該 layer。

**將 IIS layer 新增至堆疊**

1. 在導覽窗格中，選擇 **Layers (Layer)**，然後選擇 **Add a layer (新增 layer)**。

1. 如下所示來設定 layer：
   + **名稱** – **IISExample** 
   + **簡短名稱** – **iisexample**

     OpsWorks Stacks 使用簡短名稱在內部識別 layer。您也可以在配方中使用短名來識別 layer，但此範例不執行此動作。您可以指定任何短名，但只能包含小寫英數字元和少量標點符號。如需詳細資訊，請參閱[自訂 Layer](workinglayers-custom.md)。

1. 選擇 **Add Layer (新增 Layer)**。

如果您此時將執行個體新增至 IISWalkthrough 並將其啟動， OpsWorks Stacks 將自動安裝技術指南，但不會執行 `install.rb`。執行個體上線之後，您可以使用[執行配方堆疊命令](workingstacks-commands.md)來手動執行配方。不過，更好的方法是將配方指派給 layer 的[生命週期事件](workingcookbook-events.md)之一。然後， OpsWorks Stacks 會自動在執行個體生命週期的適當時間點執行配方。

在執行個體啟動完成後立即安裝並啟動 IIS。若要這樣做，請將 `install.rb` 指派給 layer 的 `Setup` 事件。

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

1. 在導覽窗格中選擇 **Layers (Layer)**

1. 在 **IISExample** layer 的方塊中，選擇 **Recipes (配方)**。

1. 在右上角，選擇 **Edit (編輯)**。

1. 在 **Custom Chef Recipes (自訂 Chef 配方)** 下方的 **Setup (安裝)** 配方方塊中，輸入 **iis-cookbook::install**。
**注意**  
使用 `cookbook-name::recipe-name` 來識別配方，其中會省略配方名稱的 `.rb` 尾碼。

1. 選擇 **\$1** 將配方新增至 layer。紅色 x 會顯示在配方旁，以便稍後輕鬆移除。

1. 選擇 **Save (儲存)** 以儲存新組態。自訂設定配方現在應包含 `iis-cookbook::install`。

## 將執行個體新增至 Layer 並啟動
<a name="w2ab1c14c47c17c23c23b9"></a>

您可以透過將執行個體新增至 layer 並啟動執行個體來試用配方。當執行個體完成開機時， OpsWorks Stacks 會自動安裝技術指南並在設定`install.rb`期間執行。

**將執行個體新增至 layer 並啟動**

1. 在 OpsWorks 堆疊導覽窗格中，選擇**執行個體**。

1. 在 **IISExample** layer 下方，選擇 **Add an instance (新增執行個體)**。

1. 選取適當的大小。**t2.micro** (或可供您使用的最低大小) 對此範例應已足夠使用。

1. 選擇 **Add Instance (新增執行個體)**。根據預設， OpsWorks Stacks 會透過將整數附加至 layer 的簡短名稱來產生執行個體名稱，因此執行個體應該命名為 **iisexample1**。

1. 在執行個體**的動作**欄中選擇**開始**以啟動執行個體。然後， OpsWorks Stacks 會啟動 EC2 執行個體並執行安裝配方來設定執行個體。如果 layer 目前有任何部署配方， OpsWorks Stacks 會在安裝配方完成後執行這些配方。

   此程序可能需費時數分鐘，期間 **Status (狀態)** 欄會顯示一系列的狀態。當您進入 **online (線上)** 狀態時，設定程序即完成，並且執行個體已可供使用。

## 確認 IIS 已安裝且正在執行
<a name="w2ab1c14c47c17c23c23c11"></a>

您可以使用 RDP 連線到執行個體並驗證您的設定配方是否運作正常。

**驗證 IIS 已安裝且正在執行**

1. 在導覽窗格中選擇**執行個體**，然後在 **iisexample1** 執行個體**的動作**欄中選擇 **rdp**。 OpsWorks Stacks 會自動為您產生在指定時段後過期的 RDP 密碼。

1. 將 **Session valid for (工作階段有效期)** 設定為 2 個小時，然後選擇 **Generate Password (產生密碼)**。

1. OpsWorks Stacks 會顯示密碼，而且為了方便起見，也會顯示執行個體的公有 DNS 名稱和使用者名稱。複製全部三項，然後按一下 **Acknowledge and close (確認並關閉)**。

1. 開啟您的 RDP 用戶端，並使用步驟 3 中的資料來連線到執行個體。

1. 在執行個體上，開啟 Windows 檔案總管並檢查 `C:` 磁碟機。它應有 `C:\inetpub` 目錄，其由 IIS 安裝所建立。

1. 開啟控制台 **Administrative Tools (管理工具)** 應用程式，然後開啟 **Services (服務)**。您應該會在清單底部附近看到 IIS 服務。該服務名為 World Wide Web Publishing Service (全球資訊網發佈服務)，且狀態應為 **running (執行中)**。

1. 返回 OpsWorks Stacks 主控台並選擇 **iisexample1** 執行個體的公有 IP 地址。請務必在 OpsWorks Stacks 中執行此操作，而不是在 Amazon EC2 主控台中執行此操作。這會將 HTTP 請求自動傳送到地址，且應會開啟預設的 IIS 歡迎頁面。

下一個主題討論如何部署應用程式到執行個體，以一個簡單的靜態 HTML 頁面為範例。不過，如果您想要休息，請在 **iisexample1** 執行個體**的動作**欄中選擇**停止**，以停止執行個體並避免產生不必要的費用。當您準備好繼續時，您可以重新啟動執行個體。