Informazioni sulla configurazione di Terraform sui sistemi Windows

Per utilizzare Terraform per creare i componenti di Oracle Cloud Infrastructure, è necessario scaricare e installare Terraform. Verrà inoltre descritto come scaricare i moduli Terraform che creano i file di configurazione che verranno utilizzati per creare i componenti dell'infrastruttura necessari.

Il sistema in cui si installa Terraform e si memorizza i moduli Teraform può essere sia on premise che nel cloud. Per comodità, verrà utilizzato come sistema locale o host locale.

Prima di eseguire Terraform:

  • Genera una coppia di chiavi SSH utilizzata per accedere alle istanze di computazione

  • Genera una chiave di firma API utilizzata per autenticare le chiamate API effettuate da Terraform

  • Impostare le variabili di ambiente utilizzate da Terraform per autenticare l'accesso ed eseguire i relativi piani.

Dopo aver completato questi passi, sei pronto per applicare i file di configurazione Terraform per creare i componenti dell'infrastruttura in Oracle Cloud Infrastructure.

Installa Terraform

Per installare Terraform su un sistema Windows, scaricare il pacchetto appropriato dal sito Web Terraform.

  1. Accedere a https://www.terraform.io/downloads.html.
  2. Scaricare il pacchetto applicabile al sistema locale.
  3. Estrarre il pacchetto nella cartella C:\Program Files (x86).
    Questo percorso viene utilizzato come esempio. Tuttavia, è anche possibile eseguire Terraform in qualsiasi altra posizione del sistema locale.
  4. Aggiornare la variabile di ambiente di percorso per includere la cartella in cui si trova l'eseguibile Terraform.
    1. Andare al Pannello di controllo.
    2. Fare clic su Sistema.
    3. In un sistema Windows 10, fare clic su Impostazioni di sistema avanzate. Questa opzione può variare in versioni diverse di Windows.
      Viene visualizzata la scheda Advanced della finestra System Properties.
    4. Fare clic su Variabili di ambiente nella parte inferiore della finestra.
      Viene visualizzata la finestra Variabili di ambiente.
    5. Nel riquadro Variabili di sistema fare clic su Percorso, quindi su Modifica.
    6. Fare clic su Nuovo. Aggiungere il percorso alla cartella in cui si trova l'eseguibile Terraform.
    7. Fare clic su OK per salvare le modifiche, quindi fare clic su OK per uscire dalle finestre Variabili di ambiente. Quindi fare di nuovo clic su OK per uscire dalla finestra Proprietà di sistema.
  5. Per verificare l'installazione e controllare la versione, avviare Windows PowerShell e immettere: terraform -version.
    Nell'output verrà visualizzata la versione di Terraform. Ad esempio: Terraform v0.11.8

Generare una coppia di chiavi SSH per accedere agli host bastion

Una coppia di chiavi SSH viene utilizzata per consentire l'accesso sicuro alle istanze create nelle subnet pubbliche. È possibile generare una coppia di chiavi SSH sull'host locale. I moduli Terraform, quindi aggiungere la chiave pubblica SSH agli host bastion. Quando è necessario connettersi all'host bastion tramite la rete Internet pubblica, è necessario fornire la chiave privata SSH per autenticare l'accesso.

È possibile generare una coppia di chiavi SSH utilizzando PuTTYgen. Non impostare una passphrase per la chiave SSH.

  1. Avviare PuTTYgen.
  2. Accettare il tipo di chiave predefinita SSH-2 RSA e impostare Numero di bit in una chiave generata su 2048 se non è già impostata.
  3. Fare clic su Genera, quindi spostare il mouse intorno all'area vuota per generare casualità.
    La chiave viene generata e il relativo valore viene visualizzato in Chiave pubblica per essere incollata nel file OpenSSH authorized_keys.
  4. Fare clic su Salva chiave privata. Viene richiesto di confermare che si desidera salvare la chiave senza passphrase. Fare clic su Sì. È possibile memorizzare questa chiave in qualsiasi posizione, ma a titolo di semplicità, memorizzarla nella stessa cartella in cui si trovano i moduli Terraform.
  5. In seguito, per salvare la chiave pubblica, selezionare tutta la chiave generata visualizzata nel campo Chiave pubblica per incollare nel campo OpenSSH authorized_keys, copiarla e incollarla in un file di testo. Salvare il file nella stessa posizione della chiave privata. Non utilizzare il pulsante Salva chiave pubblica perché non salva la chiave in formato OpenSSH.
La coppia di chiavi SSH è stata generata e memorizzata nel sistema locale. Assicurarsi di prendere nota della posizione in cui è memorizzata questa coppia di chiavi.

