I have created one java springboot application which is running in kuberentes enbaled istio-system in namespace.
My java application connect to sqs to poll the message. To connect aws services from pod i have created following service entry.
apiVersion: networking.istio.io/v1alpha3 kind: ServiceEntry metadata: name: external-star-aws-services-https spec: hosts: - "*.ap-south-1.amazonaws.com" location: MESH_EXTERNAL ports: - number: 443 name: tls protocol: TLS --- apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: external-star-aws-services-https spec: hosts: - "*.ap-south-1.amazonaws.com" tls: - match: - port: 443 sni_hosts: - "*.ap-south-1.amazonaws.com" route: - destination: host: "*.ap-south-1.amazonaws.com" port: number: 443
Sometimes it is working fine, there is no issue. But sometimes application is not starting in pod and throwing this error. When I recreate pod sometimes it get fixed sometimes again same error.
[2019-12-25 14:32:02.630] [ERROR] [main] [o.s.boot.SpringApplication.reportFailure.826] - Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘simpleMessageListenerContainer’ defined in class path resource [org/springframework/cloud/aws/messaging/config/annotation/SqsConfiguration.class]: Invocation of init method failed;
nested exception is com.amazonaws.SdkClientException: Unable to execute HTTP request: Connect to sqs.ap-south-1.amazonaws.com:443 [sqs.ap-south-1.amazonaws.com/18.104.22.168] failed: Connection refused (Connection refused)
I am not able to reproduce this error in my local setup so it looks like something i am missing on istio network side.
Kubernetes:- Version 1.11.1