Partilhar via


Práticas recomendadas de arquitetura para o Banco de Dados do Azure para PostgreSQL

Este artigo fornece práticas recomendadas de arquitetura para o Banco de Dados do Azure para PostgreSQL.

A orientação baseia-se nos cinco pilares da excelência arquitetónica:

  • Fiabilidade
  • Segurança
  • Otimização de custos
  • Excelência operacional
  • Eficiência de desempenho

Pré-requisitos

Compreender os pilares do Well-Architected Framework pode ajudar a produzir uma arquitetura de nuvem de alta qualidade, estável e eficiente. Recomendamos que você revise sua carga de trabalho usando o Azure Well-Architected Framework Review assessment.

Banco de Dados do Azure para PostgreSQL é um serviço de banco de dados relacional no Azure baseado no banco de dados relacional de código aberto PostgreSQL. É uma oferta de banco de dados como serviço totalmente gerenciada que pode lidar com cargas de trabalho de missão crítica com desempenho previsível, segurança, alta disponibilidade e escalabilidade dinâmica. A base de dados do Azure para PostgreSQL é baseada na edição comunitária do motor de base de dados PostgreSQL. É compatível com a edição da comunidade do servidor PostgreSQL e suporta recursos de extensão PostgreSQL, como PostGIS e TimescaleDB.

Observação

Para explorar uma ideia de solução leve que usa o Banco de Dados do Azure para PostgreSQL para armazenar resultados analíticos da API de Serviços Cognitivos, consulte Aplicativos inteligentes usando o Banco de Dados do Azure para PostgreSQL.

Fiabilidade

O Base de Dados do Azure para PostgreSQL - Servidor Flexível oferece suporte de alta disponibilidade provisionando réplicas primárias e de reserva fisicamente separadas dentro da mesma zona de disponibilidade (zonal) ou através de zonas de disponibilidade (zona redundante). Esse modelo de alta disponibilidade garante que os dados comprometidos nunca sejam perdidos se ocorrer uma falha. O modelo também é projetado para que o banco de dados não se torne um único ponto de falha em sua arquitetura de software. O Banco de Dados do Azure para PostgreSQL - Servidor Flexível fornece recursos que protegem os dados e reduzem o tempo de inatividade de seus bancos de dados de missão crítica durante eventos de tempo de inatividade planejados e não planejados. Criado com base na infraestrutura do Azure que oferece resiliência e disponibilidade robustas, o servidor flexível tem recursos de continuidade de negócios que fornecem proteção contra falhas, atendem aos requisitos de tempo de recuperação e reduzem a exposição à perda de dados.

Lista de verificação de projeto de confiabilidade

Você deve rever os princípios de projeto para otimizar o custo da sua arquitetura.

  • Metas definidas para RPO (Recovery Point Objective) e RTO (Recovery Time Objective) para cargas de trabalho.
  • Selecione a configuração de alta disponibilidade apropriada.
  • Configure o backup de redundância geográfica.
  • Teste seu plano de recuperação de desastres para garantir a rápida restauração de dados em caso de falha.
  • Teste o failover on-demand para o seu servidor com HA ativado para assegurar que a nossa aplicação funcione conforme o previsto.
  • Monitore seu servidor para garantir que ele esteja íntegro e funcionando conforme o esperado.

Recomendações de fiabilidade

Recomendação Benefício
Metas definidas para RPO (Recovery Point Objetive) e RTO (Recovery Time Objetive) para cargas de trabalho. Derive esses valores conduzindo uma avaliação de risco e garantindo que você entenda o custo e o risco de tempo de inatividade e perda de dados. Estes são requisitos não funcionais de um sistema e devem ser ditados por requisitos de negócios.
Selecione a configuração de alta disponibilidade apropriada. O Banco de Dados do Azure para PostgreSQL Server oferece configurações de alta disponibilidade, garantindo que o serviço permaneça disponível se houver uma interrupção de zona e nenhum dado for perdido. Quando a alta disponibilidade é configurada, o Banco de Dados do Azure para servidor PostgreSQL provisiona e gerencia automaticamente uma réplica em espera.
Configure o backup de redundância geográfica. Réplicas de leitura entre regiões podem ser implantadas para proteger seus bancos de dados contra falhas no nível da região. Os backups com redundância geográfica são habilitados em regiões selecionadas e ajudam na recuperação de desastres se a região do servidor primário estiver inativa.

