社区模块的最佳实践 - AWS 规范性指导

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

社区模块的最佳实践

有效使用模块是管理复杂的 Terraform 配置和促进重复使用的关键。本节提供了有关社区模块、依赖关系、来源、抽象和贡献的最佳实践。

探索社区模块

在构建新模块之前 GitHub,请在 Terraform Re gistry 和其他来源中搜索可能解决您的用例的现有 AWS 模块。寻找具有最新更新且正在积极维护的热门选项。

使用变量进行自定义

使用社区模块时,请通过变量传递输入,而不是分叉或直接修改源代码。在需要时覆盖默认值,而不是更改模块的内部结构。

Forking 应仅限于为原始模块提供修复或功能,以使更广泛的社区受益。

了解依赖关系

在使用该模块之前,请查看其源代码和文档以确定依赖关系:

  • 必需的提供程序:请注意模块所需的版本 AWS、Kubernetes 或其他提供程序。

  • 嵌套模块:检查内部使用的其他引入级联依赖关系的模块。

  • 外部数据源:记下模块所依赖的 API、自定义插件或基础架构依赖关系。

通过绘制直接和间接依赖关系的完整树,可以在使用该模块时避免意外。

使用可信来源

从未经验证或未知的发行商那里采购 Terraform 模块会带来重大风险。仅使用来自可信来源的模块。

  • 优先选择来自 Terraform Re gistry 的认证模块,这些模块由经过验证的创作者(例如 AWS 或 HashiCorp 合作伙伴)发布。

  • 对于自定义模块,请查看发布者历史记录、支持级别和使用声誉,即使该模块来自您自己的组织。

通过不允许使用来自未知或未经审查的来源的模块,可以降低在代码中注入漏洞或维护问题的风险。

订阅 通知

订阅来自值得信赖的发行商发布的新模块的通知:

  • 查看 GitHub 模块存储库以获取有关该模块新版本的警报。

  • 监控发布商博客和变更日志以获取更新。

  • 从经过验证的、高度评价的来源获取有关新版本的主动通知,而不是隐含地获取更新。

仅使用来自可信来源的模块并监控更改可提供稳定性和安全性。经过审查的模块可提高生产力,同时最大限度地降低供应链风险。

为社区模块做出贡献

提交托管在以下位置的社区模块的修复和增强功能 GitHub:

  • 在模块上打开拉取请求,以解决您在使用中遇到的缺陷或限制。

  • 通过创建问题,请求将新的最佳实践配置添加到现有 OSS 模块中。

为社区模块做出贡献可以增强所有 Terraform 从业者的可重复使用的编纂模式。