Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Banco de Dados do Azure para PostgreSQL é um serviço de banco de dados relacional no Azure baseado no banco de dados relacional de software livre do PostgreSQL. É uma solução de banco de dados totalmente gerenciada e baseada em nuvem que dá suporte a cargas de trabalho críticas com desempenho previsível, segurança, alta disponibilidade e escalabilidade dinâmica. O Banco de Dados do Azure para PostgreSQL é construído sobre a edição comunitária do mecanismo de banco de dados PostgreSQL. Ele é compatível com a edição de comunidade do servidor PostgreSQL e dá suporte a recursos de extensão do PostgreSQL, como PostGIS e TimescaleDB.
Este artigo pressupõe que, como arquiteto, você revisou as opções de dados do Azure e escolheu o Banco de Dados do Azure para PostgreSQL como o armazenamento de dados para sua carga de trabalho. As diretrizes neste artigo fornecem recomendações arquitetônicas mapeadas para os princípios dos pilares da Estrutura Well-Architected.
Escopo da tecnologia
Esta revisão se concentra nas decisões interrelacionadas para os seguintes recursos do Azure:
- Banco de Dados do Azure para PostgreSQL
Reliability
A finalidade do pilar confiabilidade é fornecer funcionalidade contínua criando resiliência suficiente e a capacidade de se recuperar rapidamente de falhas.
princípios de design de confiabilidade fornecem uma estratégia de design de alto nível aplicada a componentes individuais, fluxos do sistema e o sistema como um todo.
Lista de verificação de design de carga de trabalho
Familiarize-se com as diretrizes de confiabilidade do produto do Banco de Dados do Azure para PostgreSQL.
Para obter mais informações, consulte os seguintes recursos:Alinhe suas metas de confiabilidade e recuperação para o Banco de Dados do Azure para PostgreSQL com suas metas de workloads. Escolha uma SKU apropriada do Azure Database for PostgreSQL que possa dar suporte às suas metas de confiabilidade e recuperação.
Determine as configurações apropriadas de alta disponibilidade e redundância para suas instâncias do Banco de Dados do Azure para PostgreSQL. Determine se você precisa de configurações zonais ou com redundância de zona para atender aos seus requisitos de confiabilidade.
Incorpore a recuperação das instâncias do Banco de Dados do Azure para PostgreSQL em seu planejamento e exercícios de recuperação de desastre. Verifique se toda a sua carga de trabalho é recuperável de acordo com seus objetivos de recuperação.
Incorpore suas instâncias do Banco de Dados do Azure para PostgreSQL em sua plataforma de observabilidade. Habilite métricas aprimoradas para monitorar a saúde da sua instância. Inclua monitoramento da saúde em alta disponibilidade em sua solução de monitoramento.
Recomendações de configuração
| Recommendation | Benefit |
|---|---|
| Selecione a configuração de alta disponibilidade apropriada. | Quando a alta disponibilidade é configurada, o servidor do Banco de Dados do Azure para PostgreSQL provisiona e gerencia automaticamente uma réplica em espera. Essa configuração garante que o serviço permaneça disponível e não perca dados durante uma interrupção de zona. |
| Configurar backups com 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 desastre se a região do servidor primário não estiver disponível. A redundância geográfica também pode ser obtida usando um cofre de Backup do Azure para armazenamento de longo prazo dos pontos de recuperação. Se ocorrer uma interrupção regional ou desastre, você poderá usar o Backup para restaurar o servidor de banco de dados para uma região emparelhada com o Azure, o que minimiza o tempo de inatividade. O Backup do Azure também fornece redundância geográfica para o Banco de Dados do Azure para PostgreSQL. Esse recurso aumenta a eficiência e reduz o tempo de inatividade durante desastres ou interrupções regionais. |
| Teste regularmente sua estratégia de backup e restauração. | Testar regularmente sua estratégia de backup e restauração garante que você possa recuperar seus bancos de dados e manter operações se ocorrer uma falha. |
Segurança
O objetivo do pilar Segurança é fornecer garantias de confidencialidade, integridade e disponibilidade à carga de trabalho.
Os princípios de design de segurança fornecem uma estratégia de design de alto nível para atingir essas metas aplicando abordagens ao design técnico do Banco de Dados do Azure para PostgreSQL.
Lista de verificação de design de carga de trabalho
Examine a linha de base de segurança. Para melhorar a postura de segurança da carga de trabalho, examine a linha de base de segurança do Azure para Banco de Dados do Azure para PostgreSQL.
Implemente o gerenciamento de identidades e acesso rigoroso, condicional e auditável. Use a ID do Microsoft Entra para autenticação e autorização para aprimorar o gerenciamento de identidade.
Aplicar controles de segmentação e segurança de rede. Use o firewall interno no nível do servidor junto com mecanismos de firewall de rede virtual para isolar sua instância de outros componentes de carga de trabalho e redes públicas.
Use recursos de segurança nativos para adicionar camadas extras de proteção. Ajude a evitar atividades mal-intencionadas configurando a segurança em nível de linha e a limitação de conexão.
Recomendações de configuração
| Recommendation | Benefit |
|---|---|
| Implemente grupos de segurança de rede e firewalls para controlar o acesso ao banco de dados. | Como parte do modelo de Confiança Zero para segurança, use a segmentação de rede para restringir caminhos de comunicação entre componentes, como servidores de aplicativo e banco de dados, apenas para o que é necessário. Esse recurso pode ser implementado usando grupos de segurança de rede e grupos de segurança de aplicativos. |
| Conecte-se aos bancos de dados por meio do Link Privado do Azure. | O Link Privado permite que você crie pontos de extremidade privados para o Azure Database for PostgreSQL, estendendo o serviço dentro de sua rede virtual. |
| Use a ID do Microsoft Entra para autenticação e autorização para aprimorar o gerenciamento de identidade. | Você pode usar a autenticação do Microsoft Entra para se conectar ao Banco de Dados do Azure para PostgreSQL usando identidades gerenciadas no Microsoft Entra. |
| Configure a segurança em nível de linha. | A segurança em nível de linha é 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 exibem e operam para uma ou mais funções. A segurança em nível de linha é um filtro extra que você pode aplicar a uma tabela de banco de dados PostgreSQL. |
| Se necessário para conformidade, use CMKs (chaves gerenciadas pelo cliente) para criptografia de dados e armazene suas chaves no Azure Key Vault. | Os CMKs oferecem controle total do ciclo de vida da chave de criptografia, incluindo a rotação de chaves, para se alinhar às políticas corporativas. O Key Vault permite o gerenciamento centralizado e a organização de suas chaves de criptografia em suas próprias instâncias dedicadas do Key Vault. |
| Para os requisitos de segurança mais altos, habilite a computação confidencial para proteger os dados em uso com criptografia baseada em hardware. | A computação confidencial fornece criptografia baseada em hardware para operações de processamento de dados. As organizações que processam dados confidenciais em setores altamente regulamentados podem atender a requisitos regulatórios rigorosos, mantendo o desempenho do banco de dados. |
| Habilite a limitação de conexão para endereços IP com excesso de tentativas de entrada com falha. | Definir o parâmetro do connection_throttling servidor para enabled ajudar a proteger seus bancos de dados contra tentativas de entrada mal-intencionadas e ataques de DDoS (negação de serviço distribuído) limitando tentativas de conexão repetidas do mesmo endereço IP. |
| Realize auditorias de segurança regularmente. | A realização regular de auditorias de segurança ajuda a identificar e corrigir possíveis vulnerabilidades. |
Otimização de custos
A otimização de custos se concentra na na detecção de padrões de gastos, na priorização de investimentos em áreas críticas e na otimização de outras para atender ao orçamento da organização e, ao mesmo tempo, aos requisitos comerciais.
Os princípios de design de Otimização de Custos fornecem uma estratégia de design de alto nível para atingir essas metas e fazer compensações conforme necessário no design técnico relacionado ao Banco de Dados do Azure para PostgreSQL e seu ambiente.
Lista de verificação de design de carga de trabalho
Estimar o custo inicial. Como parte do exercício de modelagem de custos, use a calculadora de preços do Azure para avaliar os custos aproximados associados ao Banco de Dados do Azure para PostgreSQL em sua carga de trabalho.
Escolha a camada de serviço certa para sua carga de trabalho. Determine se o tipo de preço Com Capacidade de Intermitência, Uso Geral ou Otimizado para Memória para recursos computacionais atende as necessidades do seu caso de uso.
Aplique uma estratégia de dimensionamento bem informada. Para determinar quando e como dimensionar seus recursos do Banco de Dados do Azure para PostgreSQL, observe e analise continuamente a capacidade e a demanda da carga de trabalho.
Aproveite os descontos disponíveis. Considere reservas de recursos computacionais para um ou três anos. Instâncias reservadas podem economizar custos significativos para recursos de computação.
Use o armazenamento provisionado. Não há custo adicional para o armazenamento de backup até 100% do armazenamento total do servidor provisionado.
Entenda os custos de redundância. O uso de configurações zonais ou com redundância de zona duplica os custos da instância, por isso avalie o projeto de redundância com atenção.
Entenda os custos de instância protegida e do armazenamento de backup. Ao fazer backup do Banco de Dados do Azure para PostgreSQL usando o Backup do Azure, você incorre em taxas de instância protegidas para cada 250 GB e taxas de armazenamento de backup com base no total de dados armazenados e no tipo de redundância.
Implante na mesma região que o aplicativo. Implante na mesma região que seus aplicativos para minimizar os custos de transferência.
Consolide bancos de dados e servidores. Quando prático, a consolidação de vários bancos de dados e servidores em um único servidor pode ajudar a reduzir os custos.
Recomendações de configuração
| Recommendations | Benefits |
|---|---|
| Escolha o tipo e a SKU corretos. | Escolher o tipo e a SKU corretos ajuda a evitar o desperdício de dinheiro com recursos superprovisionados. O Advisor do Azure fornece recomendações, incluindo sugestões de dimensionamento de servidores, para otimizar e reduzir seus gastos gerais com Azure. |
| Dimensione os recursos de computação e armazenamento quando a demanda de carga de trabalho for alterada. | Você pode dimensionar os recursos de computação verticalmente (para cima ou para baixo) e horizontalmente (para fora ou para dentro) conforme necessário. Você não pode reduzir o armazenamento depois de aumentá-lo. |
| Use o recurso iniciar/parar. | Use o recurso iniciar/parar para impedir que o servidor seja executado quando ele não for necessário. |
Excelência operacional
A Excelência Operacional concentra-se principalmente em procedimentos relacionados às práticas de desenvolvimento , observabilidade e gerenciamento de lançamentos.
Os princípios de design da Excelência Operacional fornecem uma estratégia de design de alto nível para atingir essas metas para os requisitos operacionais da carga de trabalho.
Lista de verificação de design de carga de trabalho
Otimize a capacidade de recuperação de seus bancos de dados. Defina políticas de backup e retenção para atender aos seus requisitos de conformidade.
Automatizar tarefas operacionais. Use tarefas de automação para executar tarefas automaticamente, como iniciar e parar um servidor, dimensionar recursos e outras tarefas.
Monitore a integridade e o desempenho do banco de dados. Colete e analise logs e métricas de sua instância para detectar proativamente possíveis problemas.
Mantenha-se atualizado com as versões do PostgreSQL. As versões mais recentes vêm com recursos de atualização in-loco com tempo de inatividade zero, permitindo transições de versão principais sem interrupção do serviço.
Recomendações de configuração
| Recommendation | Benefits |
|---|---|
| Use uma política de Backup do Azure individualmente ou junto com os backups automatizados nativos para fazer backup de bancos de dados. | O Banco de Dados do Azure para PostgreSQL fornece backups automatizados e restauração pontual para seu banco de dados. Você pode configurar o período de retenção para backups de até 35 dias. Use o Backup do Azure para 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 manter pontos de recuperação em um cofre de Backup do Azure por até 10 anos. Você também pode gerenciar as operações de backup e restauração usando o Centro de Continuidade de Negócios do Azure. |
| Agende janelas de manutenção personalizadas para aplicar atualizações de serviço. | Você pode definir um agendamento personalizado para cada Banco de Dados do Azure para PostgreSQL em sua assinatura do Azure. Com um agendamento personalizado, você pode especificar sua janela de manutenção para o servidor escolhendo o dia da semana e a hora de início da janela de manutenção de uma hora. |
| Monitore seu servidor para garantir que ele esteja íntegro e executando conforme o esperado. | O Banco de Dados do Azure para PostgreSQL tem várias métricas que fornecem insights sobre o comportamento dos recursos que dão suporte à instância do Banco de Dados do Azure para PostgreSQL. Você também pode habilitar métricas aprimoradas para obter monitoramento refinado e alertas em bancos de dados. |
Eficiência de desempenho
Eficiência de desempenho significa manter a experiência do usuário mesmo quando há um aumento na carga por meio do gerenciamento da capacidade. A estratégia inclui dimensionamento de recursos, identificação e otimização de possíveis gargalos e otimização para o desempenho de pico.
Os princípios de design de eficiência de desempenho fornecem uma estratégia de design de alto nível para atingir essas metas de capacidade considerando o uso esperado.
Lista de verificação de design de carga de trabalho
Otimize as consultas. Use recursos nativos para encontrar oportunidades para otimizar consultas.
Otimizar índices. Use recursos como ajuste de índice para analisar automaticamente padrões de consulta e receber recomendações acionáveis para criar ou remover índices para melhorar o desempenho.
Descarregue as operações somente leitura. Se o aplicativo aceita cadeias de conexão somente leitura, você pode descarregar as operações somente leitura para réplicas de leitura.
Recomendações de configuração
| Recommendation | Benefits |
|---|---|
| Use o repositório de consultas para acompanhar o desempenho da consulta ao longo do tempo. | O repositório de consultas simplifica a solução de problemas de desempenho, ajudando você a encontrar rapidamente as consultas mais longas e com uso intensivo de recursos. |
| Use o Query Performance Insight para identificar as principais consultas de consumo de recursos e de execução longa em sua carga de trabalho. | A Análise de Desempenho de Consultas ajuda a identificar consultas de longa duração e as alterações ao longo do tempo, determinar os tipos de espera que as afetam, analisar as principais consultas de banco de dados por frequência, além de outros benefícios. |
| Use o ajuste de índice com o repositório de consultas para analisar consultas controladas e fornecer recomendações. | O ajuste de índice analisa a carga de trabalho rastreada pelo repositório de consultas. Ele produz recomendações de índice para melhorar o desempenho da carga de trabalho analisada ou remover índices duplicados ou não utilizados. O ajuste de índice ajuda a identificar índices benéficos, índices duplicados e índices não utilizados. |
| Use o ajuste inteligente para melhorar o desempenho automaticamente e ajudar a evitar problemas. | O ajuste inteligente monitora continuamente o status do banco de dados de servidor flexível do Banco de Dados do Azure para PostgreSQL e adapta dinamicamente o banco de dados à sua carga de trabalho. |
| Habilite o suporte para PgBouncer para otimizar o pool de conexões. | Aprimora a utilização de recursos de banco de dados e o gerenciamento de conexões. |
Políticas do Azure
O Azure fornece um amplo conjunto de políticas internas relacionadas ao Banco de Dados do Azure para PostgreSQL e suas dependências. Algumas das recomendações anteriores podem ser auditadas por meio do Azure Policy. Por exemplo, você pode verificar se:
Para governança abrangente, examine as definições pré-definidas do Azure Policy para o Banco de Dados do Azure para PostgreSQL e outras políticas que podem afetar a segurança dos repositórios de dados.
Recomendações do Assistente do Azure
O Assistente do Azure é um consultor de nuvem personalizado que ajuda você a seguir as práticas recomendadas para otimizar suas implantações do Azure.
Para obter mais informações, consulte o Assistente do Azure.
Arquitetura de exemplo
Arquitetura fundamental que demonstra as principais recomendações: padrão de aplicativo Web confiável para Java.