Também é possível alcançar a redundância geográfica utilizando um cofre de Backup do Azure para armazenamento prolongado dos pontos de recuperação. Em caso de interrupção ou desastre regional, você pode usar o Backup do Azure para restaurar o servidor de banco de dados para uma região emparelhada do Azure, minimizando o tempo de inatividade.

O Backup do Azure também oferece redundância geográfica para o Banco de Dados do Azure para PostgreSQL - Servidor Flexível, aumentando a eficiência e reduzindo o tempo de inatividade durante desastres ou interrupções de região.
Teste seu plano de recuperação de desastres para garantir a rápida restauração de dados em caso de falha. As réplicas de leitura podem ser implantadas noutra região e promovidas a um servidor de leitura e escrita caso a recuperação em caso de desastre seja necessária.
Monitore seu servidor para garantir que ele esteja íntegro e funcionando conforme o esperado. Temos monitoramento de banco de dados para monitorar e alertar sobre falhas no nível do banco de dados.

Dica

Para obter mais detalhes sobre as diretrizes de confiabilidade do Banco de Dados do Azure para PostgreSQL, consulte Confiabilidade com o Banco de Dados do Azure para PostgreSQL.

Definições de política do Azure

As definições de Política do Azure ajudam a impor regras e configurações específicas para recursos em seu ambiente do Azure. Para garantir a confiabilidade do Banco de Dados do Azure para PostgreSQL, você pode criar definições personalizadas da Política do Azure para implementar configurações específicas e práticas recomendadas. Aqui está um exemplo de algumas definições personalizadas da Política do Azure que você pode criar para confiabilidade:

Segurança

Pense em de segurança durante todo o ciclo de vida de um aplicativo, desde o projeto e a implementação até a implantação e as operações. A plataforma Azure protege contra várias ameaças, como intrusão de rede e ataques DDoS. Você ainda precisa criar segurança em seu aplicativo e em seus processos de DevOps.

Lista de verificação de design de segurança

Você deve rever os princípios de projeto otimizar o custo de sua arquitetura.

  • SSL e impor criptografia para proteger os dados em trânsito.
  • Implemente grupos de segurança de rede e firewalls para controlar o acesso ao seu banco de dados.
  • Use o Microsoft Entra ID para autenticação e autorização para aprimorar o gerenciamento de identidades.
  • Configure a segurança em nível de linha.

Recomendações de segurança

Recomendação Benefício
SSL e impor criptografia para proteger os dados em trânsito. Implante o certificado Raiz Global DigiCert a partir de um certificado de Autoridade de Certificação (CA) confiável necessário para se comunicar por SSL com aplicativos cliente.
Implemente grupos de segurança de rede e firewalls para controlar o acesso ao seu banco de dados. Como parte do Modelo Zero Trust para segurança, a segmentação de rede é recomendada quando os caminhos de comunicação entre componentes (neste caso, aplicativo e servidor de banco de dados) são restritos apenas ao necessário. Isso pode ser implementado usando o Grupo de Segurança de Rede e os Grupos de Segurança de Aplicativos.
Use o Microsoft Entra ID para autenticação e autorização para aprimorar o gerenciamento de identidades. A autenticação Microsoft Entra ID é um mecanismo de conexão com o Banco de Dados do Azure para PostgreSQL usando identidades definidas no Azure AD.
Configurar segurança ao nível de linha. Segurança em nível de linha (RLS) é um recurso de segurança do PostgreSQL que permite que os administradores de banco de dados definam políticas para controlar como linhas específicas de dados são exibidas e operam para um ou mais perfis. A segurança em nível de linha é um filtro adicional que você pode aplicar a uma tabela de banco de dados PostgreSQL.

Otimização de custos

A otimização de custos consiste em compreender as opções de configuração e as práticas recomendadas para reduzir despesas desnecessárias e melhorar a eficiência operacional. Você deve revisar sua carga de trabalho para identificar oportunidades de redução de custos.

Lista de verificação de projeto de custos

