Terraform Cloud 与 Enterprise
探索 Terraform Cloud 和 Enterprise 的高级功能,包括远程操作、VCS 集成和团队管理。
Terraform Cloud 与 Enterprise 是 CoddyKit 上的免费 Terraform Infrastructure as Code 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Terraform Infrastructure as Code 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Terraform Infrastructure as Code 课程共包含 4 节课。
Terraform Cloud 简介
欢迎了解 Terraform Cloud!它是 HashiCorp 提供的强大 SaaS(软件即服务)平台,可帮助您管理 Terraform 工作流。
您可以将它视为基础设施即代码的增强型控制平面。它集中管理操作、管理状态并提供协作功能,不再局限于本地 CLI 的使用方式。
对于规模较大的组织,还有 Terraform Enterprise。它是自托管版本,提供类似功能,并让您能够更好地控制其运行所在的基础设施。
超越本地 CLI
仅从本地计算机使用 Terraform(CLI)非常适合个人项目,但对于团队来说会带来一些挑战:
- 状态管理:共享和保护
.tfstate文件可能比较棘手。 - 环境不一致:不同团队成员可能使用不同的 Terraform 版本或本地设置。
- 手动审批:协调由谁以及何时应用更改可能很复杂。
Terraform Cloud 提供集中、一致且支持协作的环境,解决了这些问题。
远程操作:核心功能
Terraform Cloud 的一项基础功能是远程操作。这意味着您的 terraform plan 和 terraform apply 命令会在由 Terraform Cloud 托管的一致且隔离的环境中执行,而不是在您的本地计算机上执行。
这带来了多项优势:
- 集中执行:所有运行都在同一位置进行。
- 环境一致:确保使用相同的 Terraform 版本和插件。
- 无需本地设置:减少开发人员环境导致的问题。
运行可以手动触发、通过 API 触发,或通过 VCS 集成自动触发。
连接到版本控制
Terraform Cloud 可与 GitHub、GitLab 和 Bitbucket 等常用版本控制系统(VCS)无缝集成。这会彻底改变您自动化工作流的方式。
连接后,您可以配置工作区:当新代码推送到分支或打开拉取请求时,自动触发 terraform plan。这样,您可以立即了解拟议的基础设施更改,包括将要创建、更新或销毁内容的差异。
工作区与组织
在 Terraform Cloud 中,所有内容都组织在一个组织内。组织是团队和基础设施的顶层容器。
在组织中,您可以创建工作区。工作区是 Terraform Cloud 管理一组特定基础设施的地方。每个工作区:
- 都有自己的状态文件。
- 管理自己的一组变量。
- 可以关联到特定的 VCS 代码库和分支。
您可以为不同环境(例如 dev、staging、prod)或不同项目创建工作区。
团队管理与 RBAC
Terraform Cloud 允许您邀请用户并将他们组织到团队中。这对于协作管理基础设施至关重要。
借助基于角色的访问控制(RBAC),您可以为团队分配各个工作区中的不同权限。例如:
- “开发人员”团队可能有权限将计划加入队列,但没有应用计划的权限。
- “管理员”团队可能对所有工作区拥有完全写入权限。
- “审计员”团队可能只有读取权限。
这样可以确保只有获得授权的人员才能更改您的基础设施。
私有模块注册表
可复用性是基础设施即代码的关键。Terraform Cloud 提供私有模块注册表,让您的组织能够安全地托管和共享自己的 Terraform 模块。
团队无需复制代码,而是可以发现并使用经过批准且标准化的模块。这有助于保持一致性、减少重复并加快开发速度。
使用私有模块的方式与使用公共模块类似,只是源路径不同:
module "vpc" {
source = "app.terraform.io/my-org/vpc/aws"
version = "1.0.0"
region = "us-east-1"
}使用 Sentinel 实现策略即代码
为了确保合规性和治理,Terraform Cloud 与 HashiCorp Sentinel(其策略即代码框架)集成。Sentinel 可以独立使用,但与 Terraform Cloud 集成后功能非常强大。
您可以定义策略,在 Terraform 计划应用之前自动进行检查。例如,策略可以:
- 阻止创建未加密的 S3 存储桶。
- 确保 EC2 实例使用经过批准的类型。
- 限制资源成本。
这相当于一道安全防线,可以防止配置不合规的基础设施。(我们在之前的课程中详细介绍了 Sentinel 策略。)
由 API 驱动的工作流
Terraform Cloud 提供功能全面的 API,支持以编程方式与其功能交互。这为高级自动化和集成提供了可能。
您可以使用 API 来:
- 将运行加入队列并管理工作区。
- 获取运行状态和日志。
- 管理变量和团队。
这样,您就可以将 Terraform Cloud 集成到自定义 CI/CD 流水线、内部工具或其他自动化脚本中,获得最大的灵活性。
快速检查
以下哪些是使用 Terraform Cloud 的主要优势或功能?
回顾与后续步骤
恭喜您!您已经了解了 Terraform Cloud 和 Enterprise 的强大功能。
我们学习了它如何通过以下功能,将个人使用 Terraform 转变为协作式、自动化且受治理的流程:
- 远程操作:一致的基于云的计划与应用。
- VCS 集成:代码发生更改时自动运行。
- 工作区与团队:有组织地管理基础设施和 RBAC。
- 私有注册表:提供可复用的标准化模块。
- 策略即代码:使用 Sentinel 实现治理。
- API:提供高级自动化能力。
对于希望安全、高效地扩大基础设施即代码采用规模的组织而言,Terraform Cloud 至关重要。
常见问题解答
「Terraform Cloud 与 Enterprise」课时是免费的吗?
是的 — 「Terraform Cloud 与 Enterprise」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Terraform Infrastructure as Code 课程的其余内容,请升级到 CoddyKit PRO。 Terraform Infrastructure as Code 课程共包含 4 节课。
「Terraform Cloud 与 Enterprise」这节课中我会学到什么?
探索 Terraform Cloud 和 Enterprise 的高级功能,包括远程操作、VCS 集成和团队管理。 你通过在浏览器中直接运行的动手代码来练习 Terraform Infrastructure as Code,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Terraform Infrastructure as Code 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Terraform Infrastructure as Code 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「Terraform Cloud 与 Enterprise」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Terraform Infrastructure as Code 课中编写并运行代码吗?
能。每节 Terraform Infrastructure as Code 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 多云与混合云模式
- 用于治理的 Sentinel 策略
- Terraform Cloud 与 Enterprise
- 构建自定义提供程序