步骤 2.4:添加 IIS 层 - AWS OpsWorks

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

步骤 2.4:添加 IIS 层

重要

AWS OpsWorks Stacks 不再接受新客户。在 2024 年 5 月 26 日之前,现有客户将能够照常使用 OpsWorks 控制台、API、CLI 和 CloudFormation 资源,届时这些工具或资源将停用。为准备此过渡,我们建议您尽快将堆栈过渡到AWS Systems Manager。有关更多信息,请参阅 AWS OpsWorks Stacks 生命周期终止常见问题解答将 AWS OpsWorks Stacks 应用程序迁移到 AWS Systems Manager Application Manager

您的说明书具有一个安装和启动 IIS 的配方。这足够用来创建层和确认您具有正在运行的 IIS 实例。之后,您将向层添加应用程序部署功能。

创建层

首先,将层添加到堆栈。然后,通过向相应的生命周期事件分配自定义配方来将此功能添加到层。

将 IIS 层添加到堆栈
  1. 在导航窗格中选择 Layers,然后选择 Add a layer

  2. 按如下所示配置层:

    • 名称IISExample

    • 短名称iisexample

      AWS OpsWorks Stacks 在内部使用短名称标识层。您还可在配方中使用短名称来标识层,但此示例未这样做。您可指定任何短名称,但它只能包含小写字母数字字符和少量标点符号。有关更多信息,请参阅自定义层

  3. 选择 Add Layer

如果您此时将实例添加到 IISWalkthrough 并启动它,AWS OpsWorks Stacks 将自动安装说明书,但它不会运行 install.rb。在实例处于联机状态后,您可使用“Execute Recipes”堆栈命令来手动运行配方。但是,更好的方法是将配方分配给层的生命周期事件之一。AWS OpsWorks随后,Stacks 将在实例的生命周期中的适当时间点自动运行配方。

实例完成引导后立即安装并启动 IIS。要执行此操作,请将 install.rb 分配到层的 Setup 事件。

将配方分配给生命周期事件
  1. 在导航窗格中选择 Layers

  2. IISExample 层的框中,选择 Recipes

  3. 在右上角,选择 Edit

  4. Custom Chef Recipes (自定义 Chef 配方) 下方的 Setup (设置) 配方框中,键入 iis-cookbook::install

    注意

    使用 cookbook-name::recipe-name 标识配方,其中您可省略配方名称的 .rb 后缀。

  5. 选择 + 以将配方添加到层。红色 x 将出现在配方旁边以便随后轻松删除。

  6. 选择 Save 以保存新配置。自定义设置配方现在应包含 iis-cookbook::install

将实例添加到层并启动它

您可通过将实例添加到层并启动实例来试用配方。AWS OpsWorks在设置期间,Stacks 将在实例完成启动后立即自动安装说明书和运行 install.rb

将实例添加到层并启动它
  1. 在 AWS OpsWorks Stacks 导航窗格中,选择 Instances (实例)

  2. IISExample 层下,选择 Add an instance

  3. 选择合适的大小。t2.micro(或可供您使用的最小大小)对于此示例应已够用。

  4. 选择 Add Instance。默认情况下,AWS OpsWorks Stacks 通过将整数追加到层的短名称来生成实例名称,因此实例应命名为 iisexample1

  5. 在实例的操作列中选择启动启动实例。AWS OpsWorks随后,Stacks 将启动 EC2 实例并运行设置配方来配置它。如果层此时具有任何部署配方,则 AWS OpsWorks Stacks 将在设置配方完成后运行它们。

    此过程可能需要花费很长时间 (分钟),期间 Status 列将显示一系列状态。当您进入 online 状态时,设置过程已完成,并且实例已可供使用。

确认 IIS 已安装并且正在运行

您可使用 RDP 连接到实例并验证您的设置配方是否运行正常。

确认 IIS 已安装并且正在运行
  1. 在导航窗格中选择实例,然后在 iisexample1 实例的操作列中选择 rdp。Stacks 将为您自动生成将在指定时间段后过期的 RDP 密码。

  2. Session valid for 设置为 2 小时,然后选择 Generate Password

  3. AWS OpsWorks Stacks 将显示密码,并且为了给您带来方便,还将显示实例的公有 DNS 名称和用户名。复制全部三项,然后单击 Acknowledge and close

  4. 打开您的 RDP 客户端并使用步骤 3 中的数据连接到实例。

  5. 在实例上,打开 Windows 资源管理器并检查 C: 驱动器。它应具有由 IIS 安装创建的 C:\inetpub 目录。

  6. 打开控制面板 Administrative Tools 应用程序,然后打开 Services。列表底部附近应显示 IIS 服务。它命名为 World Wide Web 发布服务,并且状态应为 running

  7. 返回到 AWS OpsWorks Stacks 控制台并选择 iisexample1 实例的公有 IP 地址。请确保您在 AWS OpsWorks Stacks 中,而不是在 Amazon EC2 控制台中执行此操作。此操作将自动向地址发送 HTTP 请求,这应会打开默认 IIS 欢迎页面。

下一个主题讨论如何将应用程序部署到实例 (此示例中为一个简单的静态 HTML 页面)。不过,如果您想休息一下,请选择 iisexample1 实例的操作列中的停止以停止实例并避免产生不必要的费用。您可在准备好继续时重新启动实例。