Você deve rever os princípios de projeto otimizar o custo de sua arquitetura.

  • Escolha o nível certo e o SKU.
  • Entenda o modo de alta disponibilidade.
  • Dimensione níveis de computação e armazenamento.
  • Considere instâncias reservadas.
  • Use o armazenamento provisionado.
  • Entenda os custos de redundância geográfica.
  • Avalie as decisões de expansão de armazenamento.
  • Implante na mesma região que um aplicativo.
  • Descrição de custos orientada para alta disponibilidade.
  • Consolide bancos de dados e servidores.

Recomendações de custos

Recomendações Benefícios
Escolha o nível certo e o SKU. Escolha o nível de preço e calcule SKUs que suportam as necessidades específicas da sua carga de trabalho. O Azure Advisor fornece recomendações para otimizar e reduzir seus gastos gerais do Azure. As recomendações incluem o dimensionamento correto do servidor que você deve seguir.
Entenda o modo de alta disponibilidade. A alta disponibilidade torna um servidor em espera sempre disponível dentro da mesma zona ou região. Habilitar a alta disponibilidade dobra seu custo.
Ajuste os níveis de computação e armazenamento. Você deve ajustar manualmente as camadas de computação e armazenamento para atender aos requisitos do aplicativo ao longo do tempo.
Use o recurso Iniciar/Parar. O servidor flexível tem um recurso Start/Stop que você pode usar para impedir que o servidor seja executado quando você não precisar dele.
Considere instâncias reservadas. Considere um compromisso de um ou três anos para receber descontos significativos em serviços de computação em nuvem. Use essas reservas para cargas de trabalho com uso consistente de computação por um ano ou mais.
Use o armazenamento provisionado. Não há cobrança extra para armazenamento de backup de até 100% do armazenamento total do servidor provisionado.
Entenda os custos de redundância. O armazenamento com redundância geográfica (GRS) custa duas vezes mais do que o armazenamento redundante local (LRS). O GRS requer o dobro da capacidade de armazenamento do LRS.
Compreender a instância protegida e o custo do armazenamento de backup Ao fazer backup do PostgreSQL - Servidor Flexível usando o Backup do Azure, você incorre em Taxas de Instância Protegida (por 250 GB) e Taxas de Armazenamento de Backup (com base no total de dados armazenados e no tipo de redundância).
Avalie as decisões de expansão de armazenamento. Você deve avaliar suas necessidades atuais e futuras de armazenamento antes de expandir o armazenamento. Depois de aumentar a escala do armazenamento, não é possível reduzir a escala.
Implante na mesma região do aplicativo. Implante na mesma região que o(s) aplicativo(s) para minimizar os custos de transferência. Quando você usa a integração de rede virtual, os aplicativos em uma rede virtual diferente não têm acesso direto a servidores flexíveis. Para conceder-lhes acesso, é necessário configurar o emparelhamento de rede virtual. O emparelhamento de rede virtual tem custos nominais de transferência de dados de entrada e saída.
Descrição de custos orientada para alta disponibilidade. É uma compensação entre HA e custos. A configuração HA custa o dobro em comparação com a configuração sem HA, mas é necessária.
Consolide bancos de dados e servidores. Você pode consolidar vários bancos de dados e servidores em um único servidor para reduzir custos.

Definições de política do Azure

As definições de Política do Azure ajudam a impor regras e configurações específicas para recursos em seu ambiente do Azure. Para garantir a otimização de custos para o Banco de Dados do Azure para PostgreSQL, você pode criar definições personalizadas de Política do Azure para impor configurações específicas e práticas recomendadas. Aqui está um exemplo de algumas definições personalizadas da Política do Azure que você pode criar para otimização de custos:

Excelência operacional

Os princípios da excelência operacional são uma série de considerações que podem ajudar a alcançar práticas operacionais superiores.

Para alcançar uma maior competência em operações, considere e melhore a forma como o software é desenvolvido, implantado, operado e mantido.

Lista de verificação de projeto de excelência operacional

Você deve rever os princípios de projeto otimizar o custo de sua arquitetura.

  • Configure backups automatizados e políticas de retenção para manter a disponibilidade dos dados e atender aos requisitos de conformidade.
  • Implemente patches e atualizações automatizados para manter sua instância do PostgreSQL segura e up-toatualizada.
  • Monitore a integridade e o desempenho do banco de dados usando o Azure Monitor e configure alertas para métricas críticas.