Genera una coppia di chiavi SSH per accedere ad altre istanze

Gli host Bastion vengono utilizzati per abilitare l'inoltro SSH ad altre istanze che non dispongono di indirizzi IP pubblici e non consentono l'accesso tramite la rete Internet pubblica. Per accedere in modo sicuro ad altre istanze dall'host bastion, utilizzare una coppia di chiavi SSH in cui la chiave pubblica memorizzata nelle istanze nelle subnet private corrisponde a una chiave privata memorizzata nel computer locale.

La coppia di chiavi SSH utilizzata per abilitare l'accesso dall'host bastion ad altre istanze deve essere generata utilizzando una utility quale OpenSSL o ssh-keygen. Non è possibile utilizzare una coppia di chiavi SSH generata su Windows utilizzando PuTTY poiché il formato .ppk utilizzato da PuTTY non è supportato su Oracle Linux o altri sistemi operativi di tipo UNIX. Tenere presente che l'host bastion, che inoltra il traffico SSH ad altre istanze, utilizza un'immagine Oracle Linux.

  1. Avvia Git Bash.
  2. Immettere: ssh-keygen -t rsa -N "" -b 2048 -C "<key_name>" -f <path/root_name>
    In questo comando:
    • -t rsa specifica che la chiave deve essere generata utilizzando l'algoritmo RSA

    • -N "" specifica la passphrase che si desidera associare a questa chiave. Non immettere alcun valore tra i preventivi. La chiave viene creata senza passphrase.

    • -b 2048 specifica che si desidera generare una chiave a 2048 bit. Questo è il valore predefinito ed è il valore minimo consigliato.

    • -C "<key_name>" specifica il nome di questa coppia di chiavi.

    • -f <path/root_name> specifica la posizione in cui la chiave viene salvata e il nome root per la chiave pubblica e privata. La chiave pubblica è .pub aggiunta al nome root.

La coppia di chiavi SSH viene generata e salvata nella posizione specificata. Prendere nota di questa posizione.

Genera una chiave di firma API

Per autenticare lo script Terraform con Oracle Cloud Infrastructure, è necessario fornire una coppia di chiavi RSA nel formato PEM (Privacy Enhanced Mail). Tenere presente che questa chiave di firma API non corrisponde alla coppia di chiavi SSH utilizzata per accedere alle istanze. È possibile generare questa coppia di chiavi utilizzando OpenSSL in Git Bash. Git Bash deve essere già installato nel sistema locale.

  1. Avvia Git Bash.
  2. Creare una cartella nascosta per memorizzare la chiave PEM. È possibile memorizzare la chiave PEM in qualsiasi posizione, ma per semplicità creare questa cartella sotto la cartella in cui si trovano i moduli Terraform. Assicurarsi di prendere nota della posizione in cui memorizzare la coppia di chiavi. Accedere a tale posizione e immettere: mkdir ./.oci
  3. Per creare la chiave di firma API, immettere: openssl genrsa -out ./.oci/key_name.pem 2048
  4. Modificare le autorizzazioni sulla chiave privata per assicurarsi che solo la chiave privata possa essere letta. Immettere: chmod go-rwx ./.oci/key_name.pem
  5. Quindi, per generare la chiave pubblica per la chiave privata specificata, immettere: openssl rsa -pubout -in ./.oci/key_name.pem -out ./.oci/key_name_public.pem
La chiave di firma API pubblica e privata viene memorizzata nella cartella specificata.

Caricare la chiave di firma API mediante la console

Dopo aver generato una chiave di firma API, è necessario caricare la chiave pubblica per l'utente associato in Oracle Cloud Infrastructure. La prima volta che si carica una chiave di firma API, è necessario utilizzare la console. Successivamente, puoi anche utilizzare l'API per caricare una chiave API.

  1. Connettersi alla console di Oracle Cloud Infrastructure.
  2. Fare clic su Identità, quindi su Utenti.
  3. Fare clic sull'utente per il quale si desidera aggiungere la chiave di firma API.
  4. Nella pagina dei dettagli utente, fare clic su Aggiungi chiave pubblica.
  5. Nel sistema locale, avviare Git Bash. Passare alla cartella in cui è stata memorizzata la coppia di chiavi di firma API.
  6. Per copiare la chiave pubblica, immettere: cat ./key_name_public.pem. Viene visualizzato il valore della chiave pubblica. Copiare questo valore, incluse le righe -----BEGIN PUBLIC KEY----- e -----END PUBLIC KEY-----.
  7. Nella console incollare il valore della chiave pubblica e fare clic su Aggiungi.