使用 Terraform 管理甲骨文云免费实例是可行的,适合需要重复部署或版本控制基础设施的场景,但需先确认账户配额并妥善保管状态文件。
先说结论:Terraform 能有效自动化甲骨文云资源,但免费层级需严格管控配额,且配置过程比手动操作复杂。
- 适合:需要多次重建环境或团队协作管理云资源的情况
- 先准备:甲骨文云 API 密钥、用户 OCID 及租户 OCID
- 验收:确认实例规格在免费额度内且网络连通性正常
命令速用版
以下是核心工作流命令,需在项目目录执行:
terraform init
terraform plan
terraform apply
为什么会这样
Terraform 通过声明式配置文件描述资源,甲骨文云提供对应的 Provider 插件支持。相比手动控制台操作,代码能记录变更历史,但免费实例受限于账户总配额,自动化脚本若未限制资源数量,可能意外超额创建导致费用产生或服务不可用。
分步处理
1. 安装 Terraform
下载对应系统的二进制文件,解压后将可执行文件移动到系统路径,例如 Linux 下移至/usr/local/bin。
2. 配置提供商认证
在甲骨文云控制台生成 API 密钥,获取用户 OCID 和租户 OCID。在provider.tf中配置认证信息,建议使用环境变量存储敏感密钥。
3. 定义资源
编写main.tf,定义计算实例、虚拟云网络(VCN)及存储资源。参考官方架构,可部署 Oracle Linux 实例并挂载块存储。
4. 执行部署
运行初始化命令下载插件,预览变更计划确认无误后应用配置。
怎么验证是否生效
执行terraform show查看当前管理资源状态,或登录甲骨文云控制台核对实例运行情况。检查安全组规则是否允许 SSH 连接,确认实例处于运行状态。
常见坑
状态文件锁定:团队协作时需配置远程后端存储,避免本地tfstate文件冲突。
配额超限:免费账户有资源上限,脚本中需明确实例形状(Shape),避免申请超出免费额度的高性能实例。
密钥权限:API 密钥需关联正确策略,权限过大存在安全风险,过小则部署失败。
参考来源
- 从小白到精通——Terraform 自动化基础设施管理全攻略
- OCI 全局导航 | Oracle 中国
- 在甲骨文云基础设施上使用 Terraform 部署容器化 Jenkins CI/CD 管道
- 52、使用 Terraform 自动化云部署指南(提及官网 https://www.terraform.io/)