如何在运行测试之前等待 IAM 角色完全传播



我们有一个 CI/CD 管道,用于构建代码,通过 Terraform 中的 IaC 部署到 AWS 到隔离的工作空间,然后运行一套测试。问题是,在部署期间创建的由 API 网关和 Lambda 使用的 IAM 角色有时在测试运行时不会完全传播。我们可以在测试开始之前添加人工等待,但它的范围可以从角色传播前 30 秒到 5+ 分钟不等。我们想创建一个工具,在我们开始测试之前检查角色是否传播,这样我们就不必等待整整 5+ 分钟。这样做的好方法是什么?

IAM 常见问题解答提到,对角色权限的更改">几乎立即"生效。AWS 在此处的回答还指出,"在大多数情况下,您所做的更改会在不到一分钟的时间内反映出来"。请注意,这个答案现在已经快 10 年了,所以从那时起情况应该有所改善(?

我想说的是,您可以添加 1 分钟的初始等待时间,然后调用 API 网关以检查它是否按预期运行,如果是,则 IAM 角色更改应该已经传播并继续测试。如果没有,请再睡一分钟,然后重试。如果您使用多个 AWS 区域,这将更难检查。

最新更新