Informazioni sulla configurazione di Terraform nei sistemi UNIX-Like
Per utilizzare Terraform per creare i componenti di Oracle Cloud Infrastructure, è necessario scaricare e installare Terraform. Verranno scaricati anche i moduli Terraform che creano i file di configurazione che verranno utilizzati per creare i componenti necessari dell'infrastruttura.
Il sistema in cui installare Terraform e memorizzare i moduli Teraform può essere on premise o nel cloud. Per comodità, faremo riferimento al sistema locale o all'host locale.
Prima di eseguire Terraform, effettuare le operazioni riportate di seguito.
-
Genera una coppia di chiavi SSH utilizzata per consentire l'accesso alle istanze di calcolo.
-
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, è possibile applicare i file di configurazione Terraform per creare i componenti dell'infrastruttura in Oracle Cloud Infrastructure.
Installa Terraform
Per installare Terraform in un sistema Linux o UNIX-like, scaricare il package appropriato dal sito Web Terraform.
Scarica i moduli Terraform
Per iniziare a creare i componenti dell'infrastruttura in Oracle Cloud Infrastructure utilizzando Terraform, scaricare i moduli Terraform.
Genera una coppia di chiavi SSH per accedere agli host di base
Una coppia di chiavi SSH consente di accedere in modo sicuro alle istanze create nelle subnet pubbliche. Si genera una coppia di chiavi SSH nell'host locale. I moduli Terraform aggiungono quindi la chiave pubblica SSH agli host di base. Quando occorre connettersi all'host di base su Internet pubblico, è necessario fornire la chiave privata SSH per autenticare l'accesso.
È possibile utilizzare la utility ssh-keygen
per generare una coppia di chiavi SSH. Non impostare una passphrase per la chiave SSH.
Genera una coppia di chiavi SSH per accedere ad altre istanze
Gli host di base 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 di base, utilizzare una coppia di chiavi SSH in cui la chiave pubblica memorizzata nelle istanze delle subnet private corrisponde a una chiave privata memorizzata nel computer locale. Come procedura consigliata per la sicurezza, questa coppia di chiavi SSH non deve essere uguale alla coppia di chiavi SSH utilizzata per accedere all'host di base.
Utilizzare ssh-keygen
sull'host locale per generare un'altra coppia di chiavi SSH. Prendere nota della posizione in cui salvare la coppia di chiavi SSH.
Genera una chiave di firma API
Fornire una coppia di chiavi RSA nel formato PEM (Privacy Enhanced Mail) per autenticare lo script Terraform con Oracle Cloud Infrastructure. Tenere presente che la chiave di firma API non è la stessa della coppia di chiavi SSH utilizzata per accedere alle istanze. È possibile utilizzare OpenSSL
per generare questa coppia di chiavi.
- Creare una directory nascosta nell'area home per memorizzare la chiave PEM. Immettere:
mkdir ~/.oci
- Utilizzare OpenSSL per generare una chiave privata. Ricordarsi di specificare 2048 bit o superiore quando si genera la chiave privata. Immettere:
openssl genrsa -out ~/.oci/key_name.pem 2048
- Modificare le autorizzazioni sulla chiave privata per assicurarsi che solo l'utente possa leggere la chiave privata. Immettere:
chmod go-rwx ~/.oci/key_name.pem
- Successivamente, utilizzare OpenSSL 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
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. In seguito sarà possibile anche utilizzare l'API per caricare una chiave API.
Imposta variabili di ambiente
I moduli Terraform forniti qui consentono di impostare le variabili di ambiente specificando i valori necessari in un file di testo. È possibile creare una nuova origine del file per assicurarsi che tutte le variabili di ambiente necessarie siano impostate in modo appropriato.
Prima di iniziare, collegarsi alla console di Oracle Cloud Infrastructure. Utilizzare la console per trovare le informazioni riportate di seguito.
-
OCID (tenancy Oracle Cloud Infrastructure ID)
-
OCID utente
-
L'impronta della chiave di firma API che si desidera utilizzare
-
L'area
-
OCID del compartimento
Inoltre, assicurati di conoscere la posizione in cui la chiave di firma API e la coppia di chiavi SSH vengono memorizzate sul sistema locale.
- Nel sistema locale accedere alla directory in cui si trovano i moduli Terraform.
- Aprire il file
env-vars
in un editor di testo. - Il file
env-vars
contiene quattro sezioni. Iniziare con la sezione Dettagli autenticazione.- Immettere l'OCID della tenancy. Puoi trovare l'OCID della tenancy nella parte inferiore della console di Oracle Cloud Infrastructure. È una stringa simile a:
ocid1.tenancy.oc1..aaaaa...
. Incollare questo valore nel fileenv-vars
. - Inserire l'OCID utente. Per trovare l'OCID utente, nella console di Oracle Cloud Infrastructure fare clic su Identità, quindi su Utenti. L'elenco degli utenti è visualizzato insieme all'OCID utente. Fare clic su Copia sotto il nome utente per copiare l'OCID utente richiesto. Incollare questo valore nel file
env-vars
. - Immettere l'impronta della chiave di firma API. Nella console di Oracle Cloud Infrastructure, nella pagina Utenti, fare clic sull'utente per visualizzare la pagina dei dettagli dell'utente. Copiare l'impronta della chiave API dalla chiave elencata nella sezione Chiavi API. Incollare questo valore nel file
env-vars
. - Immettere il percorso completo e il nome file della chiave privata API sul sistema locale.
- Immettere l'OCID della tenancy. Puoi trovare l'OCID della tenancy nella parte inferiore della console di Oracle Cloud Infrastructure. È una stringa simile a:
- Nella sezione area del file
env-vars
immettere l'area In cui si desidera creare i componenti dell'infrastruttura. L'area attualmente visualizzata viene visualizzata nella parte superiore della console di Oracle Cloud Infrastructure. È inoltre possibile utilizzare la console per trovare altre aree alle quali si ha accesso. - Nella sezione del compartimento del file
env-vars
immettere l'OCID del compartimento In cui si desidera creare i componenti dell'infrastruttura. Assicurarsi che l'utente specificato in precedenza appartenga a un gruppo che dispone delle autorizzazioni richieste per il compartimento specificato qui. Per trovare l'OCID del compartimento, andare alla console di Oracle Cloud Infrastructure. Fare clic su Identità, quindi fare clic su Compartimenti. L'elenco dei compartimenti è visualizzato insieme al OCID del compartimento. Fare clic su Copia sotto il nome del compartimento per copiare l'OCID del compartimento richiesto. Incollare questo valore nel fileenv-vars
. - Nella sezione delle chiavi pubbliche/private del file
env-vars
, per gli host di base e altre istanze, immettere il percorso completo e il nome file delle chiavi pubbliche e private SSH appropriate sul sistema locale. La chiave privata deve essere in formatoopenssh
. - Verificare di aver immesso correttamente tutti i valori. Se i valori sono stati omessi, verrà richiesto di fornire l'input quando si esegue Terraform. Se sono stati forniti valori errati, Terraform si verifica un errore. Se tutti i valori sono corretti, salvare e chiudere il file
env-vars
. - Per impostare le variabili di ambiente specificate nel file
env-vars
, aprire un terminale e passare alla directory in cui si trovano i moduli Terraform. Immettere:source./env-vars