尝试连接到RDS时,AWS EC2 Interminent UnknownHostException

时间:2014-07-18 22:02:04

标签: java amazon-web-services playframework amazon-ec2 dns

我在ec2上运行Java Play。当我开始玩游戏时,一切都很好。但是,运行大约一天后,我将在连接到RDS实例时开始看到UnknownHostException。这可以防止ec2和rds之间的任何事务。如果我再次重新启动应用程序,它会再次正常运行。

我已经检查了连接池,我很确定它工作正常。另外,我已经使用networkaddress.cache.ttl = 0和networkaddress.cache.negative.ttl = 0进行了测试。但是,我仍然收到错误。

有人对此有何想法?

先谢谢!

1 个答案:

答案 0 :(得分:0)

只需将其移至评论中的答案即可。通过停止EC2实例然后重新启动它来解决此问题。之后,该错误不再出现。

在我的情况下,它无法自行修复。我结束了停止/启动我的ec2实例的工作,并永久修复了它。我的猜测是,当我启动它时,它已分配给另一个(配置更好的)ec2实例。

do this会发生什么。

  • 新的内部IP地址,尽管可以随机相同。 [VPC实例通过停止/启动保留相同的内部IP地址。]

  • 新的外部IP地址(尽管可以随机相同)。

  • 如果在实例停止之前将弹性IP地址与该实例相关联,则您需要在启动后将其重新关联。 [VPC实例通过以下方式关联弹性IP地址 停止/启动。]

  • 该实例以前的临时存储中的所有内容都会被擦除,并且会为您提供新的临时存储(通常安装为/ mnt)。

  • 您可以根据需要将实例保持停止状态,并且不收取运行时间费用(尽管您收取的费用要低得多) EBS卷存储的费率)。请参阅下一点。

  • 再次启动实例时,将为其重新启动一个计费小时。例如,如果您启动一个新实例,然后停止/启动它3 前60分钟内的时间,您将需要支付4个小时的费用 而不是1。

  • 当您要启动EC2时,很有可能EC2没有正确实例类型的可用插槽来运行您的实例 再来一次。我曾经发生过这种情况,因此暂时切换到 不同的可用实例类型以使其再次运行。