用途
该技能旨在为 Oracle Cloud Infrastructure(OCI)的基础设施即代码(Infrastructure as Code,IaC)提供专家级指导,弥补模型在 OCI 领域训练数据的不足。它围绕 Terraform、OCI Resource Manager 和 OCI Landing Zones 三大核心,帮助用户以声明式代码定义、部署和管理 OCI 资源。
主要能力
Terraform Provider for OCI
- 使用官方 HashiCorp 提供程序
terraform-provider-oci,覆盖 OCI 各项服务的资源与数据源。 - 支持通过 OCI CLI 配置文件(默认读取
~/.oci/config)、显式认证参数或实例主体(Instance Principal)进行认证。 - 提供变量配置示例,包括租户 OCID、隔离区 OCID、区域、SSH 公钥等。
常用资源示例
技能文档给出了大量可直接参考的 Terraform 代码片段,涵盖:
- 隔离区(Compartment):创建应用隔离区并附加标签。
- VCN 与网关:虚拟云网络、Internet 网关、NAT 网关、服务网关及对应数据源。
- 子网与安全:公有/私有子网、路由表、安全列表(Security List)、网络安全组(NSG)及其规则。
- 计算实例:通过数据源获取 Oracle Linux 镜像,创建弹性形状实例,配置 VNIC、SSH 密钥和 cloud-init 用户数据。
- 自治数据库:创建 Autonomous Database,支持 Always Free 配置或生产配置,可指定私有端点。
- 对象存储:创建存储桶并启用版本控制,使用命名空间数据源。
- Vault 与密钥:创建 KMS Vault、加密密钥和 Vault Secret。
- 负载均衡器:创建灵活形状负载均衡器、后端集、后端和监听器。
OCI Resource Manager
- 通过 OCI CLI 创建配置 ZIP、创建堆栈、执行 plan/apply/destroy 作业。
- 支持远程状态后端配置,例如使用 HTTP 后端或兼容 S3 的 OCI 对象存储后端。
OCI Landing Zones
- 提供 CIS Landing Zone 模块和通用 Landing Zone 模块的调用示例。
- 支持多环境隔离区结构、VCN 定义、IAM 组与策略配置,以及预算设置。
高级模式
- 多区域部署:通过 provider 别名在不同区域(如 us-phoenix-1、us-ashburn-1)部署资源。
使用方式
该技能以参考文档形式提供,用户可依据其中的代码示例和配置模式,在 Terraform 项目中编写 OCI 资源定义,或通过 OCI CLI 操作 Resource Manager 堆栈。文档中的代码块可直接复制并根据实际环境调整变量值。
适用场景
- 需要在 OCI 上以代码方式管理云基础设施的团队。
- 希望使用 Terraform 或 OCI Resource Manager 实现基础设施自动化的用户。
- 需要参考企业级 Landing Zone 模式进行多环境、合规化部署的场景。
- 需要快速查阅 OCI 常用资源 Terraform 写法的开发者与运维人员。
限制
- 该技能主要提供代码示例与配置参考,不包含具体的收费、价格或平台支持信息。
- 文档中未提供完整的安装步骤或依赖版本要求,具体使用需结合 Terraform 与 OCI CLI 的官方文档。
- 部分高级模式(如多区域部署)的示例在原文中未完整展示。