𝕏 f B! L
案件・求人数 12,345
案件を探す(準備中) エージェントを探す(準備中) お役立ち情報 ログイン
案件・求人数 12,345
OpenAI Codex CLI × Terraform完全ガイド|AI駆動のInfrastructure as Code実践術【2026年版】

OpenAI Codex CLI × Terraform完全ガイド|AI駆動のInfrastructure as Code実践術【2026年版】

OpenAI Codex CLITerraformIaCインフラ自動化
目次
⚡ 3秒でわかる!この記事のポイント
  • Codex CLIはTerraformコードの自動生成・リファクタリング・セキュリティレビューを一気通貫で実行可能
  • 自然言語でインフラ要件を伝えるだけでHCLコードが生成され、初学者でもIaCの品質を担保できる
  • IaC自動化スキルを持つSESエンジニアの単価は月80〜130万円と高水準

「Terraformを書けるようになりたいが、HCLの構文と各クラウドプロバイダーのリソース定義を覚えるのが大変」——インフラエンジニアを目指すSESエンジニアの多くが直面する壁です。

OpenAI Codex CLIを活用すれば、自然言語でインフラ要件を伝えるだけで、ベストプラクティスに沿ったTerraformコードを生成できます。 さらに既存コードのセキュリティレビューやコスト最適化の提案まで一気通貫で対応可能です。

本記事はOpenAI Codex CLI完全攻略シリーズ Ep.55として、TerraformとCodex CLIの連携テクニックを基礎から実践まで網羅的に解説します。

この記事でわかること
  • Codex CLIでTerraformコードを自動生成する基本ワークフロー
  • 既存Terraformコードのレビュー・リファクタリング手法
  • セキュリティ・コンプライアンスチェックの自動化
  • マルチクラウド対応のIaCコード管理戦略
  • SES案件でIaCスキルを活かすためのキャリア戦略

Terraform × Codex CLIの基本セットアップ

前提条件と準備

Codex CLIでTerraform開発を始めるには、以下の環境が必要です。

# Codex CLIのインストール(最新版)
npm install -g @openai/codex

# Terraformのインストール
brew install terraform  # macOS
# または tfenv で複数バージョン管理
brew install tfenv
tfenv install 1.9.0
tfenv use 1.9.0

# バージョン確認
codex --version
terraform --version

Codex CLIの設定最適化

Terraformプロジェクト用にCodex CLIの設定を最適化しましょう。

# codex.md(プロジェクトルートに配置)

## プロジェクト概要
AWS上にマルチAZ構成のWebアプリケーション基盤を構築するTerraformプロジェクト

## Terraformルール
- Terraform 1.9.x / AWS Provider 5.x を使用
- HCL2 形式で記述
- モジュール化を推奨(再利用可能な単位で分割)
- 変数はvariables.tfに集約
- 出力はoutputs.tfに集約
- 命名規則: リソース名はsnake_case、タグはPascalCase

## セキュリティ基準
- S3バケットは常に暗号化+バージョニング有効
- セキュリティグループは最小権限の原則
- IAMポリシーは最小権限、ワイルドカード禁止
- パブリックアクセスは明示的に許可された場合のみ

Terraformコードの自動生成

VPCネットワーク構築の例

自然言語でインフラ要件を伝え、Terraformコードを生成する基本的な流れです。

codex "以下の要件でAWS VPCを構築するTerraformコードを生成してください:
- CIDR: 10.0.0.0/16
- AZ: ap-northeast-1a, ap-northeast-1c の2つ
- パブリックサブネット: 各AZに1つ(/24)
- プライベートサブネット: 各AZに1つ(/24)
- NATゲートウェイ: 各AZに1つ(高可用性)
- インターネットゲートウェイ: 1つ
- タグ付け: Environment=production, Project=web-app"

Codex CLIは以下のような構造化されたTerraformコードを生成します。

# vpc.tf - 自動生成されたVPC構成
locals {
  azs = ["ap-northeast-1a", "ap-northeast-1c"]
  
  public_subnets  = ["10.0.1.0/24", "10.0.2.0/24"]
  private_subnets = ["10.0.11.0/24", "10.0.12.0/24"]
  
  common_tags = {
    Environment = "production"
    Project     = "web-app"
    ManagedBy   = "terraform"
  }
}

resource "aws_vpc" "main" {
  cidr_block           = "10.0.0.0/16"
  enable_dns_hostnames = true
  enable_dns_support   = true
  
  tags = merge(local.common_tags, {
    Name = "web-app-vpc"
  })
}

resource "aws_internet_gateway" "main" {
  vpc_id = aws_vpc.main.id
  
  tags = merge(local.common_tags, {
    Name = "web-app-igw"
  })
}

