어쩌다 스프링부트로 프로젝트를 시작하게 되어 초기 설정을 하는 와중에

aws client 사용을 위해, 관련 설정을 하다가 에러가 발생하였다.

 

 

implementation 'org.springframework.cloud:spring-cloud-starter-aws'

implementation 'org.springframework.cloud:spring-cloud-starter-aws-messaging'

위 dependencies를 추가하고

 

application.properties 에 분명 설정을 다한 것 같은데 run시 에러가 계속 발생하였다.

cloud.aws.credentials.access-key=엑세스키
cloud.aws.credentials.secret-key=시크릿키
cloud.aws.region.auto=false

 

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'stackResourceRegistryFactoryBean' defined in class path resource [org/springframework/cloud/aws/autoconfigure/context/ContextStackAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cloud.aws.core.env.stack.config.StackResourceRegistryFactoryBean]: Factory method 'stackResourceRegistryFactoryBean' threw exception; nested exception is java.lang.IllegalArgumentException: No valid instance id defined

 

알아보니

로컬에서 실행할때는 아래와 같이

 

cloud.aws.stack.auto=false

해당 설정을 추가해줘야 한다고 한다.

aws ec2환경에서 실행했으면 해당 설정을 하지 않아도 상관없다고 하는데, 로컬에서 실행할 때는 해당 설정을 해줘야 한다고 합니다.

(ec2에서 spring cloud프로젝트를 실행시키면 cloudformation 구성을 시작하는데, 이를 로컬에선 안 하기 위해서입니다)

 

참고 : https://jojoldu.tistory.com/300

+ Recent posts