AWS EC2 实例 RDP 间歇性停止工作

AWS EC2 Instance RDP stop working intermittently

我在悉尼地区创建了一个具有免费套餐功能的新 AWS 账户,以下是我的配置:

  1. 单个 EC2 Windows t2.micro 与弹性 IP 关联,默认 VPC 设置
  2. RDS MSSQL Express
  3. EC2 安全组允许从我的 IP 地址进行 RDP 连接
  4. EC2 IIS 中的单个网站,具有两个虚拟目录、一个 Web 表单应用程序、一个 WCF 应用程序。

RDP 大部分时间都在工作。但是每隔几天,我就无法通过 RDP 连接到该弹性 IP 地址上的这个 EC2 实例(卡在启动远程连接)。 安全组策略或 windows 防火墙没有任何变化,即使我更改安全组以允许来自任何 IP 地址的 RDP,也无法正常工作。我仍然可以访问网站和虚拟目录,但 WCF 服务报告内部 500 错误。

然后我必须通过以下方式修复它:

  1. 将该弹性 IP 地址与 EC2 实例解除关联并重新关联
  2. 重启 EC2 实例

完成这些步骤后,我可以通过 RDP 连接到 EC2,我注意到事件查看器将 WCF 服务错误记录为 "Memory gates checking failed because the free memory (xxxxx bytes) is less than 5% of total memory. As a result, the service will not be available for incoming requests. To resolve this, either reduce the load on the machine or adjust the value of minFreeMemoryPercentageToActivateService on the serviceHostingEnvironment config element."

我怀疑 EC2 实例 运行 内存不足,因此它拒绝 RDP 连接?这是一个新的EC2实例,除了网站文件我没有安装任何东西,如果我检查任务管理器,内存使用率约为85%,没有可疑程序运行。这个 RDP 问题发生在我部署 WCF 应用程序之前。

有人见过这个问题吗?这是免费套餐 t2.micro 实例的限制吗?我担心如果我把它做成生产环境。

关于这个问题,因为它不会一直发生,并且考虑到您的实例只有 600 兆字节的 RAM(如果我没记错的话)和极其有限的处理资源,所以该服务确实存在不足为奇没有开始。我建议您至少将实例类型更改为 t2.micro,因为根据 AWS 文档 "it has much better performance"。

您还应该考虑 T 个实例(尤其是较小的实例)不应在生产环境中使用。它们更适合测试和开发。

"T" 类型的实例在 CPU 性能方面都是可突增的。除了 运行 内存不足之外,您的 CPU 可能会被周期管理程序耗尽,从而导致额外的间歇性应用程序性能问题。这是关于实例类型的 AWS 常见问题解答:

https://aws.amazon.com/ec2/instance-types/

如前所述,T 实例由于其可突发特性,不应用于生产。