Pratiche consigliate dell'architettura dei Database di Azure per PostgreSQL
Questo articolo illustra le procedure consigliate per l'architettura per Database di Azure per PostgreSQL.
Le linee guida si basano sui cinque pilastri dell'eccellenza architetturale:
- Affidabilità
- Sicurezza
- Ottimizzazione dei costi
- Eccellenza operativa
- Efficienza delle prestazioni
Prerequisiti
Comprendere i pilastri di Well-Architected Framework può contribuire a produrre un'architettura cloud di alta qualità, stabile ed efficiente. È consigliabile esaminare il carico di lavoro usando la valutazione di Azure Well-Architected Framework Review.
Azure Database per PostgreSQL è un servizio di database relazionale su Azure basato sul database relazionale open source PostgreSQL. Si tratta di un database come servizio completamente gestito che può gestire carichi di lavoro cruciali con prestazioni prevedibili, sicurezza, disponibilità elevata e scalabilità dinamica. Database di Azure per PostgreSQL è basato sull'edizione community del motore di database PostgreSQL. È compatibile con l'edizione community del server PostgreSQL e supporta le funzionalità di estensione PostgreSQL, ad esempio PostGIS e TimescaleDB.
Nota
Per esplorare un'idea di soluzione leggera che usa Database di Azure per PostgreSQL per archiviare i risultati analitici dall'API Servizi cognitivi, vedere app intelligenti con Database di Azure per PostgreSQL.
Affidabilità
Azure Database per PostgreSQL - Server Flessibile offre supporto per la disponibilità elevata effettuando il provisioning di repliche primarie e standby separate fisicamente all'interno della stessa zona di disponibilità (zonale) o tra zone di disponibilità (zone con ridondanza). Questo modello a disponibilità elevata garantisce che i dati di cui è stato eseguito il commit non vengano mai persi se si verifica un errore. Il modello è progettato anche in modo che il database non diventi un singolo punto di errore nell'architettura software. Database di Azure per PostgreSQL - Server flessibile offre funzionalità che proteggono i dati e riducono i tempi di inattività per i database di importanza critica durante eventi di inattività pianificati e non. Basato sull'infrastruttura di Azure che offre resilienza e disponibilità affidabili, il server flessibile offre funzionalità di continuità aziendale che offrono protezione dagli errori, soddisfare i requisiti di tempo di ripristino e ridurre l'esposizione alla perdita di dati.
Elenco di controllo per la progettazione dell'affidabilità
È consigliabile esaminare i principi di progettazione per ottimizzare il costo dell'architettura.
- Obiettivi definiti per RPO (Recovery Point Objective) e RTO (Recovery Time Objective) per i carichi di lavoro.
- Selezionare la configurazione di disponibilità elevata appropriata.
- Configurare il backup con ridondanza geografica.
- Testare il piano di ripristino di emergenza per garantire un ripristino rapido dei dati in caso di errore.
- Testare il failover su richiesta del server ad alta disponibilità per garantire che l'applicazione si comporti come previsto.
- Monitorare il server per assicurarsi che sia integro e funzioni come previsto.
Raccomandazioni per l'affidabilità
Raccomandazione | Beneficio |
---|---|
Obiettivi definiti per RPO (Recovery Point Objective) e RTO (Recovery Time Objective) per i carichi di lavoro. | Derivare questi valori eseguendo una valutazione dei rischi e assicurandosi di comprendere il costo e il rischio di tempi di inattività e perdita di dati. Si tratta di requisiti non funzionali di un sistema e devono essere dettati dai requisiti aziendali. |
Selezionare la configurazione di disponibilità elevata appropriata. | Il server di Database di Azure per PostgreSQL offre configurazioni a disponibilità elevata, assicurandosi che il servizio rimanga disponibile se si verifica un'interruzione della zona e che non vengano persi dati. Quando è configurata la disponibilità elevata, il server di Database di Azure per PostgreSQL effettua automaticamente il provisioning e gestisce una replica di standby. |
Configurare il backup con ridondanza geografica. | È possibile distribuire repliche in lettura tra aree per proteggere i database da errori a livello di area. I backup con ridondanza geografica sono abilitati nelle aree selezionate e consentono il ripristino di emergenza se l'area del server primaria è inattiva. È anche possibile ottenere la ridondanza geografica utilizzando una cassetta di Backup di Azure per l'archiviazione a lungo termine dei punti di ripristino. In caso di interruzione o emergenza a livello di area, è possibile usare Backup di Azure per ripristinare il server di database in un'area associata ad Azure, riducendo al minimo i tempi di inattività. Backup di Azure offre anche ridondanza geografica per il Server Flessibile di Azure Database per PostgreSQL, aumentando l'efficienza e riducendo i tempi di inattività durante i disastri o i guasti di area. |
Testare il piano di ripristino di emergenza per garantire un ripristino rapido dei dati in caso di errore. | Le repliche in lettura possono essere distribuite in un'area diversa e alzate di livello a un server di lettura/scrittura se è necessario il ripristino di emergenza. |
Monitorare il server per assicurarsi che sia integro e funzioni come previsto. | È disponibile il monitoraggio del database per monitorare e avvisare gli errori a livello di database. |
Suggerimento
Per altri dettagli sulle linee guida sull'affidabilità per Database di Azure per PostgreSQL, vedere Affidabilità con Database di Azure per PostgreSQL.
Definizioni di criteri di Azure
Le definizioni di Criteri di Azure consentono di applicare regole e configurazioni specifiche per le risorse all'interno dell'ambiente Azure. Per garantire l'affidabilità per Database di Azure per PostgreSQL, è possibile creare definizioni personalizzate di Criteri di Azure per implementare configurazioni e procedure consigliate specifiche. Ecco un esempio di alcune definizioni personalizzate di Criteri di Azure che è possibile creare per l'affidabilità:
Sicurezza
Pensa a sicurezza durante l'intero ciclo di vita di un'applicazione, dalla progettazione e implementazione alla distribuzione e all'operatività. La piattaforma Azure protegge da varie minacce, ad esempio intrusioni di rete e attacchi DDoS. È comunque necessario integrare la sicurezza nell'applicazione e nei processi DevOps.
Elenco di controllo per la progettazione della sicurezza
È consigliabile esaminare i principi di progettazione per ottimizzare il costo dell'architettura.
- SSL e applica la crittografia per proteggere i dati in transito.
- Implementare gruppi di sicurezza di rete e firewall per controllare l'accesso al database.
- Usare Microsoft Entra ID per l'autenticazione e l'autorizzazione per migliorare la gestione delle identità.
- Configurare la sicurezza a livello di riga.
Raccomandazioni sulla sicurezza
Raccomandazione | Beneficio |
---|---|
SSL e applica la crittografia per proteggere i dati in transito. | Distribuire il certificato DigiCert Global Root emesso da un'autorità di certificazione (CA) attendibile, necessario per comunicare tramite SSL con le applicazioni client. |
Implementare gruppi di sicurezza di rete e firewall per controllare l'accesso al database. | Come parte del modello Zero Trust per la sicurezza, la segmentazione di rete è consigliata in cui i percorsi di comunicazione tra i componenti (in questo caso, l'applicazione e il server di database) sono limitati solo a ciò che è necessario. Questa operazione può essere implementata usando il gruppo di sicurezza di rete e i gruppi di sicurezza delle applicazioni. |
Usare Microsoft Entra ID per l'autenticazione e l'autorizzazione per migliorare la gestione delle identità. | L'autenticazione di Microsoft Entra ID è un meccanismo di connessione a Database di Azure per PostgreSQL usando le identità definite in Azure AD. |
Configurare la sicurezza a livello di riga. | sicurezza a livello di riga (RLS) è una funzionalità di sicurezza PostgreSQL che consente agli amministratori di database di definire i criteri per controllare il funzionamento e la visualizzazione di righe di dati specifiche per uno o più ruoli. La sicurezza a livello di riga è un filtro aggiuntivo che è possibile applicare a una tabella di database PostgreSQL. |
Ottimizzazione dei costi
L'ottimizzazione dei costi riguarda la comprensione delle opzioni di configurazione e delle procedure consigliate per ridurre le spese non necessarie e migliorare l'efficienza operativa. È consigliabile esaminare il carico di lavoro per identificare le opportunità di riduzione dei costi.
Elenco di controllo per la progettazione dei costi
È consigliabile esaminare i principi di progettazione per ottimizzare il costo dell'architettura.
- Selezionare il livello e lo SKU corretti.
- Comprendere la modalità a disponibilità elevata.
- Ridimensionare i livelli di calcolo e archiviazione.
- Considera le istanze riservate.
- Utilizza lo spazio di archiviazione fornito.
- Comprendere i costi di ridondanza geografica.
- Valutare le decisioni relative all'aumento delle prestazioni delle risorse di archiviazione.
- Eseguire la distribuzione nella stessa area dell'applicazione.
- Descrizione dei costi orientata alla disponibilità elevata.
- Consolidare database e server.
Raccomandazioni sui costi
Consigli | Benefici |
---|---|
Selezionare il livello e lo SKU corretti. | Seleziona il livello tariffario e calcola gli SKU che supportano le esigenze specifiche del tuo carico di lavoro. Azure Advisor offre raccomandazioni per ottimizzare e ridurre la spesa complessiva di Azure. Le raccomandazioni includono il ridimensionamento corretto del server da seguire. |
Comprendere la modalità a disponibilità elevata. | La disponibilità elevata rende sempre disponibile un server standby all'interno della stessa zona o area. Abilitare la disponibilità elevata raddoppia i costi. |
Modificare i livelli di calcolo e archiviazione. | È consigliabile modificare manualmente i livelli di calcolo e archiviazione per soddisfare i requisiti dell'applicazione nel tempo. |
Usare la funzionalità Avvio/Arresto. | Il server flessibile dispone di una funzionalità di avvio/arresto che è possibile usare per arrestare l'esecuzione del server quando non è necessaria. |
Prendere in considerazione le istanze riservate. | Si consideri una prenotazione di uno o tre anni per ricevere sconti significativi sul calcolo. Utilizzare queste prenotazioni per i carichi di lavoro con un utilizzo costante delle risorse di calcolo per un periodo di un anno o più. |
Usa lo spazio di archiviazione assegnato. | Non ci sono costi aggiuntivi per l'archiviazione di backup fino a 100% rispetto all'archiviazione totale del server prevista. |
Comprendere i costi di ridondanza. | L'archiviazione con ridondanza geografica (GRS) costa il doppio dell'archiviazione con ridondanza locale. GRS richiede il doppio della capacità di archiviazione rispetto a LRS. |
Comprendere il costo dell'archiviazione dell'istanza protetta e del backup | Quando si esegue il backup di PostgreSQL - Server flessibile con Backup di Azure, vengono addebitati costi di istanza protetta (per 250 GB) e costi di archiviazione di backup (in base al tipo totale di dati archiviati e ridondanza). |
Valutare le decisioni relative all'aumento delle prestazioni delle risorse di archiviazione. | È consigliabile valutare le esigenze di archiviazione correnti e future prima di aumentare le risorse di archiviazione. Dopo aver ridimensionato l'archiviazione, non è possibile ridurre le prestazioni. |
Esegui la distribuzione nella stessa area dell'applicazione. | Eseguire la distribuzione nella stessa area delle applicazioni per ridurre al minimo i costi di trasferimento. Quando si usa l'integrazione della rete virtuale, le applicazioni in una rete virtuale diversa non hanno accesso diretto ai server flessibili. Per concedere loro l'accesso, è necessario configurare il peering di rete virtuale. Il peering di rete virtuale ha costi di trasferimento dati in ingresso e in uscita nominali. |
Descrizione dei costi orientata alla disponibilità elevata. | Si tratta di un compromesso tra alta disponibilità (HA) e costi. La configurazione ad alta disponibilità costa il doppio rispetto a quella non ad alta disponibilità, ma è necessaria. |
Consolidare i database e i server. | È possibile consolidare più database e server in un singolo server per ridurre i costi. |
Definizioni di criteri di Azure
Le definizioni di Criteri di Azure consentono di applicare regole e configurazioni specifiche per le risorse all'interno dell'ambiente Azure. Per garantire l'ottimizzazione dei costi per Database di Azure per PostgreSQL, è possibile creare definizioni personalizzate di Criteri di Azure per applicare configurazioni e procedure consigliate specifiche. Ecco un esempio di alcune definizioni personalizzate di Criteri di Azure che è possibile creare per l'ottimizzazione dei costi:
Eccellenza operativa
I principi dell'eccellenza operativa sono una serie di considerazioni che possono aiutare a realizzare procedure operative superiori.
Per migliorare la competenza operativa, valutare e migliorare il modo in cui il software viene sviluppato, distribuito, gestito e mantenuto.
Elenco di controllo per la progettazione dell'eccellenza operativa
È consigliabile esaminare i principi di progettazione per ottimizzare il costo dell'architettura.
- Configurare backup automatizzati e criteri di conservazione per mantenere la disponibilità dei dati e soddisfare i requisiti di conformità.
- Implementare l'applicazione automatica di patch e gli aggiornamenti per proteggere l'istanza di PostgreSQL e up-to-date.
- Monitorare l'integrità e le prestazioni del database usando Monitoraggio di Azure e configurare gli avvisi per le metriche critiche.
Raccomandazioni per l'eccellenza operativa
Raccomandazione | Benefici |
---|---|
Configurare backup automatizzati e criteri di conservazione per mantenere la disponibilità dei dati e soddisfare i requisiti di conformità. In alternativa, usare un criteri di Backup di Azure per eseguire il backup del server di Database di Azure per PostgreSQL. È anche possibile usare questo criterio di backup di Azure per proteggere Azure Database per PostgreSQL - Server Flessibile. |
Database di Azure per PostgreSQL offre backup automatici e ripristino temporizzato per il tuo database. È possibile configurare il periodo di conservazione per i backup fino a 35 giorni. Backup di Azure consente di definire come e quando vengono creati i backup, il periodo di conservazione per i punti di ripristino e le regole per la protezione e il ripristino dei dati. È possibile conservare i punti di ripristino in una cassetta di backup per un massimo di 10 anni. Usare criteri di Azure Backup per la protezione a lungo termine di Azure Database per PostgreSQL - Flexible Server e per gestire la sicurezza e l'integrità del database. È anche possibile gestire le operazioni di backup e ripristino usando Centro continuità aziendale di Azure. |
Implementare l'applicazione automatica di patch e gli aggiornamenti per proteggere l'istanza di PostgreSQL e up-to-date. | Database di Azure per PostgreSQL offre l'applicazione automatica di patch e aggiornamenti per il tuo database. È possibile configurare la finestra di manutenzione per il server per ridurre al minimo l'impatto sul carico di lavoro. |
Monitorare l'integrità e le prestazioni del database usando Monitoraggio di Azure e configurare gli avvisi per le metriche critiche. | Database di Azure per PostgreSQL offre funzionalità predefinite di monitoraggio e avvisi. È possibile monitorare l'integrità e le prestazioni del database usando Monitoraggio di Azure. È anche possibile configurare avvisi per le metriche critiche per ricevere una notifica quando il database non funziona come previsto. |
Definizioni di criteri di eccellenza operativa
Le definizioni di Criteri di Azure consentono di applicare regole e configurazioni specifiche per le risorse all'interno dell'ambiente Azure. Per garantire l'eccellenza operativa per Database di Azure per PostgreSQL, è possibile creare definizioni personalizzate di Criteri di Azure per applicare configurazioni e procedure consigliate specifiche. Ecco un esempio di alcune definizioni personalizzate di Criteri di Azure che è possibile creare per l'eccellenza operativa:
Efficienza delle prestazioni
L'efficienza delle prestazioni è la capacità del carico di lavoro di ridimensionarsi per soddisfare le esigenze poste dagli utenti in modo efficiente. È consigliabile esaminare i principi di efficienza delle prestazioni.
Nella lista di controllo del design e nell'elenco di raccomandazioni seguenti, le annotazioni indicano se ogni scelta si applica all'architettura del cluster, all'architettura del carico di lavoro o a entrambe.
Elenco di controllo per la progettazione dell'efficienza delle prestazioni
È consigliabile esaminare i principi di progettazione per ottimizzare il costo dell'architettura.
- Progettare lo schema e le query per ottimizzare l'utilizzo delle risorse.
- Implementare repliche in lettura per alleggerire il traffico di lettura e migliorare le prestazioni globali.
Raccomandazioni sull'efficienza delle prestazioni
Raccomandazione | Benefici |
---|---|
Progettare lo schema e le query per ottimizzare l'utilizzo delle risorse. | È consigliabile progettare lo schema e le query per garantire l'efficienza per ridurre al minimo il consumo di risorse. |
Utilizzare le repliche di lettura per scaricare il traffico di lettura e migliorare le prestazioni complessive. | È possibile usare le repliche in lettura per effettuare il bilanciamento del traffico di lettura e migliorare le prestazioni. |
Definizioni dei criteri di efficienza delle prestazioni
Le definizioni di Criteri di Azure consentono di applicare regole e configurazioni specifiche per le risorse all'interno dell'ambiente Azure. Per garantire l'efficienza delle prestazioni per Database di Azure per PostgreSQL, è possibile creare definizioni personalizzate di Criteri di Azure per applicare configurazioni e procedure consigliate specifiche. Ecco un esempio di alcune definizioni di Criteri di Azure personalizzate che è possibile creare per l'efficienza delle prestazioni:
Risorse aggiuntive
Prendere in considerazione altre risorse correlate a Database di Azure per PostgreSQL.
Linee guida per il Centro architetture di Azure
- Multitenancy e Database di Azure per PostgreSQL
- procedure consigliate
- Ottimizzare le prestazioni
- Ottimizzazione