ECS Fargate構成の自動生成

コンテナ基盤の構成も自然言語で指示できます。

codex "以下のECS Fargate構成をTerraformで作成してください:
- クラスター名: web-app-cluster
- サービス: Nginx (ポート80)
- タスク定義: vCPU 0.5, メモリ 1024MB
- ALB: パブリックサブネットに配置
- オートスケーリング: CPU 70%で2-10台
- CloudWatch Logsにコンテナログを出力
- 既存のVPC (module.vpc) を参照"

モジュール化の自動生成

codex "現在のmain.tfを分析して、以下の再利用可能なモジュールに分割してください:
1. networking - VPC、サブネット、ルートテーブル
2. compute - ECS、タスク定義、オートスケーリング
3. loadbalancer - ALB、ターゲットグループ、リスナー
4. monitoring - CloudWatch、アラーム

各モジュールのvariables.tf、outputs.tf、README.mdも生成してください。"

Codex CLIによるTerraformコード自動生成のワークフロー

既存Terraformコードのレビューと改善

セキュリティレビューの自動化

codex "以下のTerraformコードをセキュリティ観点でレビューしてください:
$(cat main.tf)

チェック項目:
1. IAMポリシーのワイルドカード使用
2. セキュリティグループの過度に広いルール
3. S3バケットのパブリックアクセス設定
4. 暗号化設定の漏れ
5. ログ出力の設定漏れ

リスクレベル(Critical/High/Medium/Low)とともに修正案を提示してください。"

コスト最適化レビュー

codex "以下のTerraformコードのコスト最適化ポイントを分析してください:
$(cat main.tf)

以下の観点でアドバイスしてください:
1. リザーブドインスタンス vs オンデマンドの判断
2. 不要に高スペックなリソースの検出
3. 開発環境向けのコスト削減オプション
4. スケジュールによるリソース停止設定"

terraform planの差分レビュー

# terraform planの出力をCodex CLIで解析
terraform plan -no-color > plan_output.txt

codex "以下のterraform plan出力を分析して、
予期しない変更やリスクのある変更がないか確認してください:
$(cat plan_output.txt)

特に以下を重点チェック:
- destroyされるリソース
- in-place updateされるリソース
- セキュリティグループの変更
- データベースの変更(破壊的変更の可能性)"

IaCのテスト自動化

Terratest用テストコードの生成

codex "以下のTerraformモジュールに対するTerratestのテストコードを生成してください:
$(cat modules/networking/main.tf)

テスト項目:
1. VPCが正しいCIDRで作成されること
2. サブネットが指定AZに作成されること
3. NATゲートウェイが各AZに配置されること
4. プライベートサブネットからインターネットアクセスが可能なこと"

ポリシーテスト(OPA/Sentinel)の生成

codex "以下のセキュリティポリシーをOPA/Regoで実装してください:
1. S3バケットはサーバーサイド暗号化が必須
2. EC2インスタンスはIMDSv2のみ許可
3. RDSは暗号化ストレージが必須
4. セキュリティグループは0.0.0.0/0からのSSH(22番ポート)を禁止
5. すべてのリソースにEnvironmentタグが必要"

マルチクラウド対応戦略

AWS + GCP のマルチクラウドIaC

AWS VPCネットワークガイドGoogle Cloud VPCネットワーキングの両方を扱うマルチクラウド案件も増えています。

codex "以下のAWS用Terraformモジュールを、
GCPでも動作するマルチクラウド対応に変換してください:
$(cat modules/networking/main.tf)

要件:
- terraform workspaceでAWS/GCPを切り替え可能
- 共通のvariables.tfで両クラウドのパラメータを管理
- プロバイダーはvariableで動的に選択"

Terraform Stateのリモートバックエンド設定

codex "Terraformのリモートバックエンドをセキュアに設定してください:
- バックエンド: S3 + DynamoDB(ステートロック)
- バケット暗号化: AES-256 + KMS
- バケットバージョニング: 有効
- アクセス制御: 特定IAMロールのみ許可
- ステートファイルのログ: CloudTrail連携"

CI/CDパイプラインとの統合

GitHub ActionsでのTerraform自動化

# .github/workflows/terraform.yml
name: Terraform CI/CD
on:
  pull_request:
    paths: ['terraform/**']
  push:
    branches: [main]
    paths: ['terraform/**']

