Meilleures pratiques d’architecture pour Azure Database pour PostgreSQL
Cet article fournit des meilleures pratiques architecturales pour Azure Database pour PostgreSQL.
Les conseils sont basés sur les cinq piliers de l’excellence architecturale :
- Fiabilité
- Sécurité
- Optimisation des coûts
- Excellence opérationnelle
- Efficacité des performances
Conditions préalables
Comprendre les piliers Well-Architected Framework peut aider à produire une architecture cloud de haute qualité, stable et efficace. Nous vous recommandons d'examiner votre charge de travail à l'aide de l'évaluation Azure Well-Architected Framework Review.
Azure Database pour PostgreSQL est un service de base de données relationnelle dans Azure basé sur la base de données relationnelle open source PostgreSQL. Il s’agit d’une offre de base de données entièrement managée en tant que service qui peut gérer des charges de travail stratégiques avec des performances prévisibles, une sécurité, une haute disponibilité et une scalabilité dynamique. Azure Database pour PostgreSQL repose sur l’édition communauté du moteur de base de données PostgreSQL. Il est compatible avec l’édition community du serveur PostgreSQL et prend en charge les fonctionnalités d’extension PostgreSQL telles que PostGIS et TimescaleDB.
Remarque
Pour explorer une idée de solution légère qui utilise Azure Database pour PostgreSQL pour stocker les résultats analytiques de l’API Cognitive Services, consultez applications intelligentes à l’aide d’Azure Database pour PostgreSQL.
Fiabilité
Azure Database for PostgreSQL - Flexible Server prend en charge la haute disponibilité en provisionnant des répliques primaires et de secours physiquement séparées, soit dans la même zone de disponibilité (zonale), soit entre les zones de disponibilité (redondante par zone). Ce modèle de haute disponibilité garantit que les données validées ne sont jamais perdues si une défaillance se produit. Le modèle est également conçu pour que la base de données ne devienne pas un point de défaillance unique dans votre architecture logicielle. Azure Database pour PostgreSQL - Serveur flexible fournit des fonctionnalités qui protègent les données et atténuent les temps d’arrêt de vos bases de données stratégiques pendant les événements de temps d’arrêt planifiés et non planifiés. Reposant sur l’infrastructure Azure qui offre une résilience et une disponibilité robustes, le serveur flexible dispose de fonctionnalités de continuité d’activité qui fournissent une protection contre les pannes, répondent aux exigences de temps de récupération et réduisent l’exposition aux pertes de données.
Liste de contrôle de conception de fiabilité
Vous devez passer en revue les principes de conception pour optimiser le coût de votre architecture.
- Cibles définies pour le RPO (objectif de point de récupération) et RTO (objectif de temps de récupération) pour les charges de travail.
- Sélectionnez la configuration de haute disponibilité appropriée.
- Configurer la sauvegarde géo-redondante.
- Testez votre plan de récupération d’urgence pour garantir une restauration rapide des données en cas de défaillance.
- Testez le basculement à la demande pour votre serveur compatible HA afin de vous assurer que notre application se comporte comme prévu.
- Surveillez votre serveur pour vous assurer qu’il est sain et performant comme prévu.
Recommandations en matière de fiabilité
Recommandation | Avantage |
---|---|
Cibles définies pour le RPO (objectif de point de récupération) et RTO (objectif de temps de récupération) pour les charges de travail. | Dérivez ces valeurs en effectuant une évaluation des risques et en vous assurant de comprendre le coût et le risque de temps d’arrêt et de perte de données. Il s’agit d’exigences non fonctionnelles d’un système et doivent être dictées par les exigences métier. |
Sélectionnez la configuration de haute disponibilité appropriée. | Azure Database pour PostgreSQL Server offre des configurations de haute disponibilité, ce qui garantit que le service reste disponible en cas de panne de zone et qu’aucune donnée n’est perdue. Lorsque la haute disponibilité est configurée, le serveur Azure Database pour PostgreSQL provisionne et gère automatiquement un réplica de secours. |
Configurez la sauvegarde géo-redondante. | Des répliques en lecture interrégionales peuvent être déployées pour protéger vos bases de données contre les défaillances au niveau régional. Les sauvegardes géoredondantes sont activées dans les régions sélectionnées et aident à la récupération d’urgence si la région du serveur principal est en panne. La géoredondance peut également être obtenue à l’aide d’un coffre de sauvegarde Azure pour le stockage à long terme des points de récupération. En cas de panne ou de sinistre régional, vous pouvez utiliser Sauvegarde Azure pour restaurer le serveur de base de données dans une région jumelée à Azure, ce qui réduit les temps d’arrêt. Azure Backup offre également une géoredondance pour Azure Database pour PostgreSQL - Serveur flexible, augmentant l’efficacité et réduisant les temps d’arrêt lors des sinistres ou des pannes de région. |
Testez votre plan de récupération d’urgence pour garantir une restauration rapide des données en cas de défaillance. | Les réplicas en lecture peuvent être déployées sur une autre région et promues vers un serveur en lecture-écriture si une reprise après sinistre est nécessaire. |
Surveillez votre serveur pour vous assurer qu’il est sain et performant comme prévu. | Nous avons une surveillance de base de données en place pour surveiller et alerter sur les défaillances au niveau de la base de données. |
Conseil
Pour plus de détails sur les conseils de fiabilité pour Azure Database for PostgreSQL, voir Fiabilité avec Azure Database for PostgreSQL.
Définitions de stratégie Azure
Les définitions Azure Policy vous aident à appliquer des règles et des configurations spécifiques pour les ressources au sein de votre environnement Azure. Pour garantir la fiabilité d’Azure Database pour PostgreSQL, vous pouvez créer des définitions Azure Policy personnalisées pour implémenter des configurations et des bonnes pratiques spécifiques. Voici un exemple de définitions Azure Policy personnalisées que vous pouvez créer pour la fiabilité :
Sécurité
Pensez à la sécurité pendant tout le cycle de vie d'une application, de la conception et de l'implémentation au déploiement et à l'exploitation. La plateforme Azure protège contre diverses menaces telles que l’intrusion réseau et les attaques DDoS. Vous devez toujours créer la sécurité dans votre application et vos processus DevOps.
Liste de contrôle de conception de la sécurité
Vous devez passer en revue les principes de conception pour optimiser le coût de votre architecture.
- SSL et appliquer le chiffrement pour sécuriser les données en transit.
- Implémentez des groupes de sécurité réseau et des pare-feu pour contrôler l’accès à votre base de données.
- Utilisez l’ID Microsoft Entra pour l’authentification et l’autorisation pour améliorer la gestion des identités.
- Configurez la sécurité au niveau des lignes.
Recommandations en matière de sécurité
Recommandation | Avantage |
---|---|
SSL et appliquer le chiffrement pour sécuriser les données en transit. | Déployez le certificat DigiCert Global Root à partir d’un certificat d’autorité de certification approuvée nécessaire pour communiquer via SSL avec les applications clientes. |
Implémentez des groupes de sécurité réseau et des pare-feu pour contrôler l’accès à votre base de données. | Dans le cadre du modèle confiance zéro pour la sécurité, la segmentation du réseau est recommandée lorsque les chemins de communication entre les composants (dans ce cas, l’application et le serveur de base de données) sont limités uniquement à ce qui est nécessaire. Cela peut être implémenté à l’aide du groupe de sécurité réseau et des groupes de sécurité d’application. |
Utilisez l’ID Microsoft Entra pour l’authentification et l’autorisation pour améliorer la gestion des identités. | L’authentification d’ID Microsoft Entra est un mécanisme de connexion à Azure Database pour PostgreSQL à l’aide d’identités définies dans Azure AD. |
Configurez la sécurité au niveau des lignes. | sécurité au niveau des lignes (RLS) est une fonctionnalité de sécurité PostgreSQL qui permet aux administrateurs de base de données de définir des stratégies pour contrôler la façon dont des lignes spécifiques de données s’affichent et fonctionnent pour un ou plusieurs rôles. La sécurité au niveau des lignes est un filtre supplémentaire que vous pouvez appliquer à une table de base de données PostgreSQL. |
Optimisation des coûts
L’optimisation des coûts consiste à comprendre vos options de configuration et les meilleures pratiques recommandées pour réduire les dépenses inutiles et améliorer l’efficacité opérationnelle. Vous devez passer en revue votre charge de travail pour identifier les opportunités de réduction des coûts.
Liste de vérification de la conception des coûts
Vous devez passer en revue les principes de conception pour optimiser le coût de votre architecture.
- Choisissez le niveau approprié et la référence SKU.
- Comprendre le mode haute disponibilité.
- Mettre à l’échelle les niveaux de calcul et de stockage.
- Envisagez d’utiliser des instances réservées.
- Utilisez votre stockage provisionné.
- Comprendre les coûts de géoredondance.
- Évaluez les décisions de montée en puissance du stockage.
- Déployez dans la même région que celle d'une application.
- Description des coûts axée sur la haute disponibilité.
- Consolider les bases de données et les serveurs.
Recommandations relatives aux coûts
Recommandations | Avantages |
---|---|
Choisissez le niveau approprié et la référence SKU. | Choisissez le niveau tarifaire et les SKU qui répondent aux besoins spécifiques de votre charge de travail. Azure Advisor vous fournit des recommandations pour optimiser et réduire vos dépenses Azure globales. Les recommandations incluent le dimensionnement approprié du serveur que vous devez suivre. |
Comprendre le mode haute disponibilité. | La haute disponibilité rend un serveur de secours toujours disponible dans la même zone ou région. L’activation de la haute disponibilité double votre coût. |
Ajustez les niveaux de calcul et de stockage. | Vous devez ajuster manuellement les niveaux de calcul et de stockage pour répondre aux exigences de l’application au fil du temps. |
Utilisez la fonctionnalité Démarrer/Arrêter. | Le serveur flexible dispose d’une fonctionnalité Start/Stop que vous pouvez utiliser pour empêcher l’exécution du serveur lorsque vous n’en avez pas besoin. |
Envisagez d’utiliser des instances réservées. | Envisagez une réservation d’un ou trois ans pour recevoir des remises significatives sur l’informatique. Utilisez ces réservations pour les charges de travail avec une utilisation constante des ressources informatiques pendant un an ou plus. |
Utilisez votre stockage provisionné. | Il n’y a pas de frais supplémentaires pour le stockage de sauvegarde jusqu’à 100% de l’ensemble de votre espace de stockage serveur provisionné. |
Comprendre les coûts de redondance. | Le stockage géoredondant (GRS) coûte deux fois plus cher que le stockage local redondant (LRS). GRS nécessite deux fois la capacité de stockage de LRS. |
Comprendre le coût d'instance protégée et de stockage de sauvegarde | Lors de la sauvegarde de PostgreSQL - Serveur flexible à l’aide de sauvegarde Azure, vous entraînez des frais d’instance protégés (par 250 Go) et des frais de stockage de sauvegarde (en fonction du type total de données stockées et de redondance). |
Évaluez les décisions de montée en puissance du stockage. | Vous devez évaluer vos besoins de stockage actuels et futurs avant d’effectuer un scale-up de votre stockage. Après avoir augmenté la capacité de stockage, vous ne pouvez pas la réduire. |
Déployez dans la même région que l’application. | Déployez dans la même région que les applications pour réduire les coûts de transfert. Lorsque vous utilisez l’intégration de réseau virtuel, les applications d’un autre réseau virtuel n’ont pas d’accès direct aux serveurs flexibles. Pour leur accorder l’accès, vous devez configurer le peering de réseaux virtuels. Le peering de réseaux virtuels a des coûts nominaux de transfert de données entrants et sortants. |
Description des coûts orientée vers la haute disponibilité. | Il s'agit d'un compromis entre la haute disponibilité et les coûts. L'HA est deux fois plus coûteuse qu'une configuration non HA, mais elle est nécessaire. |
Consolider les bases de données et les serveurs. | Vous pouvez consolider plusieurs bases de données et serveurs en un seul serveur pour réduire les coûts. |
Définitions de stratégie Azure
Les définitions Azure Policy vous aident à appliquer des règles et des configurations spécifiques pour les ressources au sein de votre environnement Azure. Pour garantir l’optimisation des coûts pour Azure Database pour PostgreSQL, vous pouvez créer des définitions Azure Policy personnalisées pour appliquer des configurations et des meilleures pratiques spécifiques. Voici un exemple de définitions Azure Policy personnalisées que vous pouvez créer pour l’optimisation des coûts :
Excellence opérationnelle
Les principes d’excellence opérationnelle sont une série de considérations qui peuvent aider à atteindre des pratiques opérationnelles supérieures.
Pour obtenir une compétence plus élevée dans les opérations, envisagez et améliorez la façon dont les logiciels sont développés, déployés, exploités et gérés.
Liste de contrôle de conception de l’excellence opérationnelle
Vous devez passer en revue les principes de conception pour optimiser le coût de votre architecture.
- Configurez des sauvegardes automatisées et des stratégies de rétention pour maintenir la disponibilité des données et répondre aux exigences de conformité.
- Mettez en place des patches et des mises à jour automatisés pour maintenir votre instance PostgreSQL sécurisée et à jour.
- Surveillez l’intégrité et les performances de la base de données à l’aide d’Azure Monitor et configurez des alertes pour les métriques critiques.
Recommandations sur l’excellence opérationnelle
Recommandation | Avantages |
---|---|
Configurez des sauvegardes automatisées et des stratégies de rétention pour maintenir la disponibilité des données et répondre aux exigences de conformité. Vous pouvez également utiliser une stratégie de sauvegarde Azure pour sauvegarder le serveur Azure Database pour PostgreSQL. Vous pouvez également utiliser cette stratégie de sauvegarde Azure pour protéger Azure Database pour PostgreSQL - Serveur flexible. |
Azure Database pour PostgreSQL fournit des sauvegardes automatisées et une restauration à un point dans le temps pour votre base de données. Vous pouvez configurer la période de rétention des sauvegardes jusqu’à 35 jours. Sauvegarde Azure vous permet de définir comment et quand des sauvegardes sont créées, la période de rétention des points de récupération et les règles de protection et de récupération des données. Vous pouvez conserver les points de récupération dans un coffre de sauvegarde pendant jusqu’à 10 ans. Utilisez stratégie de sauvegarde Azure pour la protection à long terme d’Azure Database pour PostgreSQL - Serveur flexible et pour gérer la sécurité et l’intégrité de la base de données. Vous pouvez également gérer les opérations de sauvegarde et de restauration à l’aide de Azure Business Continuity Center. |
Mettez en place des patches et des mises à jour automatisés pour maintenir votre instance PostgreSQL sécurisée et à jour. | Azure Database pour PostgreSQL fournit des mises à jour et des mises à jour correctives automatisées pour votre base de données. Vous pouvez configurer la fenêtre de maintenance de votre serveur pour réduire l’impact sur votre charge de travail. |
Surveillez l’intégrité et les performances de la base de données à l’aide d’Azure Monitor et configurez des alertes pour les métriques critiques. | Azure Database pour PostgreSQL fournit des fonctionnalités intégrées de supervision et d’alerte. Vous pouvez surveiller l’intégrité et les performances de votre base de données à l’aide d’Azure Monitor. Vous pouvez également configurer des alertes pour les métriques critiques pour être averti lorsque votre base de données n’est pas en cours d’exécution comme prévu. |
Définitions de stratégie d’excellence opérationnelle
Les définitions Azure Policy vous aident à appliquer des règles et des configurations spécifiques pour les ressources au sein de votre environnement Azure. Pour garantir l’excellence opérationnelle pour Azure Database pour PostgreSQL, vous pouvez créer des définitions Azure Policy personnalisées pour appliquer des configurations et des meilleures pratiques spécifiques. Voici un exemple de définitions Azure Policy personnalisées que vous pouvez créer pour l’excellence opérationnelle :
Efficacité des performances
L’efficacité des performances est la capacité de votre charge de travail à être mise à l’échelle pour répondre aux exigences qu’elle impose aux utilisateurs efficacement. Nous vous recommandons de passer en revue les principes d’efficacité des performances.
Dans la liste de contrôle de conception et la liste des recommandations ci-dessous, les indicateurs indiquent si chaque choix s’applique à l’architecture de cluster, à l’architecture de la charge de travail ou aux deux.
Liste de vérification pour la conception de l'efficacité de la performance
Vous devez passer en revue les principes de conception pour optimiser le coût de votre architecture.
- Concevez votre schéma et vos requêtes pour réduire la consommation des ressources.
- Implémentez des répliques de lecture pour soulager le trafic de lecture et améliorer les performances globales.
Recommandations en matière d’efficacité des performances
Recommandation | Avantages |
---|---|
Concevez votre schéma et vos requêtes pour réduire la consommation des ressources. | Vous devez concevoir votre schéma et vos requêtes pour réduire la consommation des ressources. |
Implémentez des répliques de lecture pour décharger le trafic de lecture et améliorer les performances globales. | Vous pouvez utiliser des répliques de lecture pour décharger le trafic de lecture et améliorer les performances. |
Définitions de stratégie d’efficacité des performances
Les définitions Azure Policy vous aident à appliquer des règles et des configurations spécifiques pour les ressources au sein de votre environnement Azure. Pour garantir l’efficacité des performances pour Azure Database pour PostgreSQL, vous pouvez créer des définitions Azure Policy personnalisées pour appliquer des configurations et des meilleures pratiques spécifiques. Voici un exemple de définitions Azure Policy personnalisées que vous pouvez créer pour l’efficacité des performances :
Ressources supplémentaires
Envisagez d’autres ressources liées à Azure Database pour PostgreSQL.
Conseils du Centre d’architecture Azure
- Architecture mutualisée et base de données Azure Database pour PostgreSQL
- meilleures pratiques
- Optimiser les performances
- Réglage