Выбор ответа Junior Terraform и IaC спрашивают часто обновлено

Удалённый state и блокировка

Вопрос

Зачем включать блокировку state при удалённом бэкенде?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Чтобы два apply не меняли инфраструктуру и state одновременно. Два одновременных apply могут создать дубли ресурсов и перезаписать state друг друга.

Варианты ответа

  1. Чтобы никто, кроме CI, не мог прочитать state с секретами
  2. Чтобы Terraform кешировал state и не скачивал его на каждый plan
  3. Блокировка нужна только для локального state, удалённый защищён бэкендом
  4. Чтобы два apply не меняли инфраструктуру и state одновременноправильный ответ

Разбор

Два одновременных apply могут создать дубли ресурсов и перезаписать state друг друга. Блокировка (DynamoDB, файл блокировки в S3, YDB, Postgres) пускает только одну операцию. Это не про чтение: доступ ограничивают правами на хранилище. Скорость блокировка не повышает, а у локального state конкурентный доступ обычно и так невозможен.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.