应用程序运行在云服务器上,它每隔一段时间处理SQS消息。一天有2-3次,我们再次看到代码为EAI\u的AWS SQS SDK中的错误。一般情况下,ECS容器中一天会有几次DNS/Internet因故中断。它会在错误发生后几秒钟内再次工作,所以我怀疑它只持续几秒钟。
我的问题是,我应该在哪里寻找这种行为的原因?我们的VPC配置比较复杂,一般EC2实例(ECS集群运行的)在一个私有网络中(外面看不到)。然而,运行在ECS上的服务只轮询SQS和处理任务。
注意:它与SQS服务无关-其他连接到RDS/外部API等的服务也会报告类似的错误。所以我想这一定是DNS/Internet级别的问题。
Dockerfile文件:
FROM node:8-alpine
ENV NODE_ENV production
WORKDIR /app
RUN apk update && apk upgrade && \
apk add --no-cache bash git openssh && \
apk add --no-cache -t build-dependencies make gcc g++ python libtool autoconf automake
COPY package.json /app
COPY yarn.lock /app
RUN \
mkdir -p /aws && \
apk -Uuv add groff less python py-pip && \
pip install awscli && \
apk --purge -v del py-pip && \
rm /var/cache/apk/*
RUN yarn
COPY . /app
SQS receive message failed: getaddrinfo EAI_AGAIN sqs.eu-central-1.amazonaws.com:443