jobs:
  terraform:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: terraform
    steps:
      - uses: actions/checkout@v4
      
      - name: Setup Terraform
        uses: hashicorp/setup-terraform@v3
        
      - name: Terraform Init
        run: terraform init
        
      - name: Terraform Validate
        run: terraform validate
        
      - name: Terraform Plan
        run: terraform plan -out=tfplan
        
      - name: AI Review (PR only)
        if: github.event_name == 'pull_request'
        run: |
          terraform show -no-color tfplan > plan.txt
          codex --print "このterraform planをレビューし、
          セキュリティ・コスト・可用性の観点でコメントしてください" \
          < plan.txt >> $GITHUB_STEP_SUMMARY

Atlantisとの連携

codex "Atlantis用のatlantis.yamlを作成してください:
- projects: networking, compute, database
- 各projectはterraform/modules/配下
- autoplan: *.tf ファイル変更時に自動実行
- apply要件: 2名以上のApprove
- ワークフロー: plan → security-check → apply"

Terraformのリファクタリング

レガシーHCLコードのモダナイズ

SES現場では、Terraform 0.12以前の古いHCLコードに遭遇することがあります。

codex "以下のTerraform 0.11形式のコードをTerraform 1.9に移行してください:
$(cat legacy/main.tf)

移行ポイント:
1. HCL1 → HCL2 構文の更新
2. interpolation構文 '${var.xxx}' → var.xxx への変換
3. count → for_each への移行(適切な箇所)
4. 非推奨なリソース属性の更新
5. required_providers ブロックの追加"

Stateの安全な移行

codex "以下のterraform stateの移行スクリプトを作成してください:
- 旧: monolithic main.tf に全リソースが記述
- 新: modules/networking, modules/compute, modules/database に分割

移行手順:
1. terraform state mvコマンドのリスト生成
2. ドライランスクリプト(実際には実行しない)
3. 本番実行スクリプト(ロールバック手順付き)
4. 移行後の検証スクリプト(plan差分がないことを確認)"

SES案件でのIaCスキル活用

IaC案件の市場動向

Infrastructure as Code、特にTerraformスキルを持つSESエンジニアの需要は年々拡大しています。

スキル単価目安(月額)需要傾向
Terraform基本操作60〜80万円安定
Terraform + AWS75〜100万円高い
Terraform + マルチクラウド90〜120万円急成長
Terraform + CI/CD + セキュリティ100〜130万円非常に高い

スキルアップロードマップ

  1. フェーズ1(1-2ヶ月): Terraform基本構文 + AWSリソースの作成
  2. フェーズ2(2-3ヶ月): モジュール化 + State管理 + CI/CD連携
  3. フェーズ3(3-6ヶ月): セキュリティポリシー + コスト最適化 + マルチクラウド
  4. フェーズ4(6ヶ月〜): Codex CLIの高度な活用 + チームへの導入推進

面談でのアピールポイント

✅ TerraformでAWS環境を一から構築した実績
✅ CI/CDパイプラインとIaCの統合経験
✅ セキュリティポリシーのコード化(OPA/Sentinel)
✅ AI駆動開発ツールを活用したIaCの効率化
✅ マルチクラウド環境でのIaC運用経験

トラブルシューティング

よくある問題と解決方法

Q: Codex CLIが生成したコードでterraform validateがエラーになる

  • プロバイダーバージョンを明示的に指定しているか確認
  • codex.mdにTerraformバージョンとプロバイダーバージョンを記述する
  • 生成後は必ずterraform fmtterraform validateを実行する

Q: 生成コードがベストプラクティスに沿っていない

Q: 大規模なTerraformプロジェクトでコンテキストが足りない

まとめ — Codex CLIでIaCの品質と効率を両立する

OpenAI Codex CLIとTerraformの組み合わせは、インフラ構築の効率と品質を飛躍的に向上させます。

Codex CLI × Terraform活用のポイント:

  1. codex.mdにTerraformルールを明記して、生成コードの品質を担保する
  2. 自然言語→HCLの自動生成で、複雑なインフラ構成も素早く実装できる
  3. セキュリティ・コストのレビューを自動化し、本番投入前のリスクを低減する
  4. CI/CDパイプラインに統合して、IaCの継続的な品質管理を実現する

IaCスキルとAI駆動開発ツールの活用力を身につけて、SESエンジニアとしてのキャリアを加速させましょう。SES BASE でインフラ自動化・クラウドエンジニア案件を探してみてください。

SES案件をお探しですか?

SES記事をもっと読む →
🏗️

SES BASE 編集長

SES業界歴10年以上のメンバーが在籍する編集チーム。SES企業での営業・エンジニア経験、フリーランス独立経験を持つメンバーが、業界のリアルな情報をお届けします。

📊 業界データに基づく記事制作 🔍 IPA・経済産業省データ参照 💼 SES実務経験者が執筆・監修