Automatizza le voci della zona privata DNS con le funzioni OCI

In alcune situazioni, i clienti desiderano personalizzare le impostazioni DNS per una VCN e, invece di oraclevcn.com, utilizzare un dominio diverso per gli host connessi alla VCN. La funzione Zona privata DNS all'interno del servizio DNS di Oracle Cloud Infrastructure (OCI) consente agli utenti di espandere le funzionalità del risolutore DNS VCN incorporato, in modo che possano utilizzare nomi di dominio personalizzati per le risorse all'interno dei VCN. Questa architettura si espande sulla soluzione descritta nel post sul blog Caso d'uso - DNS personalizzato VCN OCI (accessibile dalla sezione Esplora altro, altrove in questa architettura di riferimento) utilizzando eventi e funzioni OCI per automatizzare la gestione delle voci delle zone DNS.

Architettura

Questa architettura descrive come utilizzare le funzioni e gli eventi OCI per popolare automaticamente una zona privata con voci DNS, riducendo la necessità di aggiornamenti manuali e potenziali errori. Successivamente, puoi utilizzare Eventi per acquisire le nuove richieste di creazione delle istanze a livello di compartimento, quindi attivare la funzione Add DNS record per raccogliere i metadati dell'istanza, aggiungere un record DNS alla zona DNS privata e infine confermare l'inserimento dei record aggiornando le tag in formato libero dell'istanza. Quando l'istanza viene interrotta, l'evento attiva la funzione Remove DNS record per eliminare il record DNS associato.

Il diagramma riportato di seguito illustra questa architettura di riferimento.


Segue la descrizione di dns_private_zones.png
Descrizione dell'immagine dns_private_zones.png

dns-private-zones-oracle.zip

Questa architettura contiene i componenti elencati di seguito.
  • Area

    Un'area geografica Oracle Cloud Infrastructure è un'area geografica localizzata che contiene uno o più data center, definiti domini di disponibilità. Le regioni sono indipendenti da altre regioni e grandi distanze possono separarle (in tutti i paesi o anche in continenti).

  • Compartimento

    I compartimenti sono partizioni logiche tra più aree all'interno di una tenancy di Oracle Cloud Infrastructure. Utilizza i compartimenti per organizzare le risorse in Oracle Cloud, controllare l'accesso alle risorse e impostare le quote di utilizzo. Per controllare l'accesso alle risorse in un determinato compartimento, definisci i criteri che specificano chi può accedere alle risorse e quali azioni può eseguire.

  • Domini di disponibilità

    I domini di disponibilità sono data center standalone indipendenti all'interno di un'area geografica. Le risorse fisiche in ciascun dominio di disponibilità sono isolate dalle risorse presenti negli altri domini di disponibilità, che offrono tolleranza agli errori. I domini di disponibilità non condividono l'infrastruttura, ad esempio l'alimentazione, il raffreddamento o la rete interna del dominio di disponibilità. È pertanto improbabile che l'eventuale guasto di un dominio di disponibilità influenzi gli altri domini di disponibilità nell'area.

  • Rete cloud virtuale (VCN) e subnet

    Una VCN è una rete personalizzabile e definita dal software configurata in un'area Oracle Cloud Infrastructure. Analogamente alle reti di data center tradizionali, i VCN offrono il controllo completo sull'ambiente di rete. Una VCN può avere più blocchi CIDR non sovrapposti che puoi modificare dopo aver creato la VCN. Puoi segmentare una VCN nelle subnet che possono essere definite nell'area o in un dominio di disponibilità. Ogni subnet è composta da un intervallo contiguo di indirizzi che non si sovrappongono alle altre subnet nella VCN. Puoi modificare le dimensioni di una subnet dopo la creazione. Una subnet può essere pubblica o privata. Lista di sicurezza Per ogni subnet, puoi creare regole di sicurezza che specificano l'origine, la destinazione e il tipo di traffico che deve essere consentito all'interno e all'esterno della subnet.

  • Gateway NAT

    Il gateway NAT consente alle risorse private di una VCN di accedere agli host su Internet, senza esporre tali risorse alle connessioni Internet in entrata.

  • Gateway del servizio

    Il gateway di servizi fornisce l'accesso da una VCN ad altri servizi, come Oracle Cloud Infrastructure Object Storage. Il traffico dalla VCN al servizio Oracle viaggia sulla struttura di rete Oracle e non attraversa mai Internet.

  • Zona DNS privata

    Il DNS privato consente di utilizzare i nomi di dominio DNS privato e di gestire in modo completo le zone e i record associati per garantire la risoluzione dei nomi host per le applicazioni in esecuzione all'interno e tra le reti cloud virtuali (VCN), nonché per la rete on premise o privata.

  • Eventi Oracle Cloud Infrastructure Events

    Gli eventi OCI consentono di creare l'automazione in base alle modifiche di stato delle risorse in tutta la tenancy. Gli eventi emessi possono essere filtrati mediante regole e quindi elaborati nell'ambito di un'azione in altri servizi OCI (Notifica, Streaming, Funzioni).

  • Oracle Functions

    Con Oracle Functions, gli sviluppatori possono sfruttare una piattaforma completamente gestita, multi-tenant, altamente scalabile, on-demand e Functions-as-a-Service per scrivere ed eseguire il codice nel cloud senza dover gestire l'infrastruttura di base. In questa architettura le funzioni sono Add DNS record e Remove DNS record.

  • VCN DNS Resolver

    Il resolver DNS VCN consente alle istanze collegate alla VCN di risolvere i nomi host (che puoi assegnare) di altre istanze nella stessa VCN. Puoi estendere le funzionalità predefinite del resolver DNS VCN collegando le zone private alla vista privata della VCN.

Suggerimenti

Utilizzare i suggerimenti riportati di seguito come punto di partenza per automatizzare le voci della zona privata DNS con le funzioni OCI. I requisiti potrebbero essere diversi dall'architettura descritta qui.
  • VCN

    Quando crei una rete VCN, determina il numero di blocchi CIDR necessari e la dimensione di ogni blocco in base al numero di risorse che intendi collegare alle subnet nella VCN. Usa blocchi CIDR che si trovano nello spazio di indirizzi IP privati standard.

    Selezionare i blocchi CIDR che non si sovrappongono ad altre reti (in Oracle Cloud Infrastructure, nel data center on premise o in un altro provider cloud) a cui si intende impostare connessioni private.

    Dopo aver creato una VCN, puoi modificarne, aggiungere e rimuovere i blocchi CIDR.

    Quando si progettano le subnet, tenere in considerazione il flusso di traffico e i requisiti di sicurezza. Collegare tutte le risorse all'interno di un livello o ruolo specifico alla stessa subnet, che può essere utilizzata come limite di sicurezza.

    Utilizzare le subnet regionali.

  • Sicurezza

    Utilizza Oracle Cloud Guard per monitorare e mantenere la sicurezza delle tue risorse in Oracle Cloud Infrastructure in modo proattivo. Cloud Guard utilizza le ricette del rilevatore che è possibile definire per esaminare le risorse ai fini delle carenze di sicurezza e per monitorare operatori e utenti per le attività a rischio. Quando viene rilevata un'attività di configurazione errata o non sicura, Cloud Guard consiglia azioni correttive e assiste l'esecuzione di tali azioni, in base alle ricette del rispondente che è possibile definire.

    Per le risorse che richiedono una maggiore sicurezza, Oracle consiglia di utilizzare le zone di sicurezza. Una zona di sicurezza è un compartimento associato a una ricetta dei criteri di sicurezza definita da Oracle basata sulle migliori prassi. Ad esempio, le risorse in una zona di sicurezza non devono essere accessibili dalla rete Internet pubblica e devono essere cifrate utilizzando chiavi gestite dal cliente. Quando crei e aggiorni le risorse in una zona di sicurezza, Oracle Cloud Infrastructure convalida le operazioni rispetto ai criteri nella ricetta della zona di sicurezza e nega le operazioni che violano uno qualsiasi dei criteri.

  • Cloud Guard

    Duplicare e personalizzare le ricette predefinite fornite da Oracle per creare ricette personalizzate di rilevatori e rispondenti. Queste ricette consentono di specificare il tipo di violazione della sicurezza che genera un'avvertenza e quali azioni possono essere eseguite su di esse. Ad esempio, potresti voler rilevare i bucket di storage degli oggetti che hanno visibilità impostata sul pubblico.

    Applica Cloud Guard a livello di tenancy per coprire l'ambito più ampio e ridurre l'onere amministrativo derivante dalla gestione di più configurazioni.

    È inoltre possibile utilizzare la funzione Lista gestita per applicare determinate configurazioni ai rilevatori.

  • Zone di sicurezza

    Le zone di sicurezza applicano le impostazioni di sicurezza nei compartimenti OCI e impediscono azioni che potrebbero indebolire le impostazioni di sicurezza di un cliente. È possibile applicare i criteri delle zone di sicurezza a vari tipi di infrastruttura cloud (rete, computazione, storage, database e così via) per garantire che le risorse cloud rimangano sicure e impedire configurazioni errate della sicurezza.

  • Gruppi di sicurezza di rete (NSG)

    Puoi utilizzare i gruppi NSG per definire un set di regole di entrata e uscita valide per VNIC specifiche. È consigliabile utilizzare i gruppi NSG anziché le liste di sicurezza, perché i gruppi NSG consentono di separare l'architettura della subnet della VCN dai requisiti di sicurezza dell'applicazione. Puoi utilizzare i gruppi NSG per definire un set di regole di entrata e uscita valide per VNIC specifiche. È consigliabile utilizzare i gruppi NSG anziché le liste di sicurezza, perché i gruppi NSG consentono di separare l'architettura della subnet della VCN dai requisiti di sicurezza dell'applicazione.

  • Larghezza di banda del load balancer

    Durante la creazione del load balancer, puoi selezionare una forma predefinita che fornisce la larghezza di banda fissa o specificare una forma personalizzata (flessibile) in cui impostare un intervallo di larghezza di banda e lasciare che il servizio scali automaticamente la larghezza di banda, in base ai pattern di traffico. Mediante entrambi gli approcci, puoi modificare la forma in qualsiasi momento dopo aver creato il load balancer.

