設定変更をロールバックする必要がある場合があります。たとえば、新しい設定で性能テストを行いたい場合や、IP アドレスの入力ミスでサイト全体が止まった場合です。
設定を戻すには、目的のブランチをチェックアウトし、Terraform に Cloudflare の設定を過去の状態へ戻させます。誤ってサイトを止めてしまった場合は、チュートリアルでは簡潔さのため master へ直接マージしていますが、プルリクエストのピアレビュー方針を整えることを検討してください。
どこまで戻すかを決める前に、Git の履歴を確認します。
git log --onelinef1a2b3c Step 5 - Add two Page Rules
d4e5f6g Step 4 - Create load balancer (LB) monitor, LB pool, and LB
a7b8c9d Step 3 - Enable TLS 1.3, automatic HTTPS rewrites, and strict SSL
e1f2g3h Step 2 - Initial Terraform v5 configurationCloudflare の設定を Git に保存するもう一つの利点は、誰が変更したかを確認できることです。プルリクエストをピアレビューしていれば、誰がレビューして承認したかも確認できます。
git log最後の変更日時を確認します。
git show最新のコミットと、変更されたファイルが表示されます。
Page Rules で例外を追加する チュートリアルに沿って Page Rules をデプロイした直後に、その URL は不要になり、セキュリティ設定とリダイレクトを外すよう求められたとします。
設定ファイルを直接編集してエントリを削除することもできますが、Git に任せることもできます。
Git で、Page Rules の変更を取り消す revert コミットを作成します。
git revert HEADGit は既定のエディターを開き、コミットメッセージを表示します。保存して閉じると既定のメッセージを採用します。必要に応じて編集できます。
Revert "Add Page Rules for security and redirects"
This reverts commit f1a2b3c4d5e6f7a8b9c0d1e2f3g4h5i6j7k8l9m0.差し戻した設定で Terraform が何をするかを確認します。
terraform plan想定される出力:
Plan: 0 to add, 0 to change, 2 to destroy.
Terraform will perform the following actions:
# cloudflare_page_rule.expensive_endpoint_security will be destroyed
# cloudflare_page_rule.legacy_redirect will be destroyed想定どおり、Terraform はチュートリアル 5 で追加した 2 つの Page Rules を削除します。
変更を適用し、Cloudflare ゾーンから Page Rules を削除します。
terraform apply --auto-approvecloudflare_page_rule.expensive_endpoint_security: Destroying...
cloudflare_page_rule.legacy_redirect: Destroying...
cloudflare_page_rule.expensive_endpoint_security: Destruction complete after 1s
cloudflare_page_rule.legacy_redirect: Destruction complete after 1s
Apply complete! Resources: 0 added, 0 changed, 2 destroyed.想定どおり 2 つのリソースが破棄され、前のバージョンにロールバックできました。
Page Rules が無効になっていることをテストします。
# This should now return 404 (no redirect)
curl -I https://www.example.com/old-location.php
# This should return normal response (no Under Attack mode)
curl -I https://www.example.com/expensive-db-call設定の差し戻しは完了です。Page Rules は削除され、ゾーン設定は前の状態に戻っています。Git のバージョン管理により、変更はいつでも安全に復元または差し戻せます。