繁体   English   中英

在AWS Elastic BeanStalk上运行的Spring Boot应用程序中配置AWS RDS

[英]Configuring AWS RDS in a Spring Boot Application running on AWS Elastic BeanStalk

我正在尝试使用AWS Elastic Beanstalk基础架构学习通过Spring Boot框架开发REST应用程序的方法。 在将其部署到AWS Elastic BeanStalk服务器之前,我使用IntelliJ IDE在本地盒子上开发和测试应用程序。 我试图在我的应用程序中与AWS RDS实例交谈。 使用以下代码片段,我的应用程序能够在部署时与RDS实例通信并在我的本地机器上运行,但在AWS服务器上部署时会给我http 404,我猜是因为部署因无法连接到RDS实例而失败来自AWS。

项目POM文件

应用属性文件

用户存储库文件

我正在寻找一种正确的方法来配置这些秘密,以便它们不存在于git中。 理想情况下,从为实例定义的AWS环境变量中获取它,但我无法弄清楚spring引导应用程序属性文件如何访问AWS Elastic BeanStalk环境配置变量。

我已经阅读了一些文档和教程,但不能完全弄明白。 Spring Cloud SDK一样示例Spring Boot AWS App

[编辑1]为了提供更多信息,我能够进入框中并观察日志。 兴趣点是:

引起:com.amazonaws.AmazonServiceException:User:arn:aws:sts :: 486695215273:assume-role / aws-elasticbeanstalk-ec2-role / i-dc86381f无权执行:cloudformation:DescribeStackResources(Service:AmazonCloudFormation; Status代码:403;错误代码:AccessDenied;请求ID:1ee8c03b-ecd4-11e5-9fe1-378ce4cb26d3)

[编辑2]在所需策略中添加AWSCloudFormationReadOnlyAccess安全策略后,不存在用于i-dc86381f的堆栈(服务:AmazonCloudFormation;状态代码:400;错误代码:ValidationError;请求ID:f579cc15-ecd4-11e5-a20b-114992e25084)

我在AWSCloudFormation中提到的模板文件是我的模板文件

配置Elastic Beanstalk“秘密”或环境变量可以通过cli或GUI完成。 对于cli使用:

eb setenv ExampleVar=ExampleValue

这很直截了当。 文档: http//docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-setenv.html

要通过GUI执行此操作,您将导航到您的应用程序和所需的环境,单击左侧菜单中的配置。 单击“软件配置”面板上的齿轮图标,您将进入配置页面,您可以在其中设置“环境属性”,它们是键/值对...您可以设置属性名称,然后属性值,当您单击“应用”时,它们将应用于您的环境,然后您的应用程序可以访问它们,但它通常会访问生产中的环境变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM