Skip to content

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

ルールセットを変更するとルール ID が変わる

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

cloudflare_ruleset リソースでは、Terraform 設定のルールセットを変更すると、Cloudflare プロバイダーがルールを削除して新しいルールを作成することがあります。これは、新しい Terraform 設定内のルールと、既存の Cloudflare 設定内のルールを API が照合できないためです。Terraform 設定のルールセットを変更して適用すると、Cloudflare アカウントまたはゾーンに、異なるルール ID の新しいルールが作成されます。

この動作は、ルール変更後も不変のルール ID を前提とする自動化や監視システムに影響することがあります。

変更後も同じルール ID を保つ

Terraform でルールセットを変更するときに既存のルール ID を維持するには、各ルールに ref フィールドを追加します。

ref フィールドは、ユーザー定義の外部識別子です。ルールセット内の各ルールで一意である必要があります。ref 値を指定すると、プロバイダーは更新後の Terraform 設定のルールと、同じ ref 外部識別子を持つ既存ルールを照合し、ルール ID を保持します。

ref 値は文字列型で、最小長は 1 文字です。例: my_ref

ルールに ref フィールドを設定したあと、ref の値を変えると Terraform は新しいルールを作成します。

cf-terraformingref フィールド対応

既定では、ルール作成時の ref 値はルール ID と同じです。ref 値は Cloudflare API でも設定できます。

cf-terraforming既存の Cloudflare 設定を Terraform にインポート すると、生成される Terraform 設定には各ルールの ref 値が含まれ、値はルール ID と同じです。

Terraform 設定を手作業で作成し、ルール設定に ref フィールドがない場合は、各ルールに ref を追加してください。ルールセットを変更するたびに新しいルール ID が生成されなくなります。

役に立ちましたか?