AWS Cloudfront 错误?部署时失效的最大次数?

Cyr*_*l I 20 amazon-s3 amazon-web-services amazon-cloudfront gitlab gitlab-ci

我在从 gitlab 部署某些内容时收到错误。

$ aws cloudfront create-invalidation --distribution-id=EVB1B2B3B4B56 --paths "/*"
**An error occurred (ServiceUnavailable) when calling the CreateInvalidation operation (reached max retries: 2): CloudFront encountered an internal error. Please try again.**
Run Code Online (Sandbox Code Playgroud)

我通过从 AWS 控制台手动创建失效来解决这个问题,并且它有效。这种情况有时会发生导致这个错误,当时我是手动做的。永久的解决方案是什么?请帮我解决这个问题。

Seb*_*Gra 17

在将相同的应用程序部署到许多发行版时创建多个失效时,我遇到了类似的问题。该错误仍然是随机发生的,有时只需稍后重试部署就可以正常工作,而其他人则在不同的发行版上失败。

\n

发现一个相关问题在存储库中显示相同的错误,高峰时段github aws-cdk似乎存在错误。AWS Cloudfront API

\n
\n

来自 CloudFront 团队:

\n

CreateInvalidation API 在每日流量高峰期间故障率较高。\n 它将返回最多 50% 的请求的错误。这主要是由于 API 的容量有限。

\n

我们有证据表明,在高峰期间,某些请求即使在六次重试之后仍然失败。我们正在努力改进这一点,但\n没有快速解决此问题的方法,我们预计到 2022 年第一季度末\n情况会有所改善。

\n
\n

我仍然没有找到一个“干净”的解决方案,我所做的是处理脚本中的错误CLI并自动重试,直到最终成功。

\n


小智 13

您可以直接在命令中增加重试次数:

AWS_MAX_ATTEMPTS=10 aws cloudfront create-invalidation --distribution-id=EVB1B2B3B4B56 --paths "/*"
Run Code Online (Sandbox Code Playgroud)

当 CloudFront API 遇到流量高峰时,您通常会收到此错误。不能保证成功到达端点,但您错过所有重试的机会仍然较小。