← Провайдер Cloudflare Terraform / terraform / tutorial
6. Откат конфигурации
Иногда приходится откатывать изменения конфигурации. Например, вы можете захотеть протестировать производительность новой конфигурации, или, возможно, вы опечатались в IP-адресе и из-за этого положили весь сайт.
Чтобы откатить конфигурацию, переключитесь на нужную ветку и попросите Terraform вернуть настройки Cloudflare к предыдущему состоянию. Если вы случайно вывели сайт из строя, продумайте стратегию рецензирования пул-реквестов вместо прямого слияния в master как это сделано в учебных материалах для краткости.
1. Просмотрите историю своей конфигурации
Прежде чем решить, насколько далеко откатываться, изучите историю 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 configurationЕще одно преимущество хранения конфигурации Cloudflare в Git: вы видите, кто внес изменение. А если в команде принято проверять pull request, вы также видите, кто его рассмотрел и одобрил.
git logПроверьте, когда было внесено последнее изменение:
git showЗдесь показан самый последний коммит и изменённые файлы.
2. Сценарий: отмена Page Rules
Предположим, что вскоре после того, как вы развернули Page Rules, следуя Добавление исключений с помощью Page Rules руководстве вы узнаете, что URL больше не нужен, а настройку безопасности и переадресацию следует удалить.
Вы всегда можете отредактировать файл конфигурации напрямую и удалить эти записи, но для этого также можно использовать Git.
Откат через Git
С помощью Git создайте коммит отмены для изменений Page Rules:
git revert HEADGit откроет редактор по умолчанию с сообщением коммита. Сохраните и закройте его, чтобы принять сообщение по умолчанию, или измените его:
Revert "Add Page Rules for security and redirects"
This reverts commit f1a2b3c4d5e6f7a8b9c0d1e2f3g4h5i6j7k8l9m0.3. Просмотрите изменения
Проверьте, что 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 удалит два Page Rules, добавленных в руководстве 5.
4. Примените изменения
Примените изменения, чтобы удалить Page Rules из зоны Cloudflare:
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.Как и ожидалось, два ресурса были удалены, и вы вернулись к предыдущей версии.
5. Проверка отката
Проверьте, что правила 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 позволяет в любой момент безопасно восстановить или откатить изменения.