Nota
- Questa esercitazione richiede l'accesso a Oracle Cloud. Per iscriverti a un account gratuito, consulta Inizia a utilizzare Oracle Cloud Infrastructure Free Tier.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti di Oracle Cloud Infrastructure. Al termine del laboratorio, sostituisci questi valori con quelli specifici del tuo ambiente cloud.
QuickStart Oracle Database@Azure con moduli Terraform o OpenTofu
Introduzione
Oracle Database@Azure è un servizio Oracle Database in esecuzione su Oracle Cloud Infrastructure (OCI), situato nei data center Microsoft e che consente di utilizzare i servizi Oracle Database con la connessione più rapida alle risorse Azure. L'onboarding multicloud prevede più passaggi per navigare tra il portale OCI e Microsoft Azure. Questa esercitazione spiega come semplificare il processo di provisioning sfruttando l'implementazione di riferimento dei moduli e dei modelli Terraform o OpenTofu, disponibili nel repository GitHub dell'area di destinazione multicloud OCI per Microsoft Azure: terraform-OCI-multicloud-azure.
Processo di provisioning
Una volta completato l'acquisto del servizio, puoi iniziare a semplificare il processo di provisioning con Terraform o OpenTofu.
Esistono più passi che un'organizzazione deve eseguire per acquistare, configurare e utilizzare il servizio nel proprio ambiente Azure. A seconda della configurazione, dei criteri e delle procedure di Azure dell'organizzazione, è possibile utilizzare alcuni o tutti i passi descritti nella figura riportata di seguito. Il diagramma riportato di seguito illustra le opportunità per Terraform o OpenTofu di semplificare il processo di provisioning, eliminando i passi manuali eseguiti nel portale Azure e nella console OCI.
Per iniziare rapidamente a utilizzare i modelli e i moduli Terraform, in genere è necessario eseguire questi task di alto livello.
Obiettivi
- Avvio rapido di Oracle Database@Azure con moduli Terraform o OpenTofu
Prerequisiti
- Accertarsi che nell'ambiente in uso sia installato il software necessario. Oltre a Terraform o OpenTofu e all'interfaccia CLI di Azure/OCI, al momento sarà necessario Python per le operazioni non supportate dai provider Terraform.
Task 1: fork e clonare il repository GitHub
Duplica il repository terraform-oci-multicloud-azure e vai alla directory di modelli appropriata per iniziare. In alternativa, puoi forkare prima la copia, il che ti consente di sincronizzarla con gli ultimi aggiornamenti in un secondo momento oppure, facoltativamente, contribuire agli aggiornamenti tramite una richiesta Pull.
Task 2: inizializzare Terraform
Eseguire terraform init
o tofu init
nel terminale per impostare l'ambiente Terraform locale. In alternativa, è possibile configurare Terraform con stato remoto facendo riferimento alle documentazioni di Terraform, OCI o Azure per ulteriori dettagli.
Task 3: configurare le variabili Terraform necessarie
Ogni directory template contiene un file terraform.tfvars.template
che semplifica l'inserimento delle variabili di input richieste. È possibile utilizzarlo per costruire il proprio file di definizione delle variabili (ad esempio, terraform.tfvars
) o in alternativa utilizzare altri metodi (ad esempio, variabili di ambiente con prefisso TF_VAR_
o CLI terraform con parametri -var
) per impostare le variabili richieste.
Task 4: autenticazione in Azure e OCI
Alcuni modelli terraform utilizzano sia i provider terraform OCI che Azure. È necessario eseguire il login a ciascun ambiente prima del provisioning.
-
Autenticazione OCI
Il provider Terraform OCI supporta più metodi di autenticazione. Per ulteriori informazioni, vedere Configurazione del provider.
Si consiglia di configurare il provider Terraform OCI utilizzando l'autenticazione tramite chiave API. Per ulteriori informazioni, vedere Autenticazione della chiave API.
export TF_VAR_oci_tenancy_ocid="OCID of the OCI tenancy" export TF_VAR_oci_user_ocid="<OCID of the OCI user>" export TF_VAR_oci_private_key_path="<path (including filename) of the private key>" export TF_VAR_oci_fingerprint="<Key's fingerprint>"
È possibile verificare la configurazione utilizzando l'interfaccia CLI OCI.
export OCI_CLI_TENANCY=$TF_VAR_oci_tenancy_ocid export OCI_CLI_USER=$TF_VAR_oci_user_ocid export OCI_CLI_FINGERPRINT=$TF_VAR_oci_fingerprint export OCI_CLI_KEY_FILE=$TF_VAR_oci_private_key_path oci iam tenancy get --tenancy-id $TF_VAR_oci_tenancy_ocid --output table --query "data.{Name:name, OCID:id}" --auth api_key
-
Autenticazione Azure
È possibile eseguire l'autenticazione in Azure con il principal del servizio e verificarlo con l'interfaccia CLI di Azure. Per ulteriori informazioni, vedere Authenticate Terraform to Azure.
export ARM_CLIENT_ID="<service_principal_appid>" export ARM_CLIENT_SECRET="<service_principal_password>" export ARM_TENANT_ID="<azure_subscription_tenant_id>" export ARM_SUBSCRIPTION_ID="<azure_subscription_id>" az login --service-principal -u $ARM_CLIENT_ID -p $ARM_CLIENT_SECRET -t $ARM_TENANT_ID az account show -o table
Task 5: rivedere e applicare il piano Terraform
Dopo aver configurato le variabili e l'autenticazione, eseguire terraform plan
o tofu plan
per esaminare le modifiche. Una volta soddisfatto del piano, procedere eseguendo terraform apply
o tofu apply
per eseguire il provisioning delle configurazioni.
Modelli Terraform
Nella tabella riportata di seguito vengono descritti i modelli Terraform disponibili, le operazioni eseguite e il provider Terraform su cui si basano. Puoi utilizzarli singolarmente in base alla tua situazione e personalizzarli ulteriormente con OCI Landing Zone e Azure Verified Modules (AVM) per una configurazione più complessa. Per ulteriori informazioni sugli scenari di utilizzo delle linee guida congiunte di Microsoft e HashiCorp di AzureRM e AzAPI, vedere Sblocco del meglio di Azure con i provider AzureRM e AzAPI.
Exadata e Autonomous Database
Identità
-
Modello Terraform per impostare la federazione SSO tra OCI e Azure
-
Modello Terraform per impostare la federazione RBAC e SSO tra OCI e Azure
Passi successivi
Questa esercitazione spiega come utilizzare Terraform o OpenTofu nel provisioning dei servizi Oracle Database@Azure. Consulta la sezione Collegamenti correlati per i dettagli su Oracle Database@Azure, sull'impegno nell'automazione e molto altro ancora.
Facci sapere se hai bisogno di funzionalità o miglioramenti creando un problema GitHub nel nostro repository o interagisci con il nostro forum multicloud OCI. Siamo desiderosi di supportare il tuo caso d'uso in ogni fase del percorso.
Collegamenti correlati
conferme
-
Autore - Steven Chan (Senior Principal Product Manager, OCI Multicloud)
-
Contributori - Anwar Belayachi (Senior Principal Solution Architect, OCI Multicloud), John Wargo (Principal Product Manager), Partha Srinivasan (Principal Product Manager), Wei Han (Principal Product Manager)
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti gratuiti sulla formazione su Oracle Learning YouTube channel. Inoltre, visita education.oracle.com/learning-explorer per diventare un Oracle Learning Explorer.
Per la documentazione del prodotto, visita l'Oracle Help Center.
QuickStart Oracle Database@Azure with Terraform or OpenTofu Modules
G13124-02
November 2024