← 回到筆記

FIELD NOTES /

Oracle Cloud Infrastructure (OCI) 建立與管理實務

Tenancy、Compartment、VCN、IAM policy 到 Compute/Object Storage 的操作地圖與互動檢核。

#Oracle OCI#Cloud#IAM#DevOps

OCI 核心概念一覽

Oracle Cloud Infrastructure 的資源組織與 AWS 類似但命名不同:

OCI 概念類比 (AWS)說明
TenancyAccount根租戶,所有資源歸屬
Compartment多 OU/Account 混合邏輯隔離 + policy 邊界
VCNVPC區域內虛擬網路
SubnetSubnetPublic / Private 分割
Dynamic GroupIAM Role (instance profile)讓 compute 取得 API 權限
PolicyIAM PolicyAllow group X to manage Y in compartment Z
OCI 基礎架構概覽
OCI 區域 (Region) 內含 AD、Fault Domain;VCN 跨 AD 部署。 — Oracle Documentation

建立 Tenancy 與第一個 Compartment

1. 註冊與 Admin 使用者

  1. 前往 cloud.oracle.com 建立 Free Tier 或 Pay-as-you-go
  2. 第一個 user 即 Tenancy Admin,務必啟用 MFA
  3. 下載 API signing key(Console → User → API Keys → Add)

2. Compartment 設計範例

Plain Text
Tenancy (root)
├── cmp-network      # VCN、LB、DNS
├── cmp-security     # Vault、WAF、Cloud Guard
├── cmp-workloads    # Compute、K8s (OKE)
└── cmp-data         # DB、Object Storage

Policy 範例(HCL 風格文字):

Plain Text
Allow group Developers to manage instance-family in compartment cmp-workloads
Allow group NetOps to manage virtual-network-family in compartment cmp-network
Allow dynamic-group OKE-Instances to read secret-family in compartment cmp-security

VCN 與連線

VCN 網路概覽
Internet Gateway 給 public subnet;NAT Gateway 給 private subnet 出站;Service Gateway 走 Oracle backbone 到 Object Storage。 — Oracle Documentation

典型三-tier:

Plain Text
Public Subnet   → Load Balancer / Bastion
Private Subnet  → Application (OKE worker / Compute)
Private Subnet  → Database (Autonomous DB 或 Exadata CS)

OCI 初始部署檢核

0 / 7 completed

OCI CLI 快速設定

Bash
# 安裝後配置 ~/.oci/config
oci setup config
# 驗證
oci iam availability-domain list --compartment-id <tenancy-ocid>

常用管理命令:

Bash
# 列出 compute instances
oci compute instance list -c <compartment-ocid>
 
# 建立 Object Storage bucket
oci os bucket create --compartment-id <ocid> --name lab-backups --public-access-type NoPublicAccess
 
# 查看 policy
oci iam policy list --compartment-id <tenancy-ocid>

Compute 與 OKE

服務用途管理要點
Compute (VM/BM)一般 workloadShape 選 Flex 可省成本;用 Instance Pool + autoscaler
OKEKubernetesAPI endpoint 設 private;worker 在 private subnet
Autonomous DB託管 DB自動 patch;用 Wallet 或 TLS 連線
Object Storage備份 / static assetsLifecycle policy 轉 Archive / Delete
OKE Kubernetes 概覽
OKE control plane 由 Oracle 管理;worker node 在你的 VCN subnet。 — Oracle Documentation

監控與成本

  • Monitoring — Metrics + Alarms(CPU、LB health)
  • Logging — Service logs → Log group → Streaming 到 SIEM
  • Cost Analysis — 依 compartment / tag 分帳
  • Resource Manager — Terraform stack 部署(推薦 IaC)
HCL
# Terraform OCI provider 片段
resource "oci_core_vcn" "lab" {
  compartment_id = var.compartment_id
  cidr_blocks    = ["10.0.0.0/16"]
  display_name   = "lab-vcn"
}

安全 baseline

控制實作
最小權限Compartment-scoped policy,不用 manage all-resources in tenancy
SecretOCI Vault + secret rotation
NetworkNSG 限 port;Bastion Service 取代 public SSH
AuditAudit log 不可關;匯出到不可變 storage

參考