跳转到主要内容

AWS DevOps Guru 的 Terraform 支持

项目描述

tfdevops

tfdevops 是 Amazon DevOps Guru 的 Terraform 支持。该服务仅原生支持 AWS CloudFormation 堆栈。 https://aws.amazon.com/devops-guru/features/

该项目通过自动将 terraform 状态转换为导入的 CloudFormation 堆栈,并可选择与 DevOps Guru 一起启用,为 terraform 用户提供了支持。

注意:Amazon DevOps Guru 仅支持大约 25 种资源。 https://aws.amazon.com/devops-guru/pricing/

工作原理

  • 将 terraform 状态转换为具有保留删除策略的 CloudFormation 模板
  • 创建包含导入资源的 CloudFormation 堆栈
  • 将堆栈注册到 Amazon DevOps Guru

使用方法

安装它。

pip install tfdevops

您有一个已部署的 terraform 根模块存在,让我们为它生成一个 CloudFormation 模板和一组可导入的资源

tfdevops cfn -d ~/path/to/terraform/module --template mycfn.json --resources importable-ids.json

现在我们可以创建一个 CloudFormation 堆栈,导入资源,并在我们的堆栈上激活 DevOps Guru。

tfdevops deploy --template mycfn.json --resources importable-ids.json
...
INFO:tfdevops:Found existing stack, state:IMPORT_COMPLETE
INFO:tfdevops:Creating import change set, 8 resources to import
INFO:tfdevops:Executing change set to import resources
INFO:tfdevops:Waiting for import to complete
INFO:tfdevops:Cloudformation Stack Deployed - Terraform resources imported

您现在可以访问 DevOps Guru 仪表板中的堆栈。

根据资源的活动级别,DevOps Guru 可能需要几小时才能生成任何可操作见解。

作为额外的好处,我们可以使用以下命令验证生成的模板(或任何其他纯 CloudFormation 模板,即没有内建函数或变量的模板),该命令将下载各种资源类型的 jsonschema 并将每个模板资源与其模式进行验证。

tfdevops validate --template mycfn.json

大型资源/模板

AWS CloudFormation 对支持的资源大小有限制(API上传限制为50k,S3上传限制为500k)。gendeploy 子命令都支持传入模板的S3路径以及一些配置较大的资源(如步骤函数工作流等)。请注意,deploy的S3路径是实际的模板路径。

常见问题解答(FAQ)

  1. 这是一个通用的Terraform到CloudFormation的转换器吗?

不是的,虽然它具有一些类似的功能,但它的主要目标是简单地生成足够的cfn,以便Amazon DevOps Guru可以使用。

支持的资源

目前tfdevops支持以下资源

  • AWS::StepFunctions::StateMachine
  • AWS::ECS::Service
  • AWS::SQS::Queue
  • AWS::SNS::Topic
  • AWS::RDS::DBInstance
  • AWS::Lambda::Function
  • AWS::Events::Rule
  • AWS::DynamoDB::Table

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

tfdevops-0.1.1.tar.gz (12.6 kB 查看哈希值)

上传时间

构建分布

tfdevops-0.1.1-py3-none-any.whl (13.0 kB 查看哈希值)

上传时间 Python 3

由以下支持