访问SSM时会间歇性出现ConnectTimeoutError 错误

0

【以下的问题经过翻译处理】 我的应用程序在Fargate实例和本地Docker容器上使用SSM参数存储。我们使用Python中的Boto3进行访问。我团队的多个开发人员位于不同的国家,在一到四周内可能看到一个非常间歇性的问题,大约持续10分钟左右,SSM的调用会失败,出现以下错误:

botocore.exceptions.ConnectTimeoutError: Connect timeout on endpoint URL: “https://ssm.us-east-2.amazonaws.com/”

据我所知,ECS实例似乎没有出现这种情况,这只是当我们通过Boto3从我们的家庭网络访问终端点时才会出现问题。我现在想到我没有验证所有用户是否同时看到问题,或者这只是一个用户一次。下一次我看到它我会尝试测试这个问题。

我尝试了以下方法:

  1. 降低我们对SSM的调用次数。最多只有每个用户每秒2个调用,而有效地没有其他用户与API同时访问。在查看日志时,我能看到最多的是1分钟内的12个请求。我们没有使用这个非常积极地,所以似乎不可能是限流的问题。我们所有的调用都是通过GetParametersByPath进行分页调用,并且我们使用“WithDecryption=true”。
  2. 将Boto3的重试方法从Legacy更改为Standard。这可能是一个好主意,但似乎并没有解决问题。

我唯一可靠的解决方法是等待。最终,终端点回来了,我的应用程序再次开始工作。但这真的是一种无法接受的服务中断水平,我觉得我一定做错了什么。

是否有什么设置被我忽略了? 有什么建议可以解决这个问题当不可避免的再次遇到这个问题.

profile picture
专家
已提问 3 个月前5 查看次数
1 回答
0

【以下的回答经过翻译处理】 结果证明这是 Docker Desktop 问题。您可以使用旧版本的 Docker Desktop 4.5.0 (Mac) 或 4.5.1 (Win) 解决此问题。

profile picture
专家
已回答 3 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则