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

问题描述 投票:1回答:1

我们有一个CI / CD管道来构建我们的代码,通过Terraform中的IaC部署到AWS到一个隔离的工作区,然后运行一系列测试。问题在于,在运行测试时,有时可能无法完全传播由API Gateway和Lambda使用的在部署期间创建的IAM角色。我们可以在测试开始之前添加一个人为的等待,但是它可能需要30到5分钟以上才能传播角色。我们想创建一个工具,在开始测试之前将检查角色是否已传播,因此我们不必等待5分钟以上的时间。什么是这样做的好方法?

amazon-web-services aws-lambda aws-api-gateway
1个回答
0
投票

IAM FAQs提到对角色权限的更改将生效“ 几乎立即”。 An answer from AWS here还指出,“在大多数情况下,您所做的更改会在不到一分钟的时间内反映出来”。请注意,这个答案现在已经有10年历史了,因此此后应该有所改善(?)。

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

© www.soinside.com 2019 - 2024. All rights reserved.