Files
terraform/oracle/README.md

1.9 KiB
Raw Permalink Blame History

Oracle Cloud (OCI) Terraform 配置

项目结构

oracle/
├── main.tf                    # 根配置Provider 定义)
├── modules/                   # 共享模块
│   ├── vcn/                  # 虚拟云网络模块
│   │   ├── main.tf
│   │   ├── variables.tf
│   │   └── outputs.tf
│   └── compute/              # 计算实例模块
│       ├── main.tf
│       └── variables.tf
└── environments/             # 环境特定配置
    ├── dev/                  # 开发环境
    │   ├── main.tf
    │   └── variables.tf
    └── prod/                 # 生产环境
        ├── main.tf
        └── variables.tf

配置说明

1. ~/.oci 配置

您的 OCI 配置已经位于 ~/.oci/ 目录中,包含:

  • config - OCI 配置文件
  • oci_api_key.pem - 私钥文件

Terraform OCI Provider 会自动读取这些配置,无需在代码中硬编码凭证。

2. 如何使用

开发环境

cd environments/dev
terraform init
terraform plan
terraform apply

生产环境

cd environments/prod
terraform init
terraform plan
terraform apply

3. 模块使用

模块位于 modules/ 目录,可以在不同环境中重复使用:

module "vcn" {
  source = "../../modules/vcn"
  
  compartment_id = var.compartment_id
  vcn_name       = "my-vcn"
  cidr_block     = "10.0.0.0/16"
}

优势

  1. 环境隔离dev 和 prod 环境完全分离
  2. 代码复用:模块可在不同环境中共享
  3. 配置安全:敏感信息存储在 ~/.oci,不在代码中
  4. 易于扩展:可添加 staging、test 等环境

注意事项

  1. 每个环境有独立的 Terraform 状态文件
  2. 建议使用不同的 Compartment 或 Tenancy 隔离环境
  3. 生产环境的 CIDR 和规格应与开发环境不同