Imposta Terraform OCI
Impostare gli script del provider Terraform di Oracle Cloud Infrastructure, documentati nel registro Terraform, per connettersi a un account OCI. Confermare l'impostazione recuperando le informazioni dalla tenancy.
I task chiave includono come:
- Creare chiavi RSA.
- Impostare gli script del provider Terraform di Oracle Cloud Infrastructure:
- Autenticare gli script Terraform.
- Ottieni informazioni sui domini di disponibilità nella tua tenancy.

Per ulteriori informazioni, fare riferimento agli argomenti sotto riportati.
Informazioni preliminari
Per eseguire correttamente questa esercitazione, è necessario disporre dei seguenti elementi:
- Un account Oracle Cloud Infrastructure. Vedi Richiedi e gestisci le promozioni gratuite su Oracle Cloud.
- Un ambiente MacOS, Linux o Windows:
- Mac OS
- Linux (qualsiasi distribuzione)
- Puoi installare una VM Linux con una forma di computazione Sempre gratis su Oracle Cloud Infrastructure. Vedere Free Tier: Installare Apache e PHP in un'istanza di Oracle Linux.
- Oracle Cloud Infrastructure Cloud Shell:
- Come installare Linux su Windows con WSL (WSL)
- Git per Windows per accedere a una VM Linux.
Questa esercitazione utilizza un ambiente VM Oracle Linux con una forma AMD per i relativi esempi, ma è possibile utilizzare qualsiasi ambiente menzionato in questa sezione.
1. Prepara
Preparare l'ambiente per l'autenticazione e l'esecuzione di script Terraform. Raccogliere inoltre le informazioni necessarie all'account per autenticare gli script.
Saltare la creazione di chiavi RSA se:
- Si sta utilizzando Cloud Shell o Resource Manager. L'autenticazione è già stata eseguita quando si accede alla console di Oracle Cloud.
- Le chiavi RSA sono già state create per l'esercitazione Imposta ricerca automatica risorse.
Ora è possibile impostare le chiavi RSA per connettersi all'account OCI.
- Di riferimento
- Come generare una chiave di firma API
Se il nome utente si trova nel gruppo Administrators
, saltare questa sezione. In caso contrario, chiedere all'amministratore di aggiungere il criterio seguente alla tenancy:
allow group <a-group-that-your-username-belongs-to> to read all-resources in tenancy
Questo privilegio consente di elencare tutte le risorse della tenancy.
- Accedi alla console di Oracle Cloud.
- Nel menu di navigazione selezionare il menu Profilo
e quindi selezionare Impostazioni utente o Profilo personale, a seconda dell'opzione visualizzata.
- Selezionare Gruppi o Gruppi personali, a seconda dell'opzione visualizzata.
- In un blocco note, copia il nome di un gruppo a cui appartiene il tuo nome utente.
- Aprire il menu di navigazione e selezionare Identità e sicurezza. In Identità, selezionare Criteri.
- Selezionare il compartimento:
<your-tenancy>(root)
- Selezionare Crea criterio.
- Nella pagina Crea criterio, immettere i valori riportati di seguito.
- Nome:
list-resources
- Descrizione:
Allow the group <a-group-that-your-username-belongs-to> to list the resources in this tenancy.
- Compartimento:
<your-tenancy>(root)
- Nome:
- Per Costruzione guidata criteri, selezionare Mostra editor manuale.
- Incolla nel seguente criterio:
allow group <a-group-that-your-username-belongs-to> to read all-resources in tenancy
- Selezionare Crea.
Riferimento: criteri comuni
Preparare le informazioni necessarie per autenticare gli script Terraform e copiare le informazioni in un blocco note.
2. Crea script
Crea script per l'autenticazione, per recuperare i dati dal tuo account e per stampare gli output.
required_providers
per dichiarare le versioni del provider richieste.Utilizzare le variabili riportate di seguito per l'autenticazione basata su chiave API.
tenancy_ocid
user_ocid
private_key_path
fingerprint
region
Non è necessario installare il provider. Il provider viene scaricato quando si eseguono gli script in questa esercitazione.
provider.tf
e si ottengono informazioni dall'account.In Terraform, per recuperare i dati, si utilizza un'origine dati. Il recupero dei dati da un'origine dati è simile al metodo GET nelle API REST.
- Vai a Oracle Cloud Infrastructure Provider.
- Nella casella Filtro in alto a sinistra, immettere
availability domains
. - In Identità, andare a Origini dati e selezionare oci_identity_availability_domains.
Il titolo della pagina è il tipo di risorsa:
oci_identity_availability_domains
- Trovare il nome dell'origine dati dal titolo della pagina:
- Origine dati:
- Nella sezione Riferimento argomento, trovare tutti gli argomenti (input) etichettati come (Obbligatorio):
- compartment_id
- Costruisce un blocco di origine dati:
- Dichiarare un'origine dati con la parola chiave:
data
. - Aggiungere un'etichetta per il nome dell'origine dati:
"oci_identity_availability_domains"
- Aggiungere un'etichetta a scelta per il nome locale:
- L'etichetta può contenere lettere, cifre, caratteri di sottolineatura (
_
) e trattini (-
). Il primo carattere non deve essere una cifra. - Questa esercitazione utilizza il nome locale
"ads"
per crearedata "oci_identity_availability_domains" "ads"
.
- L'etichetta può contenere lettere, cifre, caratteri di sottolineatura (
- All'interno del blocco di codice, fornire i valori per tutti gli argomenti richiesti.
- Esempio:
compartment_id = "<some-compartment-ocid>"
- Esempio:
- Per gli argomenti facoltativi, fornire i valori per limitare i risultati del recupero. Solo alcune origini dati dispongono di argomenti facoltativi.
- Dichiarare un'origine dati con la parola chiave:
L'origine dati oci_identity_availability_domains
recupera una lista di domini di disponibilità. In questa sezione si dichiara un blocco di output per stampare le informazioni recuperate.
- Andare a Riferimento attributi (oci_identity_availability_domains).Nota
Gli attributi sono gli output che è possibile restituire per l'origine datioci_identity_availability_domains
. - Trovare gli attributi:
- Attributo:
availability_domains:
- Lista di domini di disponibilità
- Se si esegue l'output di
availability_domains:
, si ottengono tre attributi per ogni dominio di disponibilità nella lista:- compartment_id
- ID
- nome
- Attributo:
- Costruisce un blocco di output dell'origine dati:
- Dichiarare un blocco di output con la parola chiave:
output
- Aggiungere un'etichetta da stampare con i risultati dell'output:
- L'etichetta può contenere lettere, cifre, caratteri di sottolineatura (
_
) e trattini (-
). Il primo carattere non deve essere una cifra. - Esempio:
"all-availability-domains-in-your-tenancy"
- L'etichetta può contenere lettere, cifre, caratteri di sottolineatura (
- All'interno del blocco di codice, immettere un valore per l'output dell'origine dati con l'espressione:
value = data.<data-source-name>.<local-name-for-data-source>.<attribute>
- Esempio:
value = data.oci_identity_availability_domains.ads.availability_domains
- Dichiarare un blocco di output con la parola chiave:
3. Esegui script
Eseguire gli script Terraform. Dopo che l'account ha autenticato gli script, Terraform recupera i domini di disponibilità della tenancy.
tf-provider
.Ora si dispone di una cartella denominata .terraform
che include i plugin per il provider oci
.
plan
di Terraform.
terraform plan
Output di esempio:
data.oci_identity_availability_domains.ads: Reading...
data.oci_identity_availability_domains.ads: Read complete after 1s [id=xxx]
Changes to Outputs:
+ all-availability-domains-in-your-tenancy = [
+ {
+ compartment_id = "ocid1.tenancy.oc1..xxx"
+ id = "ocid1.availabilitydomain.xxx"
+ name = "QnsC:US-ASHBURN-AD-1"
},
+ {
+ compartment_id = "ocid1.tenancy.oc1..xxx"
+ id = "ocid1.availabilitydomain.yyy"
+ name = "QnsC:US-ASHBURN-AD-2"
},
+ {
+ compartment_id = "ocid1.tenancy.oc1..xxx"
+ id = "ocid1.availabilitydomain.zzz"
+ name = "QnsC:US-ASHBURN-AD-3"
},
]
You can apply this plan to save these new output values to the Terraform state, without changing any real
infrastructure.
- Si stanno recuperando i dati, quindi il piano mostra che si stanno aggiungendo solo output. Non stai aggiungendo, modificando o distruggendo alcuna risorsa.
- Il file
output.tf
viene utilizzato al posto dell'opzione-out
, pertanto è possibile ignorare il messaggio seguente:Note: You didn't use the -out option to save this plan, so Terraform can't guarantee to take exactly these actions if you run "terraform apply" now.
Complimenti. Il tuo account Oracle Cloud Infrastructure ora può autenticare gli script del provider Terraform di Oracle Cloud Infrastructure.
Riferimenti:
Durante l'esecuzione degli script Terraform potrebbero verificarsi i seguenti messaggi di errore.
401 Errori - (Errore del servizio:NotAuthenticated)
Una delle seguenti variabili ha un valore errato:
- OCID tenancy
- OCID utente
- Impronta
- Chiave privata RSA (il percorso o la chiave)
Impossibile creare il client, configurazione errata: configurazione non corretta per la chiave privata
Gli script Terraform non sono in grado di trovare la chiave privata RSA.
Host non trovato
L'identificativo dell'area contiene un valore errato.
Query sui package di provider disponibili non riuscita
Se ti trovi su una VPN, controlla le impostazioni proxy.
Pagina successiva
Per la prossima esercitazione su Terraform: Introduzione, andare a:
Per ulteriori informazioni sullo sviluppo con i prodotti Oracle, visitare i seguenti siti: