Indice dei contenuti dell'articolo:
Un TTL (o Time to Live) è un’impostazione cruciale in ogni record DNS che può fare la differenza in alcuni casi tra la vita e la morte, eppure se ne parla raramente.
Se sei anche tu colpevole di utilizzare il TTL predefinito per i tuoi record, devi leggere questo.
Significato TTL
Il TTL dice ai server dei nomi per quanto tempo devono essere memorizzate nella cache le informazioni DNS. I server dei nomi di risoluzione sono come gli intermediari dello scambio DNS. Quando inserisci un dominio nel tuo browser, in realtà stai chiedendo al tuo server dei nomi di risoluzione locale l’indirizzo IP di quel dominio.
Time to Live (TTL) è la quantità di tempo in cui un record viene memorizzato nella cache in un resolver quando viene interrogato il record. Viene misurato in secondi ed è impostato all’interno di ogni record nella configurazione DNS. In altre parole, TTL è un valore che indica al risolutore DNS per quanto tempo deve persistere la cache prima di richiederne una nuova.
Esempio : se il TTL per un record è impostato su 86.400 secondi (24 ore), il server raccoglierà le informazioni per visualizzare i dettagli aggiornati per quel particolare record in 24 ore e non reinterrogherà il server DNS prima che siano scadute 24 ore.
Perché il TTL è importante?
Per i record di base A e CNAME, probabilmente non ti imbatterai in scenari in cui i tempi TTL causano problemi. Tuttavia, una volta che inizi a modificare dinamicamente gli endpoint come il failover, il TTL diventa molto importante.
Ad esempio, supponiamo che l’indirizzo IP primario per il dominio che stiamo cercando non sia disponibile. Questo dominio ha anche abilitato il failover, che indirizzerà gli utenti a un indirizzo IP di backup quando il primario è inattivo.
Questo potrebbe essere gestito in due modi. Se il record ha un TTL elevato, gli utenti verranno comunque indirizzati all’indirizzo IP primario fino alla scadenza della cache del resolver. Se il record ha un TTL basso, è più probabile che venga puntato prima all’endpoint corretto.
Ma facciamo un esempio forse più eloquente e di facile comprensione.
Immaginiamo che tu abbia registrato il dominio pippo.it su FORNITORE 1 e tu abbia il servizio di Hosting Web e Mail separato su un server in gestione da FORNITORE 2.
Immaginiamo ora, come è successo a Marzo 2021 che il datacenter del FORNITORE 2 vada a fuoco in maniera gravissima tanto da risultare distrutto.
Immaginiamo che tu sia una persona scaltra e che faccia backup automatici su un server esterno che chiameremo FORNITORE 3.
I dati del backup sono integri e salvi dunque.
Per ripartire velocemente, molto probabilmente andrai da FORNITORE 3 (Quello dove è il backup) e chiederai di noleggiare un server dove andrai a fare il restore del backup dei file e del database. Importerai la configurazione del webserver, i certificati SSL e ti rimane solo di Puntare i record DNS del dominio con il www e senza il www verso L’IP del nuovo server sul FORNITORE 3.
Un gioco da ragazzi.
Ti logghi nel pannello di controllo della gestione dominio, ti sposti nella zona DNS dove sono memorizzate le informazioni e trovi un record di default impostato a 640800.
640800 cosa ? Secondi !
Ovvero una settimana.
Tu inserisci il valore del nuovo IP del server sul FORNITORE 3 dove hai fatto il restore del backup e prima che il mondo venga informato del nuovo IP passerà fino ad una settimana perchè i nameserver hanno avuto come direttiva quella di considerare buona l’informazione DNS recuperata per una settimana.
Ovvio, se un nameserver di un fornitore (facciamo per esempio Google) è passato 2 giorni fa, il tempo da aspettare non sarà più una settimana, ma 5 giorni, ma comunque è lecito e corretto dire che con un TTL di 640800 ci si aspetta una propagazione DNS in una settimana così come un TTL a 86400 secondi ci si aspetta la propagazione entro 24 ore e via dicendo.
Se il valore fosse stato ad esempio a 900 secondi, il sito sul nuovo server del FORNITORE 3 sarebbe tornato visibile entro un tempo massimo di 15 minuti.
DNS TTL e migliori impostazioni
Una delle domande più comuni che ci vengono poste è: “Quali sono le migliori impostazioni per il Time To Live ?” Poiché la risposta non è sempre semplice per tutti gli scenari. Abbiamo compilato alcune best practice per aiutarti a determinare quale impostazione è più appropriata per il tuo dominio.
Valori TTL elevati consigliati
I valori TTL elevati vengono in genere utilizzati per i record che cambiano raramente, come i record MX o TXT. TTL più lunghi riducono i tempi di risoluzione poiché ogni volta che un server dei nomi autorevole fornisce una risposta a una query, si ottiene una ricerca aggiuntiva. Un TTL elevato fornisce risposte più rapide per più risorse statiche archiviando le informazioni localmente prima di doverle recuperare di nuovo.
Esempio TTL
Se hai il record A www.example.com che punta all’indirizzo IP 2.2.2.2 e un TTL impostato su 86.400 (24 ore), quando il client A interroga www.example.com , l’IP 2.2.2.2 verrà memorizzato nel suo cache per un’intera giornata. Il cliente A non effettuerà un’altra query per www.example.com poiché il suo resolver sa già a quale IP andare e per quanto tempo. Se l’IP per quel record A viene modificato in 3.3.3.3, il Cliente A continuerà a passare a 2.2.2.2 per le 23 ore successive alla visita iniziale fino a quando il TTL non arriva a 0. A questo punto, il record scade e un è possibile eseguire una nuova query su tale FQDN. Quindi, il Cliente A verrà indirizzato a 3.3.3.3. alla loro prossima domanda.
Nota : se è necessario apportare modifiche quando si utilizzano valori TTL elevati, sarà necessario abbassare il TTL e attendere la scadenza della cache prima di poter apportare modifiche. Ciò eliminerà la necessità di attendere la scadenza del record.
Valori TTL bassi consigliati
Le risorse che richiedono aggiornamenti frequenti richiedono un valore TTL basso. Un tempo di cache inferiore è inoltre essenziale per le modifiche al sito Web e alla rete. I servizi di gestione DNS, come Failover e Load Balancing, richiedono un TTL basso per poter indirizzare gli utenti finali all’IP aggiornato. In caso di picchi di traffico imprevisti, le query non possono essere inviate all’IP aggiornato fino alla scadenza della cache, lasciando inefficaci i servizi di gestione DNS durante i periodi critici. Un TTL più breve è il rimedio per questo tipo di situazioni.
Nota : bassi TTL sono consigliati per i record critici. Un buon intervallo potrebbe essere compreso tra 30 secondi e 300 secondi (5 minuti) .
Se un TTL è impostato su 30 secondi per adattarsi a frequenti modifiche al DNS, l’esperienza dell’utente finale è minimamente influenzata e ti offre la massima flessibilità. Anche se questo può sembrare l’ideale, se un utente visita frequentemente il tuo sito in un giorno, esegue una query sul record www.example.com ogni 30 secondi circa e quando lo moltiplichi per il numero di utenti, il conteggio delle query aumenta, che può comportare costi maggiori.
Logica TTL
La regola empirica per l’impostazione dei valori TTL per i record non critici che potrebbero richiedere modifiche nel prossimo futuro consiste nel considerare un TTL più breve. Tuttavia, non vuoi nemmeno pagare per il maggior numero di query fornite da TTL inferiori, quindi un TTL di appena 30 secondi, o anche mezz’ora, non è la migliore risoluzione. In questo caso, vorrai utilizzare un TTL più lungo da 1 a 12 ore .
Puoi regolare il tuo TTL per adattarlo alle esigenze di accessibilità dei tuoi utenti finali.
Casi d’uso TTL più comuni
I seguenti casi d’uso includono le risposte del nostro team di supporto per aiutarti con i migliori valori TTL per il tuo dominio.
Scenario : utilizzo il failover e ho bisogno del minor tempo di inattività possibile. Quale TTL devo impostare?
Risposta : se la disponibilità del tuo FQDN è assolutamente indispensabile, il failover è un must ma richiede un TTL basso per funzionare nel modo desiderato. Il failover non può ignorare in alcun modo i TTL. Se hai un TTL di 1800 (secondi) per il tuo record di failover e fallisce sul secondo IP, gli utenti non verranno indirizzati all’IP aggiornato per un massimo di 30 minuti (fino alla scadenza della cache nel resolver). Con questo in mente, vorrai impostare un TTL basso e più basso è, meglio è. Detto questo, molti resolver non riconosceranno TTL inferiori a 30 secondi, ma puoi sempre fare un record di test per scoprire se il tuo resolver consente TTL inferiori a 30 secondi.
Scenario : questo record non necessita di failover, ma apportiamo alcune modifiche.
Risposta : se il record in questione non è mission-critical ma viene aggiornato di tanto in tanto, un TTL più alto è la strada da percorrere. La domanda di follow-up più comune è “e quando devo fare un cambiamento?” e la risposta è pianificare l’aggiornamento. Supponiamo che tu abbia il TTL impostato su 7200 (2 ore), una volta che sai di voler effettuare l’aggiornamento, riduci il TTL per quanto tempo ti senti a tuo agio con i tempi di inattività (30 secondi è il minimo che consigliamo) e quindi attendi il TTL- in questo caso, aspetteresti due ore. Trascorse due ore, puoi modificare il record e ripristinare il valore TTL iniziale.
Comprensione del tempo di vita (time to live) per il perfezionamento della strategia DNS
La bellezza del Time To Live è poter personalizzare completamente i valori per adattarli al meglio alle esigenze del tuo dominio. Comprendere TTL e come usarlo in modo efficace ti assicurerà di massimizzare la tua strategia DNS.
Una regola per vivere felici con i DNS
Una regola semplice per vivere sereni con i Time To Live dei DNS è quella che recita “non troppo, non troppo poco. Il Giusto”. Ovvero comprendere che un valore troppo elevato del TTL possa essere assolutamente CATASTROFICO in alcune condizioni in cui si ha necessità di switchare velocemente l’IP ad esempio verso un nuovo server, un nuovo fornitore, una nuova struttura (magari perchè si sta diventando vittime di attacchi DDoS ad esempio), ed allo stesso tempo comprendere che può essere paranoico impostare un TTL a 10 secondi a meno che effettivamente non possiamo tollerare nemmeno un minuto di downtime.
Ammesso che non siate realtà come Top Fortune 500, in cui un minuto di Down può significare milioni di euro di danni, un valore ragionevole e pacifico per la quasi totalità della popolazione e delle realtà è di impostarlo tra un range che vai dai 5 ai 15 minuti.
Con questa “regola” magari non farete la migliore scelta ma SICURAMENTE non farete la peggiore.