是否应在AWS中的每个区域或可用区中创建独立的Terraform配置?

时间:2020-08-04 06:28:24

标签: amazon-web-services terraform

我只是在学习Terraform和created a single Terraform configuration,其中包含AWS中的每个区域(每个区域有多个可用区)。附带说明,计划配置花了3分钟以上。

我得到的反馈是,最好根据系统故障的方式来创建独立的Terraform配置,因此,如果一个区域出现故障,则可以在另一个区域中独立于故障区域运行Terraform配置。

但是我想知道,鉴于可用区可能会失败,那么在AWS中为每个可用区创建1个Terraform配置更好吗?所以说您覆盖了每个地区和AZ,那么您将有100多个独立的Terraform“项目”,您将分别计划和应用它们。这通常是较大的Terraform项目如何工作的吗?对于涵盖多个区域的大型项目,最佳实践是什么?通常如何在Terraform中对其进行管理?

1 个答案:

答案 0 :(得分:1)

这全部取决于您的基础架构设置方式,但通常是每个区域

您将通过逻辑因素将其分割,例如以下之一:

  • 网络(每个VPC)
  • 应用程序(每个应用程序,例如仅由该应用程序或服务使用的负载均衡器或Lambda)
  • 业务职能(每个业务部门)。
  • 环境(生产,质量保证与开发)

将基础结构作为代码的目的是使您的生活变得更轻松而不困难,所以花时间计划如何以一种对您和您的组织有意义的方式来组织它。

根据经验,推出配置时,它应该完整运行。您不必运行多个terraform计划并应用命令就可以使网络正常运行。尽管每天在灾难恢复场景中这都使您的生活变得更轻松,但是您不想考虑需要应用哪些配置。

在大型项目中请记住,modules的使用实际上将使导航结构更容易,同时提高了可重用性。