Creazione di un file di configurazione Terraform

Scopri come creare un file di configurazione terraform con un linguaggio o un formato JSON specifico del dominio Terraform se i file devono essere leggibili da un computer.

Terraform utilizza una sintassi dichiarativa per descrivere la tua infrastruttura Oracle Cloud Infrastructure (OCI) e poi la rende persistente nei file di configurazione che possono essere condivisi, rivisti, modificati, controllati a livello di versione, conservati e riutilizzati. Vedere Sintassi di configurazione. I file di configurazione Terraform possono utilizzare uno dei due formati seguenti: il linguaggio specifico del dominio Terraform (HashiCorp Configuration Language format [HCL]), ovvero l'approccio consigliato oppure il formato JSON se i file devono essere leggibili dal computer. I file di configurazione che utilizzano il formato HCL terminano con l'estensione file .tf; quelli che utilizzano il formato JSON terminano con l'estensione file .tf.json. Il formato Terraform è leggibile dall'utente, mentre il formato JSON è leggibile dal computer.

Utilizza le configurazioni Terraform per definire le risorse richieste dalla soluzione o dall'applicazione al momento della distribuzione. Le risorse possono creare oggetti Oracle Cloud Infrastructure, come reti cloud virtuali o istanze di computazione. La prima applicazione della configurazione crea gli oggetti e le applicazioni successive possono aggiornarli o eliminarli. Terraform, quindi, converte le configurazioni di Oracle Cloud Infrastructure in un set di chiamate API sugli endpoint API di Oracle Cloud Infrastructure. La chiave per scrivere la configurazione Terraform è capire come astrarre concettualmente l'infrastruttura desiderata nella sintassi di configurazione Terraform.

A seconda del livello di esperienza acquisita nello sviluppo delle configurazioni Terraform, è possibile procedere con la Guida introduttiva a un modello di stack Marketplace o alla redazione delle sezioni delle configurazioni Terraform.

Introduzione a un modello di stack del Marketplace

Una raccolta di esempi che consente agli editori di Oracle Cloud Infrastructure Marketplace di avviare rapidamente la distribuzione di applicazioni in Oracle Cloud Infrastructure è disponibile all'indirizzo OCI Quickstart Template. Questo repository contiene il modello che può essere utilizzato per accelerare la creazione di stack eseguiti dall'interfaccia CLI Terraform locale, da OCI Resource Manager e da Cloud Shell.

Si consiglia di iniziare creando una copia del repository oci-quickstart-template:

$> git clone https://github.com/oracle-quickstart/oci-quickstart-template.git
$> cd oci-quickstart-template

I file di configurazione Terraform (.tf) hanno requisiti specifici, a seconda dei componenti definiti nel file. Ad esempio, è possibile definire il provider Terraform in un file (provider.tf), le variabili definite in un altro file (variables.tf), le origini dati definite in un altro file. Il modello di stack Quickstart di Marketplace raggruppa risorse simili in singoli file, ma il layout del file system è solo un riferimento di esempio.

Distribuire un'istanza con un'immagine personalizzata

Per creare un'istanza da un'immagine personalizzata, effettuare le operazioni riportate di seguito.

  1. Individuare la risorsa oci_core_instance nel file compute.tf e impostare source_details su local.compute_image_id nel modello oci-quickstart-template appena clonato. La variabile locale local.compute_image_id può essere impostata su un OCID immagine personalizzato o su un OCID immagine di marketplace in base al flag mp_subscription_enable.

  2. Modificare variables.tf impostando il valore dell'attributo predefinito della variabile compute_image_id sull'OCID dell'immagine personalizzata creata dopo il task 2 in Creazione di un elenco di stack OCI nel portale partner.

Creazione del proprio stack del Marketplace

Il repository oci-quickstart-template funge da punto di partenza per le configurazioni Terraform, ma non si limita a creare il proprio Infrastrucutre come Code. Per riferimento a ulteriori esempi, consulta Oracle Cloud Infrastructure Terraform Provider for OCI: terraform-provider-OCI/docs/examples. Assicurati che i tuoi file Terraform siano conformi alle linee guida per gli stack del Marketplace.