【问题标题】:JPA cannot connect to AWS RDS from Beanstalk but it works locallyJPA 无法从 Beanstalk 连接到 AWS RDS,但它可以在本地工作
【发布时间】:2021-08-01 08:48:15
【问题描述】:

我正在将 Java 8 Spring Boot Web 应用程序部署到 AWS Elastic Beanstalk。我有一个关联的 RDS MySQL 实例并配置了相关的连接详细信息。

在我的机器上本地运行应用程序时连接有效,因为我为 RDS 服务器设置了以下路由配置:

如上所述,还会为与我的 EC2 实例关联的安全组添加路由。

因此,在 EC2 机器上运行mysql工作,可以访问数据库。

将应用程序部署到 Beanstalk 时会出现此问题,并在其中将其实施到 EC2 实例中。应用程序崩溃,因为它在尝试连接到 MySQL RDS 实例时遇到连接被拒绝错误:

这似乎没有任何意义。 该数据库可从 EC2 实例(通过 mysql 命令验证)和 AWS 外部访问,因此唯一剩下的原因是错误配置了 Spring Boot 应用程序属性。

这似乎也不是问题,因为在本地运行它时,在我的机器上,该应用没有问题连接到 RDS 实例并使用生产 MySQL 服务器正常运行。

我有单独的 application-development.propertiesapplication-production.properties 文件,但我将相关属性设置为相同的值:

spring.datasource.url                           = jdbc:mysql://XXXXXX.rds.amazonaws.com:3306/ebdb?useSSL=false&allowPublicKeyRetrieval=true&useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username                      = XXXXXX
spring.datasource.password                      = XXXXXX

spring.datasource.driver-class-name             = com.mysql.cj.jdbc.Driver

关于为什么我的应用可以在本地运行但部署到 Beanstalk 时不能运行的任何指示?

【问题讨论】:

    标签: amazon-web-services spring-boot amazon-ec2 amazon-elastic-beanstalk amazon-rds


    【解决方案1】:

    重新创建 Beanstalk 环境和 RDS 实例似乎可以解决问题。

    【讨论】:

      猜你喜欢
      • 2016-09-30
      • 2017-12-20
      • 1970-01-01
      • 2017-11-25
      • 2021-02-14
      • 2015-04-30
      • 2016-08-24
      • 2021-06-10
      • 1970-01-01
      相关资源
      最近更新 更多