Hi
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/52.95.80.22] 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
istio-version:- version.BuildInfo{Version:“1.1.3”