Я играл с кучей вещей для государственного управления и держал все отдельно. Вы вправе иметь отдельное состояние для каждой среды.
Это может не соответствовать рекомендациям, которые вы встретите в Интернете. то есть. создать отдельную папку и иметь состояние в среде по умолчанию.
Я поддерживаю состояние для отдельного рабочего пространства с именами рабочих пространств, специфичными для client-env, с одним S3-контейнером и DynamodB для состояния и блокировки.
Terraform хранит их отдельно с префиксом рабочей области w.r.t, и S3 bucket выглядит следующим образом.
-terraform (workspace-prefix)
-clientA-ENV-A
-clientA-ENV-B
-clientB-ENV-A
...
Я использую один и тот же рецепт terraform для всех клиентов и env, поэтому не нужно вставлять копии кода.
Несколько пользователей могут работать на клиенте и в конкретной рабочей среде env, и это помогает моему CI / CD не выполнять повторяющиеся начальные операции.