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.
Usa regola servizio eventi OCI per aggiornare i record DNS tra più aree per una zona privata con funzioni OCI
Introduzione
In questa esercitazione verrà descritto come aggiornare automaticamente i record DNS (Domain Name System) per le istanze di computazione in una zona privata in entrambe le aree quando viene creata una nuova istanza di computazione o quando viene spostata durante uno scenario di switchover in un piano Oracle Cloud Infrastructure Full Stack Disaster Recovery (OCI Full Stack DR). Questa esercitazione descrive due servizi OCI specifici.
-
Regola del servizio OCI Events: servizio che attiva le risposte automatiche alle modifiche e agli eventi all'interno dell'ambiente OCI.
-
Funzioni OCI: un servizio di elaborazione serverless che consente di eseguire il codice in risposta agli eventi senza gestire l'infrastruttura.
Questo caso d'uso è stato inizialmente previsto per l'uso durante un piano di switchover OCI Full Stack DR, in cui le istanze vengono spostate tra le aree. In sostanza, il processo di switchover di Disaster Recovery (DR) implica la creazione di una nuova istanza nella nuova area e quindi l'interruzione dell'istanza nell'area precedente. In base a questo scenario, questa esercitazione si concentra sul tipo di evento Avvia - Fine istanza, che attiva un'infrastruttura OCI Functions per aggiornare i record DNS per le zone private in entrambe le aree.
Questa soluzione può anche fungere da automazione predefinita delle zone private DNS OCI. Crea un record DNS per ogni nuova istanza creata nel compartimento selezionato o per qualsiasi altro filtro specificato per identificare le istanze di destinazione. Per ulteriori informazioni, vedere Servizi che producono eventi.
Architettura di alto livello
Nota:
Questo tutorial è progettato esclusivamente per scopi educativi e di studio. Fornisce un ambiente per gli studenti di sperimentare e acquisire esperienza pratica in un ambiente controllato. È fondamentale notare che le configurazioni e le pratiche di sicurezza utilizzate in questo tutorial potrebbero non essere adatte per scenari reali.
Le considerazioni sulla sicurezza per le applicazioni del mondo reale sono spesso molto più complesse e dinamiche. Pertanto, prima di implementare una delle tecniche o configurazioni qui dimostrate in un ambiente di produzione, è essenziale condurre una valutazione e un riesame completi della sicurezza. Questa revisione dovrebbe comprendere tutti gli aspetti della sicurezza, tra cui il controllo dell'accesso, la crittografia, il monitoraggio e la conformità, per garantire che il sistema sia allineato alle politiche e agli standard di sicurezza dell'organizzazione.
La sicurezza dovrebbe sempre essere una priorità assoluta quando si passa da un ambiente di laboratorio a un'implementazione reale.
Obiettivi
-
Impostare una regola del servizio eventi OCI per attivare le funzioni OCI fornite. Questa funzione aggiornerà un record di zona privata DNS in due aree ogni volta che viene creata una nuova istanza nel compartimento selezionato.
Nota: questa esercitazione non tratterà l'impostazione di OCI Full Stack DR. Invece, si concentrerà sull'automazione della zona privata DNS in due o più aree. Per ulteriori informazioni, vedere Usa il servizio OCI Full Stack Disaster Recovery con i domini Oracle WebLogic Server.
Prerequisiti
-
OCI Environment
-
Account OCI con autorizzazioni di amministratore.
-
Compartimento per creare le risorse.
Nota: prendere nota del nome e dell'ID compartimento del compartimento.
-
Lista di OCID (Oracle Cloud Identifier) della zona privata DNS OCI in cui le istanze appena avviate avranno un record DNS in ogni area che potrebbe essere necessaria. In questa esercitazione sono disponibili due zone private DNS: una per l'area GRU e una per l'area VCP.
-
-
Ambiente computer locale
-
Impostare l'interfaccia della riga di comando di Oracle Cloud Infrastructure (OCI CLI) locale. Per ulteriori informazioni, vedere Installazione dell'interfaccia CLI OCI.
-
Docker locale per poter creare immagini. Se utilizzi Oracle Linux, consulta Docker: Installa Docker su Oracle Linux 8 (OL8).
-
CLI Fn Project locale per distribuire la funzione in OCI. Per ulteriori informazioni, vedere Installazione dell'interfaccia CLI di Fn Project.
-
Task 1: Impostazione dei gruppi dinamici
Andare al dominio, fare clic su Gruppi dinamici e creare i gruppi riportati di seguito.
Nome gruppo dinamico: MyFunctions
.
ALL {resource.type = 'fnfunc', resource.compartment.id = 'pasteYourCompartmentOCID'}
Task 2: Creare criteri
Andare a Criteri e creare i criteri riportati di seguito.
Nome criterio: FunctionsPolicies
.
Allow dynamic-group MyFunctions to read repos in compartment YOUR-COMPARTMENT-NAME
Allow dynamic-group MyFunctions to use instance-family in compartment YOUR-COMPARTMENT-NAME
Allow dynamic-group MyFunctions to read app-catalog-listing in compartment YOUR-COMPARTMENT-NAME
Allow dynamic-group MyFunctions to use volume-family in compartment YOUR-COMPARTMENT-NAME
Allow dynamic-group MyFunctions to use virtual-network-family in compartment YOUR-COMPARTMENT-NAME
Allow dynamic-group MyFunctions to manage dns-records in compartment YOUR-COMPARTMENT-NAME
Allow dynamic-group MyFunctions to use dns-zones in compartment YOUR-COMPARTMENT-NAME
Task 3: Crea OCI Container Registry
-
Andare a Servizi sviluppatore, fare clic su Container di registro e creare un repository privato per l'immagine Fn.
Nome repository:
lab/fnpy-event-dns-update
. -
Controllare i repository e prendere nota dello spazio di nomi.
-
Aprire la shell del terminale in cui sono installate l'interfaccia CLI OCI e Docker ed eseguire il login al registro. Controllare l'URL corretto per la propria area. In questa esercitazione viene utilizzata l'area Brasile orientale (San Paolo) in cui l'URL del registro è
gru.ocir.io
.docker login gru.ocir.io Username: <your container namespace>/youruser Password: YOUR_AUTH_TOKEN_CREATED_EARLIER
Task 4: creare le funzioni OCI Python per aggiornare il DNS nelle zone private
-
Andare a OCI Console e fare clic su Servizi per sviluppatori. In Funzioni, fare clic su Applicazioni e su Crea applicazione.
-
Creare la configurazione per le zone private DNS OCI interessate.
Nota: questa variabile di configurazione specifica gli OCID delle zone private da aggiornare. È possibile elencare più OCID, separati da virgole.
Nome segreto Valore TARGET_ZONES_OCID Impostare la lista di OCID zone PRIVATE come separati da virgole In questa esercitazione verranno impostate due zone private: una per l'area GRU e una per l'area VCP.
Esempio:
ocid1.dns-zone.oc1.sa-saopaulo-1.xxxx
ocid1.dns-zone.oc1.sa-vinhedo-1.xxx
-
Andare alla shell del terminale in cui sono installati Docker, CLI OCI, CLI Fn Project ed eseguire i comandi riportati di seguito per inizializzare la funzione.
Nota: se sono stati eseguiti i task, il comando di login Docker è già stato eseguito, in caso contrario, procedere con il task 3.3 di login Docker.
mkdir lab cd lab fn create context oci-cloud --provider oracle fn use context oci-cloud fn update context oracle.compartment-id PASTE_YOUR_COMPARTMENT_OCID fn update context api-url https://functions.sa-saopaulo-1.oraclecloud.com fn update context registry gru.ocir.io/PASTE_YOUR_REGISTRY_NAMESPACE/lab fn init --runtime python fnpy-event-dns-update cd fnpy-event-dns-update ls -lrt
Nota: in questa esercitazione viene utilizzata l'area Est del Brasile (San Paolo). Se si utilizza un'area diversa, è necessario modificare le posizioni
api-url
eregistry
.Il comando
init
creerà una funzione hello world sufunc.py
. Questo codice verrà sovrascritto. -
Ottenere il codice di esempio della funzione Python da qui: fnpy-event-dns-update.zip, decomprimerlo e sovrascrivere i file durante il comando
init
.-
Copiare il file zip nella directory di laboratorio in cui è stato eseguito il comando
fn init
e verificare la presenza dei file nella directory.ls -lrt
-
Decomprimere il file e sovrascrivere i file esistenti.
unzip fnpy-event-dns-update.zip
-
-
Creare il nuovo codice e distribuire la funzione.
ls -lrt fn deploy --app MyApp
Task 5: creare la regola del servizio OCI Events
-
Andare alla console OCI e fare clic su Osservabilità e gestione. In Servizio eventi, selezionare Regole e fare clic su Crea regola.
-
Immettere le informazioni riportate di seguito.
- Nome: immettere
MyAutoDNSRule
. - Condizioni della regola:
- Condizione 1:
- Condizione: selezionare
Event Type
. - Nome servizio: selezionare
Compute
. - Tipo di evento: selezionare
Instance - Launch End
.
- Condizione: selezionare
- Condizione 2:
- Condizione: selezionare
Attribute
. - Nome attributo: selezionare
compartmentId
. - Valori attributo: immettere l'OCID del compartimento.
- Condizione: selezionare
- Condizione 1:
- Azioni:
- Tipo di azione: selezionare
Functions
. - Compartimento di funzione: selezionare il compartimento.
- Applicazione funzione: selezionare
MyApp
. - Funzione: selezionare
fnpy-event-dns-update
.
- Tipo di azione: selezionare
Nota: in questo esempio le istanze vengono filtrate in base a compartmentID, ovvero qualsiasi istanza appena avviata in tale compartimento attiverà la funzione selezionata. È possibile specificare filtri e condizioni diversi in base alle proprie esigenze.
- Nome: immettere
Task 6: Convalida la soluzione
In questa esercitazione sono state stabilite zone private DNS sia nelle aree GRU che VCP e sono stati documentati gli OCID per ogni zona privata DNS. Questi OCID verranno utilizzati per configurare le funzioni OCI.
-
Assicurarsi che le funzioni OCI siano disponibili e abilitarne il log.
-
Andare a OCI Console e fare clic su Servizi per sviluppatori. In Funzioni, fare clic su Applicazioni e selezionare l'applicazione creata
MyApp
. -
Fare clic su Log e selezionare Abilita log.
-
-
Controllare le zone private DNS correnti. In entrambe le aree è stato impostato un dominio denominato
UBUNTUAPPS.COM
, come mostrato nelle immagini seguenti. -
Crea una nuova istanza di computazione per simulare uno switchover OCI Full Stack DR. Questa operazione attiverà l'evento
Instance Launch - END
, che richiamerà quindi le funzioni OCI per aggiornare la zona privata DNS in entrambe le aree. -
Dopo aver creato l'istanza, verificare che la zona privata DNS sia stata aggiornata correttamente in entrambe le aree.
-
Rivedere i log di OCI Functions per verificare i dettagli della funzione eseguita.
Collegamenti correlati
Conferme
- Autore - Joao Tarla (Solution Engineer Oracle LAD A-Team)
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.
Use OCI Events Service Rule to Update Cross Region DNS Records for a Private Zone with OCI Functions
G11040-01
July 2024