Java AWS EC2尝试连接到RDS时出现间歇性未知后异常

Java AWS EC2尝试连接到RDS时出现间歇性未知后异常,java,amazon-web-services,playframework,amazon-ec2,dns,Java,Amazon Web Services,Playframework,Amazon Ec2,Dns,我正在ec2上运行Java Play。当我开始玩prod时,一切都很好。然而,在运行了大约一天之后,当连接到RDS实例时,我将开始看到UnknownHostException。这可以防止ec2和rds之间的任何事务。如果我重新启动应用程序,它会再次正常工作 我已经检查了连接池,我非常确定它工作正常。另外,我已经用networkaddress.cache.ttl=0和networkaddress.cache.negative.ttl=0测试了这一点。然而,我仍然得到了错误 有人对此有想法吗?只是将

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

我已经检查了连接池,我非常确定它工作正常。另外,我已经用networkaddress.cache.ttl=0和networkaddress.cache.negative.ttl=0测试了这一点。然而,我仍然得到了错误


有人对此有想法吗?

只是将此移到评论中的答案。这是通过停止EC2实例然后重新启动它来修复的。之后,再也看不到错误

在我的情况下,它并没有自行修复。我停止了停止/启动我的ec2实例,并永久地修复了它。我的猜测是,当我启动它备份时,它被分配到了另一个(配置更好的)ec2实例

当你离开时会发生什么

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

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

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

  • 实例以前的临时存储上的所有内容都被擦除,并且您将获得新的临时存储(通常装载为/mnt)

  • 您可以让实例停止运行,只要您愿意,就可以不收取运行时费用(尽管您收取的费用要低得多) EBS卷存储的速率)。请看下一点

  • 当您再次启动实例时,将为其启动新的计费小时数。例如,如果启动一个新实例,然后停止/启动它3 在前60分钟内,您将被收取4小时的费用 而不是1

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


我们已经看到,
UnknownHostException
错误也会在一个(只有一个特定的)实例上弹出,但它们只会间歇性出现,并在一分钟左右的时间内自行修复-我们不需要采取任何行动。然而,对我们来说,这不仅限于RDS,而且也发生在同一AWS区域内的连接上。我也经常遇到这种情况。在我的情况下,这并没有解决问题。我停止并重新启动我的ec2实例,它永久地修复了它。我猜在我启动ec2实例备份时,它被分配到了一个新的(配置更好的)ec2实例