【问题标题】:Write tests to enforce invariants on AWS infrastructure编写测试以在 AWS 基础设施上强制执行不变量
【发布时间】:2020-04-28 11:09:00
【问题描述】:

所以在我的日常工作中,我遇到了这个问题。我是整个基础架构的新手,我正在使用 Terraform 来部署我们的基础架构。所以这对我来说是一个起起落落的旅程。我喜欢使用 terraform,但最近遇到了一种我想防范的情况,并且正在寻找解决方法。 我只使用 AWS。

所以,我有一个 SNS 主题,其中创建了一个策略来过滤哪些队列能够获取哪些类型的消息。因此,会创建订阅过滤策略来根据 JSON 内容过滤掉一些消息。 现在在这项工作中,我做了一些复制粘贴错误,并且没有正确创建策略。但是,因为我不知道我编写测试和防范它的代码签入并且没有按预期工作。

考虑到我们是 CI/CD 团队,每次代码推送都会导致实时发布,这可能是一个代价高昂的错误。所以我一直在寻找如何编写测试来防范它。

我使用的工具是 AWS 上的 Terraform。

【问题讨论】:

  • 好问题。它的软件,因此您可以测试 CI CD 构建管道中的任何内容。这更像是一个语法检查器还是一个实际的 SMS 通知测试?
  • 我正在想象一个可以检查(在这种情况下)特定队列的订阅策略的测试。如果失败,管道可以很好地变成红色。

标签: amazon-web-services terraform terraform-provider-aws


【解决方案1】:

Open Policy Agent 可能正是您所寻找的:OPA with Terraform。在示例 OPA 政策中,它们演示了如何取消对 IAM 资源进行更改的计划的授权。

【讨论】:

  • 谢谢,我会看看这个。虽然看起来阅读量很大。只是为了确保我想象的是一个可以检查(在这种情况下)特定队列的订阅策略的测试。如果失败,管道可以很好地变成红色。使用 OPA 可以轻松完成吗?
猜你喜欢
  • 2020-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-19
  • 2017-01-12
相关资源
最近更新 更多