Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Configurazione app di Azure archivia e gestisce centralmente le impostazioni di configurazione dell'applicazione e i flag di funzionalità, che sostituisce i file di configurazione incorporati direttamente all'interno delle applicazioni. Con questo approccio, è possibile aggiornare dinamicamente i valori di configurazione, tenere traccia della cronologia delle versioni e mantenere un record delle modifiche di configurazione nel tempo. La disponibilità e l'affidabilità di Configurazione app sono considerazioni importanti perché il comportamento dell'applicazione può dipendere direttamente dall'accesso ai dati di configurazione in fase di esecuzione.
Quando si usa Azure, reliability è una responsabilità condivisa. Microsoft offre una gamma di funzionalità per supportare resilienza e ripristino. L'utente è responsabile della comprensione del funzionamento di tali funzionalità all'interno di tutti i servizi usati e della selezione delle funzionalità necessarie per soddisfare gli obiettivi aziendali e gli obiettivi di tempo di attività.
Questo articolo descrive l'architettura di affidabilità di App Configuration e il modo in cui il servizio è progettato per rimanere disponibile durante errori temporanei, guasti delle zone di disponibilità e interruzioni regionali.
Raccomandazioni per la distribuzione di produzione per l'affidabilità
Per la maggior parte delle distribuzioni di produzione di App Configuration, seguire le raccomandazioni seguenti:
SKU: Si consiglia di utilizzare lo SKU Standard o Premium.
Eliminazione temporanea e protezione dall'eliminazione: Attivare l'eliminazione temporanea e la protezione dall'eliminazione temporanea per impedire l'eliminazione dei dati.
Per scenari cruciali: Usare lo SKU Premium e configurare la replica inclusa per la replica in più aree. Questo approccio migliora la disponibilità elevata e la resilienza alle interruzioni dell'area.
Per un elenco delle procedure consigliate e della configurazione per i carichi di lavoro di produzione, vedere Creare applicazioni con resilienza elevata.
Panoramica dell'architettura di affidabilità
Quando si distribuisce App Configuration, si distribuisce un archivio. L'archivio contiene vari tipi di impostazioni che l'applicazione può usare, inclusi chiavi e valori e flag di funzionalità. Il servizio include anche funzionalità predefinite per l'organizzazione, la protezione, il controllo delle versioni e l'implementazione sicura delle modifiche di configurazione negli ambienti. Per altre informazioni, vedere Che cos'è Configurazione app?
Configurazione app è un servizio completamente gestito. Microsoft è responsabile dell'esecuzione della manutenzione sul servizio e dell'archiviazione e della gestione delle impostazioni.
Quando si creano applicazioni client che si connettono ad App Configuration, è possibile utilizzare App Configuration con Frontdoor di Azure (anteprima) per abilitare la memorizzazione nella cache e l'accelerazione globale del traffico. Questa configurazione introduce altre considerazioni per la replica geografica, evidenziate in questo articolo, se appropriato.
Resilienza a errori temporanei
Gli errori temporanei sono errori brevi e intermittenti nei componenti. Si verificano spesso in un ambiente distribuito come il cloud e fanno parte delle normali operazioni. Gli errori temporanei si correggono dopo un breve periodo di tempo. È importante che le applicazioni possano gestire gli errori temporanei, in genere ritentando le richieste interessate.
Tutte le applicazioni ospitate nel cloud devono seguire le linee guida per la gestione degli errori temporanei Azure quando comunicano con qualsiasi API, database e altri componenti ospitati nel cloud. Per altre informazioni, vedere Raccomandazioni per la gestione degli errori temporanei.
Quando si usa Configurazione app, prendere in considerazione le procedure consigliate seguenti per ridurre al minimo l'effetto degli errori temporanei sull'accesso alla configurazione, soprattutto all'interno dei percorsi di codice critici.
Provider di configurazione: Usare i provider di Configurazione app, che hanno funzionalità predefinite di ripetizione dei tentativi e memorizzazione nella cache e altre funzionalità di resilienza.
Azure SDK: Usare GLI SDK di Configurazione app se l'applicazione deve inviare richieste di scrittura. Gli SDK riprovano automaticamente alle risposte con codice di stato HTTP 429 e in caso di altri errori temporanei.
Logica di ripetizione dei tentativi: Includere la logica di ripetizione dei tentativi nei client personalizzati se non è possibile usare provider o SDK di Configurazione app. L'intestazione
retry-after-msnella risposta fornisce un tempo di attesa suggerito in millisecondi prima che il client ritenta la richiesta.Memorizzazione nella cache: Impostazioni della cache in memoria quando possibile per ridurre le richieste dirette al negozio.
Per altre indicazioni sulla configurazione dell'applicazione, vedere Domande frequenti su Configurazione app.
Resilienza ai guasti delle zone di disponibilità
Zone di disponibilità sono gruppi fisicamente separati di data center all'interno di un'area Azure. In caso di guasto in una zona, i servizi possono passare a una delle zone restanti.
La configurazione dell'app fornisce automaticamente la ridondanza zonale nelle aree che supportano le zone di disponibilità. Questa ridondanza offre disponibilità elevata all'interno di un'area senza richiedere alcuna configurazione specifica.
Il diagramma mostra le zone di disponibilità 1, 2 e 3. L'archivio App Configuration si estende su tutte e tre le zone dell'area.
Quando una zona di disponibilità non è più disponibile, Configurazione app reindirizza automaticamente le richieste ad altre zone di disponibilità integre per garantire la disponibilità elevata.
Requisiti
Supporto per la regione: Gli archivi distribuiti nelle seguenti regioni sono automaticamente a ridondanza di zona.
| Americhe | Europa | Medio Oriente | Africa | Asia Pacifico |
|---|---|---|---|---|
| Brasile meridionale | Francia centrale | Israel Central | Australia orientale | |
| Canada Central | Germania centro-occidentale | Qatar Central | India centrale | |
| Stati Uniti centrali | Italia settentrionale | Emirati Arabi Uniti settentrionali | Cina settentrionale 3 | |
| Stati Uniti orientali | North Europe | Asia orientale | ||
| Stati Uniti orientali 2 | Norway East | Japan East | ||
| Messico centrale | Poland Central | Korea Central | ||
| Stati Uniti centro-meridionali | Spain Central | Sud-est asiatico | ||
| Governo degli Stati Uniti, Virginia | Svezia centrale | |||
| West US 2 (Regione Ovest degli Stati Uniti 2) | Svizzera settentrionale | |||
| Stati Uniti occidentali 3 | UK South | |||
| West Europe |
Costo
Non ci sono costi aggiuntivi per la ridondanza di zona della configurazione app.
Configurare il supporto delle zone di disponibilità
Microsoft configura automaticamente la ridondanza di zona per un archivio quando si trova in una regione che supporta le zone di disponibilità.
Se Configurazione app aggiunge il supporto della zona di disponibilità a un'area esistente, non è necessario eseguire alcuna azione per trarre vantaggio dal supporto della zona di disponibilità. Il negozio trae vantaggio dal supporto della zona di disponibilità che diventa disponibile per gli archivi di Configurazione app nell'area.
Comportamento quando tutte le zone sono integre
Questa sezione descrive cosa aspettarsi quando si dispone di un archivio di Configurazione app con ridondanza della zona e tutte le zone sono operative.
Operazione tra zone: App Configuration gestisce automaticamente il routing del traffico tra le zone di disponibilità. Durante le normali operazioni, distribuisce in modo trasparente le richieste tra le zone.
Replica dei dati tra zone: Nelle aree che supportano delle zone, App Configuration replica in modo sincrono i dati tra le zone di disponibilità. Questa replica garantisce che le impostazioni rimangano coerenti e disponibili anche se una zona non è più disponibile.
Comportamento durante un errore di zona
Questa sezione descrive cosa aspettarsi quando si dispone di un archivio Configurazione app ridondante per zona e si verifica un'interruzione in una delle zone.
- Rilevamento e risposta: Il servizio Configurazione app rileva i guasti della zona e vi risponde automaticamente. Non è necessario eseguire alcuna attività durante un guasto della zona.
- Notification: Microsoft non invia automaticamente una notifica quando una zona è inattiva. Tuttavia, è possibile usare integrità dei servizi di Azure per comprendere l'integrità complessiva del servizio, inclusi eventuali errori di zona, ed è possibile configurare gli avvisi di integrità del servizio Servizi per segnalare eventuali problemi.
Richieste attive: Durante un errore di zona, la zona interessata potrebbe non riuscire a gestire le richieste in corso, il che richiede alle applicazioni client di ripeterle. Le applicazioni client devono seguire le procedure di gestione degli errori temporanei per assicurarsi che possano ripetere le richieste in caso di errore della zona.
Perdita di dati prevista: Non è prevista alcuna perdita di dati durante un errore di zona a causa della replica sincrona tra le zone.
Tempo di inattività previsto: Non è previsto alcun tempo di inattività.
Ridistribuzione: Configurazione app reindirizza automaticamente il traffico dalla zona interessata alle zone integre senza richiedere alcun intervento da parte del cliente.
Ripristino della zona
Quando una zona non disponibile in precedenza viene ripristinata, Configurazione app ripristina automaticamente le normali operazioni in tutte le zone di disponibilità. Non è necessario eseguire alcuna azione per il recupero da un errore di zona.
Verifica dei guasti di zona
La piattaforma Configurazione app gestisce il routing del traffico, il failover e il ripristino per gli store a ridondanza di zona. Microsoft completamente gestisce questo processo, quindi non è necessario convalidare i processi di errore della zona di disponibilità.
Resilienza agli errori a livello di area
Configurazione app offre funzionalità di replica geografica nativa per supportare la resilienza operativa durante le interruzioni della regione. La replica geografica consente la replica dei dati di configurazione tra aree come funzionalità del servizio gestito.
Replica geografica
Con la replica geografica, è possibile replicare un archivio in più aree Azure. Ogni negozio può avere più repliche in regioni diverse. Il negozio originale è anche una replica. Questa funzionalità consente di proteggere le applicazioni da interruzioni a livello di area.
Requisiti
Region support: È possibile creare repliche in qualsiasi area di Azure supportata da Configurazione app, anche se le aree non sono aree associate di Azure.
Livello: L'archivio di configurazione deve usare un livello supportato per abilitare la replica geografica. Per altre informazioni, vedere Abilitare la replica geografica.
Considerazioni
Quando si abilita la replica geografica, considerare i fattori seguenti:
Repliche a ridondanza di zona: Qualsiasi replica creata in una regione dove la Configurazione delle app supporta le zone di disponibilità è automaticamente ridondante.
Frontdoor di Azure: Per abilitare il recapito della configurazione con ridondanza geografica con Frontdoor di Azure, configura le repliche di App Configuration come origini all'interno di un gruppo di origini. Le origini configurate correttamente sono necessarie per Frontdoor di Azure per effettuare il routing in base allo stato, il bilanciamento dei carichi e il failover automatico tra zone. Per altre informazioni, vedere Metodi di routing del traffico all'origine.
Costo
Ogni area con replica geografica viene fatturata separatamente in base ai prezzi per il rispettivo livello e area geografica. Non sono previsti addebiti di trasferimento dati per la replica interregionale. Per informazioni dettagliate sui prezzi, vedere Prezzi di Configurazione app.
Configurare il supporto per più aree
Per configurare la replica per un archivio di configurazione appena creato, vedere Abilitare la replica geografica.
Comportamento quando tutte le aree sono integre
Questa sezione descrive cosa aspettarsi quando si configura un archivio di configurazione delle applicazioni per la replica geografica e tutte le regioni sono operative.
Operazione tra zone: Ogni replica è indirizzabile singolarmente e ha il proprio nome DNS (Domain Name System). Tutte le repliche possono accettare operazioni di lettura e scrittura.
Configurazione dell'app non instrada automaticamente il traffico tra regioni. Quando si utilizzano i provider di configurazione App Configuration, l'applicazione può facoltativamente utilizzare l'individuazione automatica delle repliche. In alternativa, è possibile specificare un elenco prioritario di repliche e App Configuration seleziona la prima replica funzionante. Questo approccio consente all'applicazione di controllare la replica usata.
Annotazioni
Se si usa Frontdoor di Azure, il comportamento del routing del traffico è diverso. Per altre informazioni, vedere Failover e bilanciamento del carico.
Replica dei dati tra zone: I dati vengono replicati in modo asincrono ed è infine coerente. È possibile usare la metrica replication latency in Monitoraggio di Azure per monitorare la latenza di replica corrente tra le repliche.
Comportamento durante un errore di area
Questa sezione descrive cosa aspettarsi quando si configura un archivio di Configurazione app per la replica geografica e si verifica un'interruzione in una delle aree di replica.
Rilevamento e risposta: Microsoft è responsabile del rilevamento degli errori di area o replica e dell'avvio delle procedure di ripristino.
Quando si usano provider di configurazione App Configuration con l'individuazione automatica delle repliche o un elenco di più repliche, l'applicazione rileva automaticamente gli errori e passa a una replica sana.
Se non si utilizzano i provider di Configurazione app, si è responsabili di passare l'applicazione a una replica sana.
Notification: Microsoft non invia automaticamente una notifica quando un'area è inattiva. Tuttavia, è possibile usare integrità dei servizi di Azure per comprendere l'integrità complessiva del servizio, inclusi gli errori dell'area, ed è possibile configurare gli avvisi di integrità Servizi per notificare eventuali problemi.
Richieste attive: Le richieste attive su una replica nell'area potrebbero non riuscire. Le applicazioni client devono ritentare le richieste su una replica diversa.
Perdita di dati prevista: Se una replica non riesce, le modifiche recenti apportate a tale replica potrebbero non essere ancora replicate in altre repliche. Tali modifiche possono rimanere non disponibili fino a quando la replica non viene ripristinata. Per stimare la potenziale perdita di dati, monitorare la metrica di latenza della replicazione in Monitoraggio di Azure.
Tempo di inattività previsto: Quando una replica non è più disponibile, rimane offline fino al ripristino dell'area. Altre repliche continuano a gestire le richieste. Le applicazioni potrebbero riscontrare brevi tempi di inattività mentre rilevano l'errore e passano a una replica funzionante. La durata dipende dalla velocità con cui ogni applicazione esegue il rilevamento e il ripristino automatico.
Ridistribuzione: Le applicazioni devono instradare il traffico verso una replica funzionante quando si verifica un errore.
Se si usano provider di configurazione di App Configuration, i provider gestiscono automaticamente la selezione e il failover della replica.
Se si inserisce Frontdoor di Azure davanti all'archivio dati e configuri il gruppo di origine con più repliche come origini per il failover, Frontdoor di Azure reindirizza automaticamente le richieste a una replica funzionante.
Ripristino della regione
Dopo il ripristino della regione, App Configuration sincronizza la replica con le altre repliche senza la tua intervenzione.
Sei responsabile della riconfigurazione della tua applicazione per instradare il traffico all'istanza della regione ripristinata. Le applicazioni che usano i provider di Configurazione delle applicazioni riprendono automaticamente a utilizzare la replica.
Testare gli errori dell'area
Non è possibile simulare direttamente un failover di replica in App Configuration. Tuttavia, poiché le applicazioni controllano la selezione della replica, è possibile testare il comportamento di failover forzando l'applicazione in uno stato in cui deve passare da una replica all'altra.
Per convalidare il comportamento di failover della replica dell'applicazione, è possibile introdurre un errore di connettività controllato in un ambiente non di produzione e osservare come risponde l'applicazione.
Un approccio consiste nell'usare il computer locale o un altro ambiente in cui si ha accesso amministrativo. Segui questi passaggi:
Attivare la registrazione dettagliata per l'Azure SDK. In .NET usare la classe
AzureEventSourceListenerper configurare un logger. Per altre informazioni, vedere Registrazione e monitoraggio.Configurare manualmente il
hostsfile in modo che le richieste all'archivio di Configurazione app vengano instradate a un indirizzo IP che non può riceverli, ad esempio127.0.0.1(localhost).Avviso
Questo passaggio blocca in modo efficace l'accesso dal computer all'archivio di Configurazione app. Seguire questi passaggi solo in un ambiente non di produzione.
Monitorare i log per un messaggio simile all'esempio seguente:
[Warning] Microsoft-Extensions-Configuration-AzureAppConfiguration-Refresh: Failed to get configuration settings from endpoint 'https://myappconfigstore.azconfig.io'. Failing over to endpoint https://myappconfigstore-eus.azconfig.io'.Questo messaggio indica che l'applicazione ha eseguito correttamente il failover per usare un'altra replica dell'archivio.
Dopo aver completato il test, annullare le modifiche apportate al
hostsfile.
Backup e ripristino
È possibile usare Configurazione app per esportare i dati di configurazione da un archivio e usarli come parte di una strategia di backup più ampia.
Per la maggior parte delle soluzioni, non è consigliabile basarsi esclusivamente sui backup. Usare invece le altre funzionalità descritte in questa guida per supportare i requisiti di resilienza. Tuttavia, i backup proteggono da alcuni rischi che altri approcci non comportano. Per altre informazioni, vedere Che cosa sono ridondanza, replica e backup?.
Resilienza all'eliminazione accidentale
Configurazione app offre due funzionalità di ripristino chiave per impedire l'eliminazione accidentale o dannosa:
Eliminazione temporanea: Quando si attiva l'eliminazione temporanea, è possibile ripristinare gli archivi eliminati e le impostazioni durante un periodo di conservazione configurabile. Le funzioni di eliminazione temporanea operano come un cestino per le risorse di Configurazione app.
Protezione ripulitura: Quando si attiva la protezione dall'eliminazione, il servizio impedisce l'eliminazione permanente dell'archivio e delle relative impostazioni fino al termine del periodo di conservazione. Questa protezione impedisce agli attori malintenzionati di distruggere definitivamente le impostazioni.
Usare entrambe le funzionalità per gli ambienti di produzione. Per ulteriori informazioni, vedere Eliminazione temporanea (Soft-delete) e protezione contro la cancellazione definitiva (purge protection).
Resilienza alla manutenzione del servizio
Microsoft esegue regolarmente gli aggiornamenti del servizio e altre operazioni di manutenzione. Il servizio gestisce automaticamente queste attività, rendendo la manutenzione senza interruzioni e trasparente per te. Non è previsto alcun tempo di inattività durante gli eventi di manutenzione, a meno che non integrità dei servizi di Azure fornisce un avviso di manutenzione pianificata.
Resilienza ai problemi di configurazione
Le modifiche di configurazione non corrette o accidentali possono causare tempi di inattività dell'applicazione. Usare gli snapshot di configurazione per implementare in modo sicuro le modifiche alla configurazione. Monitorare l'integrità dell'applicazione dopo eventuali modifiche alla configurazione e ripristinare l'ultimo snapshot di configurazione valido noto se le modifiche presentano un problema.
Contratto di servizio
Il contratto di servizio (SLA) per Azure servizi descrive la disponibilità prevista di ogni servizio e le condizioni che la soluzione deve soddisfare per ottenere tale aspettativa di disponibilità. Per ulteriori informazioni, vedere SLA per i servizi online.