本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将作 AWS CDK 为 IaC 工具使用
AWS Cloud Development Kit (AWS CDK)是一个开源软件开发框架,允许您使用熟悉的编程语言来定义云应用程序资源。 AWS CDK 支持 JavaScript、 TypeScript、Python、Java、C# 和 Go。它们 AWS CDK 以安全、可重复的方式 AWS CloudFormation配置您的资源。当你合成 AWS CDK 代码时,结果是一个 CloudFormation 模板。 AWS CDK 提供了简化 AWS 资源定义过程的高级抽象。
AWS CDK 使用构造的概念。 结构是应用程序中的一个组件,它代表一个或多个 CloudFormation资源及其配置,例如亚马逊简单存储服务 (Amazon S3) Service 存储桶。可以对构造进行组合和定制,以创建更复杂的基础架构。有关更多信息,请参阅 AWS CDK 文档中的构造关卡。 根据开发人员编写的代码 AWS CDK 生成 CloudFormation 模板。这样就无需手动创建 CloudFormation 模板。许多组织在社区中自定义、共享和重复使用构造,就像任何其他软件库一样。共享构造可以帮助开发人员更快地编写代码,并在默认情况下采用最佳实践。
AWS CDK 方面可以帮助组织将标准应用于给定范围内的所有结构。该方面可以修改结构,例如通过添加标签。或者它可以验证一些关于构造状态的信息。
AWS CDK 允许开发人员利用他们现有的编程技能和知识来定义云基础架构。通过使用熟悉的编程语言,开发人员可以运用他们的专业知识来描述 AWS 资源,从而更轻松地从应用程序开发过渡到基础设施配置。此外, AWS CDK 还可以加快 AWS 基础设施的创建。与手动编写 CloudFormation 模板相比,这加快了开发生命周期。
使用以下的优点 AWS CDK:
-
AWS CDK 支持众所周知的编程语言。
-
通用语言允许使用逻辑结构,例如 for 循环、对象、强类型和其他编程技术。这可以帮助开发人员以简洁无误的方式声明基础架构。这种方法还使得使用集成开发环境 (IDE) 和相关工具来帮助管理大量资源声明的复杂性成为可能。
-
AWS CDK 结构是可共享的,可帮助您满足治理和合规要求。
-
这些 AWS CDK 构造可以减少开发的时间和精力。如需了解更多信息,请参阅构造库 API 参考。
-
AWS CDK 是基于 CloudFormation。如果你熟悉 CloudFormation 其概念,那么 AWS CDK 概念就更容易理解。
-
AWS CDK 可以帮助您执行单元测试和快照测试。
-
如果原生不支持某项功能 AWS CDK,则可以使用 1 级构造和原始覆盖。或者,您可以使用直接调用 API 的CloudFormation 自定义资源。
-
您可以通过删除 CloudFormation 堆栈来高效地清理资源。
使用以下方法的缺点 AWS CDK:
-
AWS CDK 需要在每个环境中都有一个引导环境。 AWS 账户 Bootstrapping 是一次性操作,您必须对部署资源的每个环境执行此操作。
-
AWS CDK 只能用于在中部署 IaC。 AWS Cloud