AWS Elastic Beanstalk インフラストラクチャを使用して、Spring Boot フレームワークを介して REST アプリを開発する方法を学ぼうとしています。AWS Elastic BeanStalk サーバーにデプロイする前に、IntelliJ IDE を使用してローカル ボックスでアプリを開発およびテストしています。アプリで AWS RDS インスタンスと通信しようとしています。次のコード スニペットを使用すると、アプリはデプロイ時に RDS インスタンスと通信してローカル ボックスに対して実行できますが、AWS サーバーにデプロイすると http 404 が返されます。これは、RDS インスタンスへの接続に失敗したためにデプロイが失敗したためだと推測されます。から。
これらのシークレットが 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 に記載されている私のテンプレート ファイルはMy Template Fileです