質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

0回答

2354閲覧

Spring Boot + AWS jarファイル実行時に Could not resolve placeholder 's3.access.key' エラーが生じる

teruhisashibuya

総合スコア15

Amazon RDS

Amazon RDSは、米アマゾン社が提供しているRDBMSサービス。クラウド上でのリレーショナルデータベースの構築および運用が可能です。MySQL/PostgreSQL/Oracle/SQL Serverのインストールを容易にすることができます。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2021/05/13 05:00

編集2021/05/13 05:07

SpringBootとAWSサービスのEC2とRDSを使用して、javaのプロジェクトをデプロイするために作業しています。
javaプロジェクトをBuildして生成されたjarファイルをEC2インスタンス上にアップロードが完了したところで、動作の確認を行うため下記コマンドを実行しました。

//EC2インスタンスにログインしてjarファイルの実行コマンドを実行 [ec2-user@ip-172-31-21-94 ~]$ java -jar test_web-1.0.0-SNAPSHOT.jar

問題なければアプリケーションが立ち上がるはずでしたが、下記エラーが表示され困っています。

Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'configLeader': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 's3.access.key' in value "${s3.access.key}"

AWSのサービスに関しては、EC2インスタンスとRDSインスタンスを作成して利用していますが、S3サービスは利用していないため、想定外のエラーに対しての対処法がわからず困っています。

AWS関係の情報を記述しているappliction.propertiesファイルの記載は以下の通りです。

spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource spring.datasource.driverClassName=org.postgresql.Driver spring.datasource.url=jdbc:postgresql://postgres-test.crpjggq8pknz.us-east-2.rds.amazonaws.com:5432/postgres?serverTimezone=JST spring.datasource.username=ユーザー名 spring.datasource.password=パスワード spring.jpa.hibernate.ddl-auto=none server.servlet.session.timeout=57600 spring.servlet.multipart.max-file-size=500MB spring.servlet.multipart.max-request-size=500MB cloud.aws.credentials.accessKey=アクセスキー cloud.aws.credentials.secretKey=シークレットアクセスキー release.mode=release

pom.xmlの記述は以下の通りです。

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>grid_web</groupId> <artifactId>grid_web</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>jar</packaging> <name>grid_web</name> <description>grid_web</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.5.RELEASE</version> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <logback.version>1.1.3</logback.version> <java.version>11</java.version> <jvm.options>--add-opens=java.base/jdk.internal.ref=ALL-UNNAMED</jvm.options> </properties> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.1</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.1</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> </dependency> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <scope>runtime</scope> </dependency> <!-- ■Spring Boot関連 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-config</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> <exclusions> <exclusion> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jdbc</artifactId> </dependency> <dependency> <groupId>org.thymeleaf.extras</groupId> <artifactId>thymeleaf-extras-springsecurity5</artifactId> </dependency> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-s3</artifactId> <version>1.11.112</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency> <!-- ■DB関連 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>com.bedatadriven</groupId> <artifactId>jackson-datatype-jts</artifactId> <version>2.2</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-spatial</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <executable>true</executable> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <verbose>true</verbose> <source>${java.version}</source> <target>${java.version}</target> <encoding>${project.build.sourceEncoding}</encoding> <argLine>${jvm.options}</argLine> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.0</version> </plugin> </plugins> </build> </project>

また、AWS上のユーザー権限は以下の通りです。
イメージ説明

AWSのデプロイ作業に関して詳しい方がいらっしゃいましたら、恐れ入りますがご指導をお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yu_1985

2021/05/13 19:34

JavaやSpringに関しては詳しくないのであまりわかりませんが、ソースのどこかでs3.access.keyを呼び出しているところがあるということではないでしょうか? あと、今回の問題と関係ないですが、AWS上で動かすならアクセスキーを使わずにIAMロールを使いましょう。 もっとも、EC2とRDSしか使っていないのならキーが登場するところがないと思うのですが…。 AWS上のユーザ権限と書いてますが、それだけだとどこの何に使っているどのIAMかわからないので補足してください。 権限を見る限り本当にEC2とRDSしか使っていないのかがちょっと疑問です。
gpsoft

2021/05/13 23:46

configLeaderをDIする過程で間接的にs3.access.keyが必要になったのかもしれないので、configLeaderを切り口にして探ってみてはどうでしょうか。
teruhisashibuya

2021/05/17 13:01

yu_1985様 コメントありがとうございます。 ソースは何度か確認してみたのですが、S3.access.keyを利用している部分が無いような状況です。 AWSとSpringBootアプリを繋ぐ上でソースを変更したのは、上で記述した appliction.properties pom.xml の2ファイルのみとなっています。上のファイルに対しては、自分が確認した範囲ないでは、s3関係の記述はしていないのかな...と思っています。 またおっしゃる通り、EC2とRDSしか使用していないならキーが登場するわけがない...というのは私も同じ考えです。 AWS上のユーザー権限に関しては、私がほとんど理解していないため正確にお伝えするのが難しいのですが、正直どこにも使用していないと思います。デプロイが上手く行かなかったため、必要そうな権限を追加してみただけなのが現状です。
teruhisashibuya

2021/05/17 13:03

gpsoft 様 コメントいただきありがとうございます。 ご指摘頂いた通り、configLeaderを切り口に調べてみたいと思います。 s3.access.keyにばかりに注目してしまったので、こちらでも調べてみたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問