

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

# 建立新的堆疊
<a name="workingstacks-creating"></a>

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

若要建立新的堆疊，請在 Stacks OpsWorks 儀表板上按一下**新增堆疊**。然後，您可以使用 **Add Stack (新增堆疊)** 頁面來設定堆疊。在您完成後，按一下 **Add Stack (新增堆疊)**。

**Topics**
+ [選擇要建立的堆疊類型](#workingstacks-creating-decision-table)
+ [基本選項](#workingstacks-creating-basic)
+ [進階選項](#workingstacks-creating-advanced)

## 選擇要建立的堆疊類型
<a name="workingstacks-creating-decision-table"></a>

在您建立堆疊前，您必須決定要建立的堆疊類型。如需協助，請參閱下表。


| 如果您想要建立… | 在下列情況下建立此堆疊類型... | 若要了解建立方法，請遵循這些說明： | 
| --- | --- | --- | 
| 堆疊範例 | 探索 AWS OpsWorks 的基本概念，包括 Linux Chef 12 堆疊和 Node.js 應用程式範例。 |  [入門：範例](gettingstarted-intro.md)   | 
| Linux Chef 12 堆疊 | 建立使用 AWS OpsWorks 支援之最新版 Chef 的 Linux 堆疊。如果您是進階的 Chef 使用者，並想要享有廣泛的社群 cookbook (技術指南) 選擇或撰寫您自己的自訂 cookbook (技術指南)，請選擇此選項。如需詳細資訊，請參閱[Chef 12 Linux](chef-12-linux.md)。 |  [入門：Linux](gettingstarted-linux.md)  | 
| Windows Chef 12.2 堆疊 | 建立 Windows 堆疊。 |  [入門：Windows](gettingstarted-windows.md)  | 
| Linux Chef 11.10 堆疊 | 如果您的組織需要搭配 Linux 使用 Chef 11.10 以回溯相容，請建立此堆疊。 |  [Chef 11 Linux 堆疊入門](gettingstarted.md)  | 

## 基本選項
<a name="workingstacks-creating-basic"></a>

**Add Stack (新增堆疊)** 頁面具有下列基本選項。

**Stack name (堆疊名稱)**  
（必要） 用於在 Stacks OpsWorks 主控台中識別堆疊的名稱。名稱不需要是唯一的。 OpsWorks Stacks 也會產生堆疊 ID，這是可唯一識別堆疊的 GUID。例如，透過 [update-stack](https://docs.aws.amazon.com/cli/latest/reference/opsworks/update-stack.html) 等 [ AWS CLI](https://aws.amazon.com/documentation/cli/) 命令，您可以使用堆疊 ID 來識別特定堆疊。在您建立堆疊後，您可以選擇導覽窗格中的 **Stack (堆疊)**，然後選擇 **Stack Settings (堆疊設定)**，來尋找其 ID。此 ID 會標記為 **OpsWorks ID**。

**區域**  
(必要) 要啟動執行個體的 AWS 區域。

**VPC**  
(選用) 要啟動堆疊之目標 VPC 的 ID。所有執行個體都會啟動至此 VPC，而且您之後無法變更 ID。  
+ 如果您的帳戶支援 EC2 Classic，而且您不想要使用 VPC，您可以指定 **No VPC (無 VPC)** (預設值)。

  如需 EC2 Classic 的詳細資訊，請參閱「[支援的平台](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html)」。
+ 如果您的帳戶不支援 EC2 Classic，您必須指定 VPC。

  預設設定為 **Default VPC (預設 VPC)**，其結合 EC2 Classic 簡單易用的特點與 VPC 聯網功能的優點。如果您想要在一般 VPC 中執行堆疊，您必須使用 VPC [主控台](https://console.aws.amazon.com/vpc/)、[API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Welcome.html) 或 [CLI](https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/Welcome.html) 來建立該 VPC。如需如何為 OpsWorks Stacks 堆疊建立 VPC 的詳細資訊，請參閱[在 VPC 中執行堆疊](workingstacks-vpc.md)。如需一般資訊，請參閱 [Amazon Virtual Private Cloud](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html)。

**預設可用區域/預設子網路**  
(選用) 此設定取決於您是否在 VPC 中建立堆疊：  
+ 如果您的帳戶支援 EC2 Classic，而且您將 **VPC** 設為 **No VPC (無 VPC)**，此設定會標記為 **Default Availability Zone (預設可用區域)**，其會指定要啟動執行個體的預設 AWS 可用區域。
+ 如果您的帳戶不支援 EC2 Classic，或您選擇指定 VPC，此欄位會標記為 **Default subnet (預設子網路)**，其會指定要啟動執行個體的預設子網路。您可以在建立執行個體時覆寫此值，藉此在其他子網路中啟動執行個體。每個子網路皆會與一個可用區域相關聯。
您可以在建立執行個體時覆寫此設定，讓 OpsWorks Stacks [在不同可用區域或子網路中啟動執行個體](workinginstances-add.md)。  
 如需如何在 VPC 中執行堆疊的詳細資訊，請參閱「[在 VPC 中執行堆疊](workingstacks-vpc.md)」。

**預設作業系統**  
(選用) 根據預設安裝於每個執行個體上的作業系統。您有下列選項：  
+ 其中一個內建 Linux 作業系統。
+ Microsoft Windows Server 2012 R2。
+ 以其中一個支援作業系統為基礎的自訂 AMI。

  如果您選取 **Use custom AMI (使用自訂 AMI)**，則作業系統取決於您在建立執行個體時指定的自訂 AMI。如需詳細資訊，請參閱[使用自訂 AMI](workinginstances-custom-ami.md)。
如需可用作業系統的詳細資訊，請參閱「[OpsWorks Stacks 作業系統](workinginstances-os.md)」。  
您可以在建立執行個體時覆寫預設作業系統。不過，您無法覆寫 Linux 作業系統以指定 Windows，或覆寫 Windows 以指定 Linux 作業系統。

**預設 SSH 金鑰**  
（選用） 來自堆疊區域的 Amazon EC2 金鑰對。預設值為 none (無)。如果您指定金鑰對， OpsWorks Stacks 會在執行個體上安裝公有金鑰。  
+ 若是 Linux 執行個體，您可以使用私有金鑰透過 SSH 用戶端登入堆疊的執行個體。

  如需詳細資訊，請參閱[使用 SSH 登入](workinginstances-ssh.md)。
+ 使用 Windows 執行個體時，您可以使用私有金鑰搭配 Amazon EC2 主控台或 CLI 來擷取執行個體的管理員密碼。

  然後您可以使用該密碼透過 RDP 用戶端以管理員身分登入執行個體。如需詳細資訊，請參閱[使用 RDP 登入](workinginstances-rdp.md)。
如需如何管理 SSH 金鑰的詳細資訊，請參閱「[管理 SSH 存取](security-ssh-access.md)」。  
您可以在[建立執行個體](workinginstances-add.md)時指定不同金鑰對或不指定任何金鑰對，來覆寫此設定。

**Chef 版本**  
這會顯示您已選擇的 Chef 版本。  
如需 Chef 版本的詳細資訊，請參閱「[Chef 版本](workingcookbook-chef11.md)」。

**使用自訂 Chef 技術指南**  
是否要在堆疊的執行個體上安裝您的自訂 Chef cookbook (技術指南)。  
若是 Chef 12，預設設定為 **Yes (是)**。對於 Chef 11，預設設定為**否**。 **是**選項會顯示數個額外的設定，為 OpsWorks Stacks 提供從其儲存庫部署自訂技術指南至堆疊執行個體所需的資訊，例如儲存庫 URL。詳細資訊取決於您為 cookbook (技術指南) 使用的儲存庫。如需詳細資訊，請參閱[安裝自訂技術指南](workingcookbook-installingcustom-enable.md)。

**堆疊色彩**  
（選用） 用來代表 Stacks OpsWorks 主控台上堆疊的色調。您可以為不同的堆疊使用不同的色彩來協助區分，例如區分開發、預備和生產堆疊。

**堆疊標籤**  
您可以在堆疊和 layer 層級套用標籤。建立標籤時，您會將標籤套用於已加上標籤的結構中每項資源。例如，如果您將標籤套用至堆疊，您要將標籤套用至層中的每個層，以及每個層中的每個執行個體、Amazon EBS 磁碟區或層中的 Elastic Load Balancing 負載平衡器。如需如何啟用標籤並使用它們來追蹤和管理 OpsWorks Stacks 資源成本的詳細資訊，請參閱 帳單與成本管理使用者指南中的[使用成本分配標籤](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)和[啟用使用者定義的成本分配標籤](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/activating-tags.html)。 **如需在 Stacks OpsWorks 中標記的詳細資訊，請參閱 [Tags (標籤)](tagging.md)。

## 進階選項
<a name="workingstacks-creating-advanced"></a>

對於進階設定，按一下 **Advanced >> (進階 >>)** 以顯示 **Advanced options (進階選項)** 和 **Security (安全)** 區段。

**Advanced options (進階選項)** 區段具有下列選項：

預設根設備類型  
決定要用於執行個體根磁碟區的儲存體類型。如需詳細資訊，請參閱[儲存體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html)。  
+ Linux 堆疊預設使用 Amazon EBS 支援的根磁碟區，但您也可以指定執行個體存放區支援的根磁碟區。
+ Windows 堆疊必須使用 Amazon EBS 支援的根磁碟區。

IAM 角色  
（選用） 堆疊的 AWS Identity and Access Management (IAM) 角色，由 OpsWorks Stacks 代表您與 AWS 互動。

預設 IAM 執行個體描述檔  
（選用） 要與堆疊的 Amazon EC2 執行個體相關聯的預設 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-toplevel.html)。此角色會將存取 AWS 資源 (例如 S3 儲存貯體) 的許可授予在堆疊執行個體上執行的應用程式。  
+ 若要將特定許可授予應用程式，請選擇具備適當政策的現有執行個體描述檔 (角色)。
+ 一開始，設定檔的角色不會授予任何許可，但您可以使用 IAM 主控台、API 或 CLI 來連接適當的政策。如需詳細資訊，請參閱[指定在 EC2 執行個體上執行之應用程式的許可](opsworks-security-appsrole.md)。

API 端點區域  
此設定會使用您在堆疊之基本設定中選擇的區域做為其值。您可以從下列區域端點中選擇。  
+ 美國東部 (維吉尼亞北部) 區域
+ 美國東部 (俄亥俄) 區域
+ 美國西部 (奧勒岡) 區域
+ 美國西部 (加利佛尼亞北部) 區域
+ 加拿大 （中部） 區域 （僅限 API；不適用於在 中建立的堆疊 AWS 管理主控台
+ 亞太地區 (孟買) 區域
+ 亞太區域 (新加坡) 區域
+ 亞太 (雪梨) 區域
+ 亞太 (東京) 區域
+ 亞太區域 (首爾) 區域
+ 歐洲 (法蘭克福) 區域
+ 歐洲 (愛爾蘭) 區域
+ 歐洲 (倫敦) 區域
+ 歐洲 (巴黎) 區域
+ 南美洲 (聖保羅) 區域
在某個 API 端點中建立的堆疊無法在另一個 API 端點中使用。由於 OpsWorks Stacks 使用者也是區域特定的，如果您希望其中一個端點區域中的 OpsWorks Stacks 使用者管理另一個端點區域中的堆疊，您必須將使用者匯入至與堆疊相關聯的端點。如需匯入使用者的詳細資訊，請參閱[將使用者匯入 OpsWorks Stacks](https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users-manage-import.html)。

主機名稱主題  
(選用) 用來產生每個執行個體之預設主機名稱的字串。預設值為 **Layer Dependent (與堆疊層相依)**，這會使用執行個體堆疊層的簡短名稱，並對每個執行個體附加唯一號碼。例如，與角色相依之**負載平衡器**主題的根為 "lb"。您新增至該堆疊層的第一個執行個體會命名為 "lb1"，第二個執行個體會命名為 "lb2"，以此類推。

OpsWorks Agent version (OpsWorks 代理程式版本)  <a name="workingstacks-creating-advanced-agent"></a>
（選用） 是否在新版本可用時自動更新 OpsWorks Stacks 代理程式，或使用指定的代理程式版本並手動更新。此功能適用於 Chef 11.10 和 Chef 12 堆疊。預設設定為 **Manual update (手動更新)**，並已設為最新代理程式版本。  
OpsWorks Stacks 會在與服務通訊的每個執行個體上安裝 代理程式，並處理任務，例如啟動 Chef 執行以回應[生命週期事件](workingcookbook-events.md)。此代理程式會定期更新。您可使用兩種選項指定堆疊的代理程式版本。  
+ **自動更新** – 一旦更新可用， OpsWorks 堆疊會在堆疊的執行個體上自動安裝每個新的代理程式版本。
+ **手動更新** – OpsWorks Stacks 會在堆疊的執行個體上安裝指定的代理程式版本。

  OpsWorks 當新的代理程式版本可用，但未更新堆疊的執行個體時，Stacks 會在堆疊頁面上張貼訊息。若要更新代理程式，您必須手動[更新堆疊設定](workingstacks-edit.md)以指定新的代理程式版本，然後 OpsWorks Stacks 會更新堆疊的執行個體。
您可以[更新其組態，覆寫](workinginstances-properties.md)特定執行個體的預設 **OpsWorks 代理程式版本**設定。在此情況下，會優先使用執行個體的設定。例如，假設預設設定為 **Auto-update (自動更新)**，但您為特定執行個體指定 **Manual update (手動更新)**。當 OpsWorks Stacks 發行新的代理程式版本時，它會自動更新堆疊的所有執行個體，但設定為**手動更新的**執行個體除外。若要在該執行個體上安裝新的代理程式版本，您必須手動[更新其組態](workinginstances-properties.md)並指定新的版本。  
主控台會顯示縮寫的代理程式版本號碼。若要查看完整版本號碼，請呼叫 AWS CLI [describe-agent-versions](https://docs.aws.amazon.com/cli/latest/reference/opsworks/describe-agent-versions.html) 命令，或是同等的 API 或 SDK 方法。它們會傳回可用代理程式版本的完整版本號碼。

自訂 JSON  
(選用) 一或多個自訂屬性，並會格式化為 JSON 結構。這些屬性會合併為[堆疊組態和部署屬性](workingcookbook-json.md)，並安裝在每個執行個體上且可供配方使用。例如，您可以透過覆寫指定預設設定的內建屬性，來使用自訂 JSON 自訂組態設定。如需詳細資訊，請參閱[使用自訂 JSON](workingcookbook-json-override.md)。

**安全性**有一個選項：**使用 OpsWorks 安全群組**，可讓您指定是否要將 OpsWorks Stacks 內建安全群組與堆疊層建立關聯。

OpsWorks Stacks 提供一組標準內建安全群組，每個 layer 各一個，預設會與 layer 相關聯。**Use OpsWorks security groups (使用 OpsWorks 安全群組)** 可讓您改為提供自己的自訂安全群組。如需詳細資訊，請參閱[使用安全群組](workingsecurity-groups.md)。

**Use OpsWorks security groups (使用 OpsWorks 安全群組)** 具有下列設定：
+ **是** - OpsWorks Stacks 會自動將適當的內建安全群組與每個 layer 建立關聯 （預設設定）。

  您可以在建立堆疊層後，將其他安全群組與其建立關聯，但無法刪除內建安全群組。
+ **否** - OpsWorks Stacks 不會將內建安全群組與 layer 建立關聯。

  您必須建立適當的 EC2 安全群組，並將安全群組與您建立的每個堆疊層建立關聯。不過，您仍然可以在建立時手動將內建安全群組與堆疊層建立關聯；只有需要自訂設定的堆疊層才需要自訂安全群組。

注意下列事項：
+ 如果 **Use OpsWorks security groups (使用 OpsWorks 安全群組)** 設為 **Yes (是)**，您無法透過將更嚴格的安全群組新增至堆疊層，來限制預設安全群組的連接埠存取設定。對於多個安全群組，Amazon EC2 會使用最寬鬆的設定。此外，您無法透過修改內建安全群組組態，來建立更嚴格的設定。當您建立堆疊時， OpsWorks Stacks 會使用標準設定覆寫內建安全群組的組態，因此您所做的任何變更都會在您下次建立堆疊時遺失。如果 layer 需要比內建安全群組更嚴格的安全群組設定，請將 **Use OpsWorks security groups (使用 OpsWorks 安全群組)** 設為 **No (否)**，並使用您偏好的設定建立自訂安全群組，然後在建立時將其指派給 layer。
+ 如果您不小心刪除 Stacks OpsWorks 安全群組，並想要重新建立該群組，它必須完全複製原始群組，包括群組名稱的大寫。與其手動重新建立群組，建議您讓 OpsWorks Stacks 為您執行這項任務。只要在相同的 AWS 區域和 VPC 中建立新的堆疊，如果有的話， Stacks OpsWorks 就會自動重新建立所有內建安全群組，包括您刪除的安全群組。您接著可以刪除您不再需要使用的堆疊，安全群組仍會留下。