Ir al contenido

Backends Multi-Cloud

Configura el almacenamiento remoto y seguro del ledger de estado (testform.state) en la nube de tu preferencia.

1. Oracle Cloud Infrastructure (OCI Object Storage)

Sección titulada «1. Oracle Cloud Infrastructure (OCI Object Storage)»

El backend de OCI almacena el estado en un bucket de Object Storage utilizando ETags condicionales para garantizar atomicidad:

version: "1.0"
backend:
type: "oci"
namespace: "mi-tenancy-namespace"
bucket: "testform-state"
object_name: "produccion/testform.state"
tenancy_id: "ocid1.tenancy.oc1..aaaaaaaaxxxxx"
user_id: "ocid1.user.oc1..aaaaaaaayyyyy"
fingerprint: "20:3b:97:13:55:1c:..."
private_key_path: "~/.oci/oci_api_key.pem"
region: "us-ashburn-1"

Utiliza un bucket de S3 para almacenar el archivo de estado y una tabla de DynamoDB para el bloqueo distribuido con mutex:

version: "1.0"
backend:
type: "s3"
bucket: "empresa-testform-tfstate"
key: "core/testform.state"
region: "us-east-1"
dynamodb_table: "testform-locks"
encrypt: true

Variables de entorno requeridas:

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY
  • AWS_REGION

Almacena el estado en Azure Blob Storage con arrendamiento exclusivo (blob leases):

version: "1.0"
backend:
type: "azure"
storage_account: "empresatestform"
container: "tfstate"
blob_name: "qa/testform.state"

Variables de entorno requeridas:

  • ARM_CLIENT_ID
  • ARM_CLIENT_SECRET
  • ARM_SUBSCRIPTION_ID
  • ARM_TENANT_ID

Utiliza GCS con precondiciones de generacion para bloqueos concurrentes:

version: "1.0"
backend:
type: "gcs"
bucket: "empresa-testform-state"
prefix: "qa-environments"

Variable de entorno requerida:

  • GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json