【OCI × Terraform】Oracle Cloudで無料枠VMをTerraformから作成してみた(備忘録)
OCIとTerraformを使用して、無料VM構築を作成してみました。備忘録的にメモベースで恐縮です。
✅ 前提
• OCIアカウントを持っている(管理者権限あり)
• Cloud Shellが使える(コンソール右上から起動)
• 利用するVMは Always Free 対象の VM.Standard.E2.1.Micro
🛠 OCI CLIの初期設定(Cloud Shell)
• oci setup config
• 対話形式で以下を入力:
• - tenancy OCID
• - user OCID
• - region(例:ap-tokyo-1)
• 生成された ~/.oci/oci_api_key_public.pem を、OCIコンソールのユーザー設定 → APIキーの追加からアップロード
🏗 Terraform環境の準備
• mkdir ~/oci-terraform-vm && cd ~/oci-terraform-vm
• main.tf、variables.tf、terraform.tfvars を作成
📄 main.tf の例
• data "oci_identity_availability_domains" "ads" {...}
• data "oci_core_images" "oracle_linux" {...}
• resource "oci_core_instance" "vm_example" {...}
• output "instance_public_ip" {...}
📄 variables.tf の例
• variable "tenancy_ocid" {}
• variable "compartment_ocid" {}
📄 terraform.tfvars の例
• tenancy_ocid = "ocid1.tenancy.oc1..xxxxx"
• compartment_ocid = "ocid1.compartment.oc1..xxxxx"
🚀 Terraform実行コマンド
• terraform init
• terraform plan
• terraform apply
🔓 VMにSSH接続
• ssh -i ~/.ssh/id_rsa opc@<出力されたIP>
🧾 使用したOCIリソース
• - Compute Instance
• - VCN / Subnet
• - Image: Oracle Linux 8
• - Metadata: SSH公開鍵
🛡️ 自動起動・運用
• sudo systemctl enable <your-service>
• cloud-init スクリプトで初期設定を自動化可能
📦 Cloud Shellログ保存
• script ~/oci_terraform_history_$(date +%Y%m%d).txt
• 作業終了後に exit と入力で保存
🎉 まとめ
• Cloud Shell × Terraform × Always Free により、再現性の高いVM構築が可能。構成ファイルを残すことでいつでも再現可能。
🧠 補足:OCIの無料枠 VM 条件
• - VM.Standard.E2.1.Micro(1 OCPU、1 GB RAM)
• - リージョンごとに最大2台
ここまで読んでいただきありがとうございます!
Zennでの発信を通じて、インフラ技術をどんどんアウトプットしていきたいと思います。
Discussion