3

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

プロジェクト POM ファイル

アプリケーション プロパティ ファイル

ユーザーリポジトリファイル

これらのシークレットが 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です

4

1 に答える 1

0

Elastic Beanstalk の「シークレット」または環境変数の設定は、cli または GUI を介して行うことができます。CLI の場合:

eb setenv ExampleVar=ExampleValue

これはかなり簡単です。ドキュメントはこちら: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-setenv.html

GUI を介してこれを行うには、アプリケーションと目的の環境に移動し、左側のメニューで [構成] をクリックします。「ソフトウェア構成」パネルの歯車アイコンをクリックすると、キーと値のペアである「環境プロパティ」を設定できる構成ページに移動します...プロパティ名を設定してから、プロパティ値と「適用」をクリックすると、それらは環境に適用され、アプリケーションはそれらにアクセスできますが、通常は本番環境の環境変数にアクセスします。

于 2016-04-13T19:05:45.053 に答える