Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services JPA无法从Beanstalk连接到AWS RDS,但它在本地工作_Amazon Web Services_Spring Boot_Amazon Ec2_Amazon Elastic Beanstalk_Amazon Rds - Fatal编程技术网

Amazon web services JPA无法从Beanstalk连接到AWS RDS,但它在本地工作

Amazon web services JPA无法从Beanstalk连接到AWS RDS,但它在本地工作,amazon-web-services,spring-boot,amazon-ec2,amazon-elastic-beanstalk,amazon-rds,Amazon Web Services,Spring Boot,Amazon Ec2,Amazon Elastic Beanstalk,Amazon Rds,我将在AWS Elastic Beanstalk上部署一个Java 8 Spring Boot web应用程序。我有一个关联的RDS MySQL实例,并配置了相关的连接细节 在我的机器上本地运行应用程序时,连接会起作用,因为我为RDS服务器设置了以下路由配置: 如上所述,还为与我的EC2实例关联的安全组添加了路由 因此,在EC2机器上运行mysql是可行的,可以访问数据库 将应用程序部署到Beanstalk时会出现这个问题,在Beanstalk中,它将被实现到EC2实例中。应用程序崩溃,因为在

我将在AWS Elastic Beanstalk上部署一个Java 8 Spring Boot web应用程序。我有一个关联的RDS MySQL实例,并配置了相关的连接细节

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

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

因此,在EC2机器上运行
mysql
是可行的,可以访问数据库

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

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

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

我有单独的
应用程序开发.properties
应用程序生产.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时却不能运行的指针?

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