Recomendações de excelência operacional

Recomendação Benefícios
Configure backups automatizados e políticas de retenção para manter a disponibilidade dos dados e atender aos requisitos de conformidade.

Como alternativa, use uma política de Backup do Azure para executar cópias de segurança do Azure Database for PostgreSQL.

Você também pode usar essa política de Backup do Azure para proteger o Banco de Dados do Azure para PostgreSQL - Servidor Flexível.
O Banco de Dados do Azure para PostgreSQL fornece backups automatizados e restauração point-in-time para seu banco de dados. Você pode configurar o período de retenção para backups de até 35 dias.

O Backup do Azure permite definir como e quando os backups são criados, o período de retenção para pontos de recuperação e as regras de proteção e recuperação de dados. Você pode reter pontos de recuperação em um cofre de backup por até 10 anos.

Use a política de Backup do Azure para proteção de longo prazo do Azure Database for PostgreSQL - Servidor Flexível e para gerir a segurança e a integridade do banco de dados. Você também pode gerenciar as operações de backup e restauração usando Centro de Continuidade de Negócios do Azure.
Implemente patches e atualizações automatizados para manter sua instância do PostgreSQL segura e up-toatualizada. O Banco de Dados do Azure para PostgreSQL fornece patches e atualizações automatizados para seu banco de dados. Você pode configurar a janela de manutenção do servidor para minimizar o impacto na carga de trabalho.
Monitore a integridade e o desempenho do banco de dados usando o Azure Monitor e configure alertas para métricas críticas. O Banco de Dados do Azure para PostgreSQL fornece recursos internos de monitoramento e alerta. Você pode monitorar a integridade e o desempenho do seu banco de dados usando o Azure Monitor. Você também pode configurar alertas para métricas críticas para ser notificado quando seu banco de dados não estiver funcionando conforme o esperado.

Definições da política de excelência operacional

As definições de Política do Azure ajudam a impor regras e configurações específicas para recursos em seu ambiente do Azure. Para garantir a excelência operacional do Banco de Dados do Azure para PostgreSQL, você pode criar definições personalizadas da Política do Azure para impor configurações específicas e práticas recomendadas. Aqui está um exemplo de algumas definições personalizadas da Política do Azure que você pode criar para excelência operacional:

Eficiência de desempenho

Eficiência de desempenho é a capacidade de sua carga de trabalho de escalar para atender às demandas colocadas a ela pelos usuários de forma eficiente. Recomendamos que você revise os princípios de eficiência de desempenho.

Na lista de verificação de design e na lista de recomendações abaixo, os textos explicativos indicam se cada opção se aplica à arquitetura de cluster, à arquitetura de carga de trabalho ou a ambas.

Lista de verificação do projeto de eficiência de desempenho

Você deve rever os princípios de projeto para otimizar o custo de sua arquitetura.

  • Projete seu esquema e consultas para obter eficiência para minimizar o consumo de recursos.
  • Implemente réplicas de leitura para diminuir o tráfego de leitura e melhorar o desempenho geral.

Recomendações de eficiência de desempenho

Recomendação Benefícios
Projete seu esquema e consultas para obter eficiência para minimizar o consumo de recursos. Deve projetar o esquema e as consultas de forma eficiente para minimizar o consumo de recursos.
Implemente réplicas de leitura para aliviar o tráfego de leitura e melhorar o desempenho geral. Você pode usar réplicas de leitura para aliviar o tráfego de leitura e melhorar o desempenho.

Definições da política de eficiência de desempenho

As definições de Política do Azure ajudam a impor regras e configurações específicas para recursos em seu ambiente do Azure. Para garantir a eficiência de desempenho do Banco de Dados do Azure para PostgreSQL, você pode criar definições personalizadas de Política do Azure para impor configurações específicas e práticas recomendadas. Aqui está um exemplo de algumas definições personalizadas da Política do Azure que você pode criar para eficiência de desempenho:

Recursos extras

Considere mais recursos relacionados ao Banco de Dados do Azure para PostgreSQL.

Orientação do Centro de Arquitetura do Azure

Diretrizes do Cloud Adoption Framework

Próximo passo