【发布时间】:2016-07-01 22:43:57
【问题描述】:
我正在尝试学习使用 AWS Elastic Beanstalk 基础设施通过 Spring Boot 框架开发 REST 应用程序的方法。在将应用程序部署到 AWS Elastic BeanStalk 服务器之前,我正在使用 IntelliJ IDE 在本地机器上开发和测试应用程序。我正在尝试与我的应用程序中的 AWS RDS 实例交谈。使用以下代码 sn-ps,我的应用程序能够在部署时与 RDS 实例通信并在我的本地机器上运行,但在部署在 AWS 服务器上时给了我 http 404,我猜这是因为由于连接失败而导致部署失败来自 AWS 的 RDS 实例。
我正在寻找一种正确的方法来配置这些秘密,以便它们不存在于 git 中。理想情况下,从为实例定义的 AWS 环境变量中获取它,但我无法弄清楚 Spring Boot 应用程序属性文件如何访问 AWS Elastic BeanStalk 环境配置变量。
我已经阅读了一些文档和教程,但不能完全弄清楚这一点。喜欢Spring Cloud SDK、Sample Spring Boot AWS App
[编辑 1] 为了提供更多信息,我可以通过 ssh 进入盒子并观察日志。兴趣点是:
引起:com.amazonaws.AmazonServiceException:用户:arn:aws:sts::486695215273:assumed-role/aws-elasticbeanstalk-ec2-role/i-dc86381f 无权执行:cloudformation:DescribeStackResources(服务: AmazonCloudFormation;状态代码:403;错误代码:AccessDenied;请求 ID:1ee8c03b-ecd4-11e5-9fe1-378ce4cb26d3)
[编辑 2] 在所需策略中添加 AWSCloudFormationReadOnlyAccess 安全策略后, i-dc86381f 的堆栈不存在(服务:AmazonCloudFormation;状态代码:400;错误代码:ValidationError;请求 ID:f579cc15-ecd4-11e5-a20b-114992e25084)
AWSCloudFormation 中提到的我的模板文件是My Template File
【问题讨论】:
标签: spring amazon-web-services spring-boot amazon-elastic-beanstalk aws-rds