Impostazione di Terraform per CIS

Terraform su IBM Cloud® consente la creazione prevedibile e coerente di servizi IBM Cloud, in modo da poter costruire rapidamente ambienti cloud complessi e multilivello seguendo i principi dell'Infrastructure as Code ( IaC ). Analogamente a quanto avviene con la CLI, l’API e gli SDK di IBM Cloud, è possibile automatizzare la creazione, l’aggiornamento e l’eliminazione delle istanze di IBM Cloud Internet Services utilizzando il linguaggio di configurazione di HashiCorp (HCL).

Cerchi una soluzione Terraform gestita su IBM Cloud®? Prova IBM Cloud® Schematics. Con Schematics, puoi utilizzare il linguaggio di scripting Terraform che conosci bene, senza doverti preoccupare della configurazione e della manutenzione della riga di comando di Terraform e del plug-in del provider IBM Cloud®. Schematics mette inoltre a disposizione modelli Terraform predefiniti che puoi installare dal catalogo IBM Cloud®.

Installazione di Terraform e configurazione delle risorse per IBM Cloud Internet Services

Prima di creare un'autorizzazione con Terraform, è necessario completare i seguenti prerequisiti:

  • Assicurarsi di avere l'accesso richiesto per creare e lavorare con IBM Cloud Internet Services.
  • Installare la CLI di Terraform e configurare il plug-in IBM Cloud Provider per Terraform. Per ulteriori informazioni, vedere Come iniziare con Terraform su IBM Cloud. Il plug-in astrae le API di IBM Cloud che vengono utilizzate per completare questo compito.
  • Creare un file di configurazione di Terraform chiamato main.tf. Usare questo file per definire l'autorizzazione tra i servizi scrivendo il codice Terraform in HashiCorp Configuration Language (HCL). Per ulteriori informazioni, consultare la documentazione Terraform.
  1. Nel file di configurazione di Terraform, trovare il codice Terraform usato per creare l'istanza CIS.

  2. Creare un'istanza di CIS utilizzando l'argomento della risorsa ibm_resource_instance nel file main.tf. L'istanza CIS dell'esempio seguente si chiama test ed è stata creata con il piano tariffario Standard. Il sito resource_group_id è data.ibm_resource_group.group.id, e la proprietà location è impostata su global.

    data "ibm_resource_group" "group" {
      name = "test"
    }
    resource "ibm_cis" "cis_instance" {
      name              = "test"
      plan              = "standard-next"
      resource_group_id = data.ibm_resource_group.group.id
      tags              = ["tag1", "tag2"]
      location          = "global"
      //User can increase timeouts
      timeouts {
        create = "15m"
        update = "15m"
        delete = "15m"
      }
    }
    

    Se non si specifica resource_group_id, l'istanza CIS viene creata nel gruppo di risorse predefinito. Il sito API_KEY deve avere i permessi per questo gruppo.

    Se si migra da un piano a un altro, il cambiamento è considerato una modifica di una risorsa esistente. Non è considerata una creazione o una cancellazione di risorse.

  3. Dopo aver terminato la creazione del file di configurazione, inizializza la CLI Terraform. Per ulteriori informazioni, vedere Inizializzazione della directory di lavoro.

    terraform init
    
  4. Eseguire il provisioning delle risorse dal file main.tf. Per ulteriori informazioni, vedere Flusso di lavoro di Terraform per il provisioning dell'infrastruttura.

    1. Eseguire terraform plan per generare un piano di esecuzione Terraform per visualizzare in anteprima le azioni proposte.
       terraform plan
    
    1. Eseguire terraform apply per creare le risorse definite nel piano.
       terraform apply
    
  5. Dalla IBM Cloud elenco risorse, selezionare l'istanza CIS creata e notare l'ID istanza.

  6. Verificare che la politica di accesso venga assegnata correttamente. Per ulteriori informazioni, consultare Rivisualizzazione dell'accesso assegnato nella console.

Operazioni successive

Ora che hai creato correttamente la tua prima istanza del servizio CIS con Terraform su IBM Cloud, puoi visitare il registro CIS Cloud Internet Services (CIS) Terraform per eseguire attività aggiuntive utilizzando Terraform.