【发布时间】:2017-01-17 22:52:13
【问题描述】:
我在 .NET (Windows/IIS) 平台上设置了一个 Elastic Beanstalk 实例。我在那里部署了一个 .NET Core 应用程序,它做了两件事:
- 以 Hello world 响应!当我到达终点时 - 但我不在乎。
- 为 RabbitMQ(也托管在 AWS 中)设置侦听器。每次我在 RabbitMQ 中发送消息时,此侦听器都会触发一条 SMS。
第 2 项效果很好 - 我发送了一条消息,不到一秒钟后,我在手机上收到了一条 SMS 消息。
问题在于 AWS 在一段时间不活动后让应用程序进入睡眠状态。这会导致 RabbitMQ 侦听器也进入睡眠状态。这会导致 SMS 消息未送达。直到我通过转到 Elastic Beanstalk 分配给我的 URL 来唤醒实例。
如何让我的 Elastic Beanstalk 实例不进入睡眠状态?我可以从 C# 代码中调用什么来阻止它这样做吗?
【问题讨论】:
-
AWS 不会因为不活动而使 Elastic Beanstalk 应用程序进入睡眠状态。听起来您的应用程序配置不正确。您应该搜索在 C#/IIS 环境中通常导致此行为的原因,它不是由 AWS/Elastic Beanstalk 引起的。
-
默认情况下,AWS 外部的 @MarkB IIS 环境将在未使用时将应用程序置于睡眠状态。但是在 IIS 设置中更改它很简单。在 Elastic Beanstalk 中,我看不到任何控件可以做到这一点。没有任何界面可做,除非我缺少一些基本的东西。
-
您将使用此页面上描述的技术来修改该设置docs.aws.amazon.com/elasticbeanstalk/latest/dg/…
-
@AngryHacker 你找到了如何通过 Elastic BeanStalk 配置 IIS 服务器的解决方案吗?
-
@dyesdyes 没有。可能有办法,但我转向了不同的解决方案。
标签: c# amazon-web-services iis asp.net-core amazon-elastic-beanstalk