Support 支持模块化和代码重用 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Support 支持模块化和代码重用

您可以从许多不同的 AWS 资源甚至其他产品中组装产品。理想情况下,您可以采用模块化方式定义资源,以便可以在多个产品中重复使用它们。资源级重用使您能够在一个地方进行任何 future 更改,而不是对使用该资源类型的每个产品进行更改。

Service Catalog 提供了一项名为链接的功能,以支持产品级别的可重用性。您可以将产品链接到一个或多个其他产品。例如,您可能想将 S3 日志存储桶产品链接到更高级别的监控产品。尽管链接支持模块化,但它会带来一些操作复杂性,因为你必须管理依赖关系。Service Catalog 不会自动维护链式产品之间的版本控制,因此它无法确保对一个产品的更改不会破坏依赖该产品的其他产品。谨慎使用链接,并开发自己的机制来确保版本控制和维护依赖关系。

Serv CloudFormation ice Catalog 使用本机方式将产品配置模板部署为 CloudFormation堆栈。但是,Service Catalog 对产品堆栈的 CloudFormation 部署施加了一些限制。特别是,Service Catalog 配置不支持用于插入可重复使用的脚本段或将嵌套 CloudFormation 脚本(或堆栈)引用到多个级别的 CloudFormation include宏。这些 Service Catalog 限制限制了根据可重复使用的 CloudFormation 模板或组件定义产品的能力,这是您在中以原生方式定义堆栈时的标准最佳做法。 CloudFormation

注意

Service Catalog 允许您使用使用这些 CloudFormation 结构的配置模板成功定义产品。但是,如果您在 Service Catalog CloudFormation 模板中使用include宏或嵌套多个级别的脚本,则会遇到配置时间错误。

这些限制可能会使在 Service Catalog 中实现模块化和可重复使用的产品变得困难。如果需要模块化,则可以探索使用 AWS CDK来实现您的产品及其配置模板,或者使用 AWS Labs Service Catalog Tools 项目中的配置工作流程和引擎。这两种备选方案将在本指南的后面部分介绍。