【问题标题】:Setting Up Terraform on AWS在 AWS 上设置 Terraform
【发布时间】:2021-05-01 12:51:02
【问题描述】:

我在问你们,如何以“正确的方式”在 AWS 中设置 Terraform。我的意思是,2 年前我毕业时没有 Terraform 知识,一旦我被录用,我就开始编写 Terraform 脚本,但只有 6 个月,有一位高级开发人员不再和我们在一起,但他完成了最初的设置在 AWS 中,每次我们将 TF 脚本提交到 AWS CodeCommit 中,然后我们使用 AWS CodeBuild 构建上述 repo 中的脚本,基础设施(我记得是 AWS Lambda、Glue、DynamoDB、Cognito,一堆 Python 代码) 是在没有 AWS CodeDeploy 的情况下部署的。

现在,我该如何设置他的方式?我是否只需要创建 codecommit 和 codebuild 并开始将 TF 脚本提交到 codecommit、build 等等?还是我需要旋转 EC2 实例?

【问题讨论】:

标签: amazon-web-services terraform


【解决方案1】:

我认为您的问题是关于如何利用 AWS 开发工具(例如 Codepipeline、CodeCommit、Codebuild 和 CodeDeploy)在您的 AWS 中部署 terraform 脚本。以下示例展示了如何创建管道来部署 terraform:here

【讨论】:

    【解决方案2】:

    根据您的用例,您希望创建一个 IaC 管道 (CICD) 以在 AWS 上应用 Terraform。

    有多种方法可以做到这一点,但仅使用 AWS 生态系统,可以实现以下:

    • CodeCommit(用于模板和模块的 Terraform 代码库)
    • CodeBuild(用于运行 terraform init/plan/apply 等的 bash 脚本)
    • CodePipeline(编排 CodeCommit - CodeBuild,添加通知)

    您将需要以下内容:

    • 用于托管 TF 状态文件的 S3 存储桶(已启用版本控制)
    • 用于状态锁定的 Dynamodb 表
    • 用于 S3 上状态加密的 KMS 自定义密钥

    整个 IaC CICD 如下所示:

    【讨论】:

      猜你喜欢
      • 2020-12-09
      • 2021-08-14
      • 2019-02-21
      • 2020-09-01
      • 2021-01-15
      • 2019-07-14
      • 2021-12-16
      • 2018-04-02
      • 1970-01-01
      相关资源
      最近更新 更多