安装 Windows 功能:IIS - AWS OpsWorks

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

安装 Windows 功能: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

Windows 功能是一组可选的系统组件,包括 .NET 框架和 Internet Information Services (IIS)。本主题介绍如何实施说明书来安装常用功能 Internet Information Services (IIS)。

注意

安装程序包说明了如何安装附带有必须下载到实例并运行的安装程序包 (如 MSI 文件) 的软件。IIS 说明书

在 Windows 实例上运行配方说明了如何使用 powershell_script 资源安装 Windows 功能。本示例展示了一种替代方法:使用 Chef Windows 说明书的 windows_feature 资源。此说明书包含一系列使用部署映像服务和管理在 Windows 上执行各种任务 (包括功能安装) 的资源。

注意

Chef 还有一个可用于管理 IIS 的 IIS 说明书。有关更多信息,请参阅 IIS 说明书

设置说明书
  1. 前往 Windows 食谱 GitHub 存储库并下载windows食谱。

    本示例假定您将以 .zip 文件的形式下载 windows 存储库,但您也可以克隆该存储库 (如果您愿意)。

  2. 前往 chef_handler 食谱 GitHub 存储库并下载食谱。chef-handler

    windows 说明书依赖于 chef_handler;您不会直接使用它。本示例假定您将以 .zip 文件的形式下载 chef_handler 存储库,但您也可以克隆该存储库 (如果您愿意)。

  3. windowschef_handler 说明书分别提取到您的说明书目录中的名为 windowschef_handler 的子目录中。

  4. 在您的名为 install-iis 的说明书目录中创建一个目录并导航到该目录。

  5. 将包含以下内容的 metadata.rb 文件添加到 install-iis

    name "install-iis" version "0.1.0" depends "windows"

    depends 指令允许您在配方中使用 windows 说明书资源。

  6. recipes 目录添加到 install-iis 并将名为 default.rb 的文件添加到包含以下配方代码的目录。

    %w{ IIS-WebServerRole IIS-WebServer }.each do |feature| windows_feature feature do action :install end end service 'w3svc' do action [:start, :enable] end

    配方将使用 windows 说明书的 windows_feature 资源安装以下内容:

    配方随后使用 service 资源启动并启用 IIS 服务 (W3SVC)。

    注意

    有关可用 Windows 功能的完整列表,请使用 RDP 登录实例,打开命令提示窗口,然后运行以下命令。请注意,该列表非常长。

    dism /online /Get-Features
  7. 创建包含 install-iischef_handlerwindows 说明书的 .zip 存档,并将存档上传到 S3 存储桶。公开该存档并记录 URL 以供将来使用。本示例假定该存档命名为 install-iis.zip。有关更多信息,请参阅 说明书存储库

    发送到 Amazon S3 存储桶的内容可能包含客户内容。有关删除敏感数据的更多信息,请参阅如何清空 S3 存储桶?如何删除 S3 存储桶?

按下面所示为本示例创建堆栈。您也可以使用现有 Windows 堆栈。只需更新说明书即可,如下文所述。

创建堆栈
  1. 打开 AWS OpsWorks Stacks 控制台,然后选择 Add Stack (添加堆栈)。指定以下设置,接受其他设置的默认值,然后选择 Add Stack

    • 名称 - InstallIIS

    • 区域-美国西部(俄勒冈州)

      本示例在任何区域都有效,但我们建议将美国西部(俄勒冈州)用于教程。

    • 默认操作系统 - Microsoft Windows Server 2012 R2

  2. 选择 Add a layer 并将采用以下设置的自定义层添加到堆栈。

    • 名称 - IIS

    • 短名称 - iis

  3. 向 IIS 层添加全天候实例 (采用默认设置) 并启动该实例

您现在可以安装说明书并运行配方

安装说明书并运行配方
  1. 编辑堆栈以启用自定义说明书,然后指定以下设置。

    • 存储库类型 - S3 存档

    • 存储库 URL -您之前记录的说明书存档 URL。

    接受其他设置的默认值,然后选择 Save 更新堆栈配置。

  2. 运行 Update Custom Cookbooks 堆栈命令,这会将最新版本的自定义说明书安装到堆栈的联机实例上。如果您的说明书存在早期版本,此命令会覆盖该版本。

  3. 通过在 Recipes to execute 设置为 install-iis::default 的情况下运行 Execute Recipes 堆栈命令来执行配方。此命令将启动 Chef 运行,它将运行指定的配方。

    注意

    为方便起见,本示例使用的是 Execute Recipes (执行配方),但您通常会让 AWS OpsWorks Stacks 自动运行您的配方,方法是将其分配到相应的生命周期事件。您可以通过手动触发事件来运行此类配方。您可以使用堆栈命令触发设置和配置事件,使用部署命令触发部署和取消部署事件。

  4. 要确认安装,请使用 RDP 连接到该实例并打开 Windows 资源管理器。文件系统现在应有一个 C:\inetpub 目录。如果您查看管理工具控制面板应用程序中的服务列表,则会发现 IIS 在底部附近。但是,它将被命名为“World Wide Web Publishing Service”,而不是“IIS”。