IHTSDO / snowstorm

Scalable SNOMED CT Terminology Server using Elasticsearch
Other
204 stars 80 forks source link

Snowstorm 2.2.0 Startup Error in AWS when no credentials available #34

Closed kaicode closed 5 years ago

kaicode commented 5 years ago

When starting Snowstorm 2.2.0 on an AWS EC2 instance Snowstorm fails to start with the following error: Caused by: com.amazonaws.SdkClientException: Unable to load AWS credentials from any provider in the chain

This only happens if I use an EC2 instance which does not have any credentials set in the environment variables or configured on disk.

kaicode commented 5 years ago

Snowstorm uses Spring Cloud libraries which will detect when the application is run in AWS. The libraries expect there to be credentials in the environment which can be used to load resources from S3. If there are no credentials available startup will fail.

This AWS auto configuration behaviour can be disabled using this property in your application.properties file:

spring.autoconfigure.exclude=org.springframework.cloud.aws.autoconfigure.context.ContextStackAutoConfiguration

Or by setting the same property using a command line argument when starting Snowstorm:

--spring.autoconfigure.exclude=org.springframework.cloud.aws.autoconfigure.context.ContextStackAutoConfiguration