如何使用 .NET Core 应用程序将 ebextentions 打包到 Elastic Beanstalk?

How to package ebextentions to Elastic Beanstalk with a .NET Core app?

我制作了一个非常简单的 .NET Core 应用程序并将其部署到 IIS/Windows 平台下的 Elastic Beanstalk。这是我上传到 AWS 的包的布局。

foo.zip
    aws-windows-deployment-manifest.json
    site.zip
        foo.dll
        web.config
        Microsoft.AspNetCore.Hosting.dll
        ... other dependencies

效果很好。但我想将应用程序池上的 IdleTimeout 更改为 0(默认为 20)。为此,我创建了一个 .ebextentions 文件夹,并添加了包含以下内容的文件 01_Idle_Timeout.config:

commands:
 set_idle_time:
  command: c:\windows\system32\inetsrv\appcmd.exe set config /section:applicationPools "/[name='DefaultAppPool'].processModel.idleTimeout:0.00:00:00"

我试过将此目录放在 foo.zip 下。我试过将它放在 site.zip 下。它只是不会生效。

我已远程访问 Elastic Beanstalk 实例并手动 运行 命令以确保它正常工作并且确实如此。但是不知何故 .ebextentions 不会处理它。

我是不是漏掉了一些简单的东西?

应该是 .ebextensions 而不是 .ebextentions(注意打字错误)。

http://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/deployment-beanstalk-custom-netcore.html

此外,在您的示例中,.ebextensions 文件夹应位于 foo.zip 下,而不是 site.zip。