iis - 如何使用 AWS CodeDeploy 在 Windows EC2 中安装 IIS?
问题描述
我需要在运行 Windows 的 EC2 实例上部署一个 .NET 项目,并且为了运行代码,我需要确保该实例安装了 IIS。这也需要自动化(因此需要 CodeDeploy)。如何使用 CodeDeploy 安装 IIS 和 MS-SQL?
我对 CodeBuild 有点熟悉,但我认为它在这里不会对我特别有帮助。我正在使用 CodeBuild 构建/编译 .NET 应用程序并将输出放入 S3。现在我需要下一步,即获取该代码并将其放在运行 IIS 和 MS-SQL 的 EC2 上。
解决方案
我建议从 EC2 实例的 UserData 中安装 IIS/MS-Sql 或使用预烘焙(黄金)图像方法。不推荐通过 CodeDeploy 安装软件,因为这样的功能安装在 Windows 环境下可能需要很长时间并且容易出错。
在 Windows 上安装 IIS 的 UserData 示例如下:
<powershell>
Import-Module ServerManager
tzutil /s "AUS Eastern Standard Time"
Add-WindowsFeature Web-WebServer -includeAllSubFeature -logpath $env:temp\\Web-WebServer_feature.log
Add-WindowsFeature Web-Mgmt-Tools -includeAllSubFeature -logpath $env:temp\\Web-Mgmt-Tools_feature.log
</powershell>
使用 CodeDeploy 部署您的应用程序工件并在需要时重新启动任何服务。CodeDeploy 的部署说明存储在源包根目录下的 appspec.yml 文件中。此处详细介绍了 Windows 版本部署到 IIS 的语法 [1]。