

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 第 2 步：创建堆栈及其组件
<a name="gettingstarted-cookbooks-create-stack"></a>

**重要**  
该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止，新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问，请通过 re [AWS : Post 或通过 Pre](https://repost.aws/) mium Su [AWS pp](https://aws.amazon.com/support) ort 与 AWS 支持 团队联系。

创建 OpsWorks 堆栈及其组件，包括一个层和一个实例。在稍后的步骤中，您需要将您的说明书上传到实例中，然后在该实例上运行说明书的配方。

**要创建 堆栈，请执行以下操作：**

1. 通过 [https://console.aws.amazon.com/](https://console.aws.amazon.com/opsworks)opsworks 登录 OpsWorks Stacks 控制台。

1. 执行以下任一操作 (如果适用)：
   + 如果显示 “**欢迎使用 OpsWorks 堆栈**” 页面，请选择 “**添加您的第一个堆栈**” 或 “**添加您的第一个 OpsWorks 堆栈**”（两个选项的作用相同）。这将显示 **Add stack** 页面。
   + 如果显示**OpsWorks 控制面板**页面，请选择**添加堆栈**。这将显示 **Add Stack** 页面。

1. 选择 **Chef 12 stack**。

1. 在 **Stack name (堆栈名称)** 框中，键入堆栈的名称，例如：**MyCookbooksDemoStack**。您可以键入一个不同的名称，但务必在本演练过程中将其替换为 `MyCookbooksDemoStack`。

1. 对于**区域**，选择**美国西部（俄勒冈）**。

1. 对于 **VPC**，请执行下列操作之一：
   + 如果 VPC 可用，请选择它。有关更多信息，请参阅 [在 VPC 中运行堆栈](workingstacks-vpc.md)。
   + 否则，请选择 **No VPC (无 VPC)**。

1. 对于 **Use custom Chef cookbooks**，选择 **Yes**。

1. 对于 **Repository type**，选择 **S3 Archive**。
**注意**  
在 [入门：Linux](gettingstarted-linux.md) 演练中，您选择了 **Http Archive**。但在这里，请务必选择 **S3 Archive**。

1. 对于 **Repository URL**，键入 S3 中的 `opsworks_cookbook_demo.tar.gz` 文件的路径。要获取路径，请在 S3 控制台中选择 `opsworks_cookbook_demo.tar.gz` 文件。在 **Properties** 窗格中，复制 **Link** 字段的值。(它应类似于以下内容：`https://s3.amazonaws.com/amzn-s3-demo-bucket/opsworks_cookbook_demo.tar.gz`。)

1. 默认情况下，您的 S3 存储桶是私有的，如果是这样，则对于 **Access key ID** 和 **Secret access key**，请键入您为本演练使用的 IAM; 用户的访问密钥 ID 和秘密访问密钥。有关更多信息，请参阅[编辑对象许可](https://docs.aws.amazon.com/AmazonS3/latest/userguide/EditingPermissionsonanObject.html)和[与其他用户共享对象](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ShareObjectPreSignedURL.html)。

1. 对以下项目保留默认值：
   + **Default Availability Zone** (**us-west-2a**)
   + **默认操作系统**（**Linux** 和 **Amazon Linux 2016.09**）
   + **Default SSH key** (**Do not use a default SSH key**)
   + **Stack color** (深蓝色)

1. 选择 **Advanced**（高级）。

1. 对于 **IAM 角色**，执行以下操作之一：
   + 如果 **aws-opsworks-service-role** 可用，选择该选项。
   + 如果**aws-opsworks-service-role**不可用，请选择**新建 IAM 角色**。

1. 对于 **Default IAM; 实例配置文件**，执行下列操作之一：
   + 如果有 **aws-opsworks-ec2 个角色**可用，请选择它。
   + 如果**aws-opsworks-ec双角色**不可用，请选择**新建 IAM 实例配置文件**。

1. 对以下项目保留默认值：
   + **Default root device type** (**EBS backed**)
   + **Hostname theme** (**Layer Dependent**)
   + **OpsWorks 代理版本**（最新版本）
   + **Custom Chef JSON** (空白)
   + **安全**，**使用 OpsWorks 安全组**（**是**）

1. 选择**添加堆栈**。 OpsWorks 堆栈创建堆栈并显示**MyCookbooksDemoStack**页面。

**创建层**

1. 在服务导航窗格中，选择 **Layers**。此时将显示 **Layers** 页面。

1. 选择 **Add a layer**。

1. 在**OpsWorks**选项卡上，在 “**名称**” 中键入**MyCookbooksDemoLayer**。您可以键入一个不同的名称，但务必在本演练过程中将其替换为 `MyCookbooksDemoLayer`。

1. 对于 **Short name (短名称)**，键入 **cookbooks-demo**。您可以键入一个不同的名称，但务必在本演练过程中将其替换为 `cookbooks-demo`。

1. 选择**添加图层**。 OpsWorks Stacks 添加图层并显示**图层**页面。

**创建并启动实例**

1. 在服务导航窗格中，选择 **Instances**。这将显示 **Instances** 页面。

1. 选择**添加一个实例**。

1. 在 **New** 选项卡上，选择 **Advanced**。

1. 对以下项目保留默认值：
   + **Hostname** (**cookbooks-demo1**)
   + **Size** (**c3.large**)
   + **子网**（*IP address***us-west-2** a）
   + **Scaling type** (**24/7**)
   + **SSH key** (**Do not use a default SSH key**)
   + **操作系统** （**Amazon Linux 2016.09**)
   + **OpsWorks 代理版本**（**继承自堆栈**）
   + **Tenancy** (**Default - Rely on VPC settings**)
   + **Root device type** (**EBS backed**)
   + **Volume type** (**General Purpose (SSD)**)
   + **Volume size** (**8**)

1. 选择 **Add instance**。

1. **对于 **MyCookbooksDemoLayer****cookbooks-demo1**，在 “**操作” 中，选择 “开始”**。**请在 **Status** 变为 **online** 之后继续。此过程可能需要几分钟的时间，请耐心等待。

您现在获得了一个堆栈、一个层以及一个实例 (系统会自动将说明书从您的 S3 存储桶复制到该实例)。在[下一步](gettingstarted-cookbooks-test-recipe.md)中，您将在实例上的说明书中运行并测试默认配方。