我正在尝试学习使用 AWS Elastic Beanstalk 基础设施通过 Spring Boot 框架开发 REST 应用程序的方法。在将应用程序部署到 AWS Elastic BeanStalk 服务器之前,我正在使用 IntelliJ IDE 在我的本地机器上开发和测试应用程序。我正在尝试与我的应用程序中的 AWS RDS 实例交谈。使用以下代码片段,我的应用程序能够在部署时与 RDS 实例通信并在我的本地机器上运行,但在部署在 AWS 服务器上时给了我 http 404,我猜这是因为由于无法连接到 RDS 实例而导致部署失败来自 AWS。
我正在寻找一种正确的方法来配置这些秘密,以便它们不存在于 git 中。理想情况下,从为实例定义的 AWS 环境变量中获取它,但我无法弄清楚 Spring Boot 应用程序属性文件如何访问 AWS Elastic BeanStalk 环境配置变量。
我已经阅读了一些文档和教程,但不能完全弄清楚这一点。与Spring Cloud SDK类似,Spring Boot AWS 应用示例
[编辑 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 中提到的我的模板文件是我的模板文件