![](/img/trans.png)
[英]Deploy Spring Boot application on AWS (Elastic Beanstalk) that uses RDS - Application does not start
[英]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。
我正在寻找一种正确的方法来配置这些秘密,以便它们不存在于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.