Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

2 – 履歴を追跡する

最終更新 Markdown で表示Agent セットアップ

Terraform を初期化する チュートリアルでは、基本的な Cloudflare 設定を作成して適用しました。ここでは、追跡、レビュー、ロールバックのために、この設定をバージョン管理へ保存します。

1. 認証に環境変数を使う

バージョン管理へコミットする前に、Terraform ファイルから認証情報を削除します。Cloudflare プロバイダー v5 は、環境変数から認証情報を自動で読み取ります。 main.tf ファイルを更新し、ハードコードした API トークンを削除します。

terraform {
  required_providers {
    cloudflare = {
      source  = "cloudflare/cloudflare"
      version = "~> 5"
    }
  }
}

provider "cloudflare" {
  # API token will be read from CLOUDFLARE_API_TOKEN environment variable
}

variable "zone_id" {
  description = "Cloudflare Zone ID"
  type        = string
  sensitive   = true
}

variable "account_id" {
  description = "Cloudflare Account ID"
  type        = string
  sensitive   = true
}

variable "domain" {
  description = "Domain name"
  type        = string
  default     = "example.com"
}

resource "cloudflare_dns_record" "www" {
  zone_id = var.zone_id
  name    = "www"
  content = "203.0.113.10"
  type    = "A"
  ttl     = 1
  proxied = true
  comment = "Domain verification record"
}

terraform.tfvars ファイルを更新します。

zone_id    = "your-zone-id-here"
account_id = "your-account-id-here"
domain     = "your-domain.com"

API トークンが環境変数として設定されていることを確認します。

export CLOUDFLARE_API_TOKEN="your-api-token-here"

認証が機能することを確認します。

terraform plan

Terraform が、変数ベースの新しい設定と既存リソースを比較し、変更を検出することがあります。ハードコードした値から変数へ移行するときは、この動作は正常です。

# cloudflare_dns_record.www will be updated in-place
~ resource "cloudflare_dns_record" "www" {
    ~ name     = "www.your-domain.com" -> "www"
    ~ zone_id  = (sensitive value)
    # (other attributes may show changes)
}

Plan: 0 to add, 1 to change, 0 to destroy.

2. 設定を GitHub に保存する

次の内容で .gitignore ファイルを作成します。

.terraform/
*.tfstate*
.terraform.lock.hcl
terraform.tfvars

Git を初期化し、設定をコミットします。

git init
git add main.tf .gitignore
git commit -m "Step 2 - Initial Terraform v5 configuration"

GitHub リポジトリを作成し(Web インターフェイスまたは GitHub CLI)、プッシュします。

git branch -M main
git remote add origin https://github.com/YOUR_USERNAME/cf-config.git
git push -u origin main

Terraform 設定はバージョン管理され、チームでの共同作業に使える状態です。機密データ(API トークン、ゾーン ID)はコードと分けて安全に保てます。

役に立ちましたか?