Considerazioni

Durante il provisioning dell'infrastruttura, prendi in considerazione quanto riportato di seguito.

  • Distribuzione

    L'utente che distribuisce l'architettura deve disporre dei privilegi di amministrazione.

  • Zona DNS

    La zona DNS configurata deve trovarsi nello stesso compartimento della subnet selezionata.

Distribuisci

Il codice Terraform per questa architettura di riferimento è disponibile come stack di esempio in Oracle Cloud Infrastructure Resource Manager. È inoltre possibile scaricare il codice da GitHub e personalizzarlo in base alle specifiche esigenze.

  • Distribuisci utilizzando lo stack di esempio in Oracle Cloud Infrastructure Resource Manager:
    1. Fare clic su Distribuisci in Oracle Cloud.

      Se non si è già collegati, immettere le credenziali della tenancy e dell'utente.

    2. Selezionare l'area in cui distribuire lo stack.
    3. Seguire i prompt visualizzati e le istruzioni per creare lo stack.
    4. Dopo aver creato lo stack, fare clic su Azioni Terraform e selezionare Pianifica.
    5. Attendere il completamento del job ed esaminare il piano.

      Per apportare eventuali modifiche, tornare alla pagina Dettagli stack, fare clic su Modifica stack e apportare le modifiche necessarie. Eseguire quindi di nuovo l'azione Piano.

    6. Se non sono necessarie ulteriori modifiche, tornare alla pagina Dettagli stack e fare clic su Azioni Terraform e selezionare Applica.
  • Distribuisci utilizzando il codice Terraform in GitHub:
    1. Vai a GitHub.
    2. Duplicare o scaricare il repository sul computer locale.
    3. Seguire le istruzioni riportate nel documento README.

Visualizza altro

Ulteriori informazioni sulle zone private DNS in OCI, vedere le risorse riportate di seguito.

Esaminare le risorse aggiuntive riportate di seguito.

Conferme

Autore: Andrei Ilas