Implantar um Banco de Dados PostgreSQL

O PostgreSQL é um sistema de gerenciamento de banco de dados relacional de objeto de origem aberto. É altamente extensível, altamente escalável e tem muitos recursos. O PostgreSQL suporta replicação de dados em vários data centers.

Observação:

O Oracle Cloud Infrastructure (OCI) oferece também um serviço PostgreSQL totalmente gerenciado no OCI. Você pode encontrar mais informações aqui: Experimente o melhor de PostgreSQL com o OCI Database com PostgreSQL.

Arquitetura

Esta arquitetura de referência mostra uma implantação típica de três nós de um cluster PostgreSQL em instâncias do Oracle Cloud Infrastructure Compute. Nesta arquitetura, os servidores são configurados na configuração mestre e standby e usam a replicação de streaming com o envio de log baseado em arquivo.

O diagrama a seguir ilustra esta arquitetura de referência.

Veja a seguir a descrição da ilustração postgre-oci.png
Descrição da ilustração postgre-oci.png

postgre-oci-oracle.zip

A arquitetura tem os seguintes componentes:

  • Região

    Uma região do Oracle Cloud Infrastructure é uma área geográfica localizada que contém um ou mais data centers, chamados domínios de disponibilidade. As regiões são independentes de outras regiões e grandes distâncias podem separá-las (entre países ou mesmo continentes).

  • Domínios de disponibilidade

    Os domínios de disponibilidade são data centers independentes e independentes em uma região. Os recursos físicos em cada domínio de disponibilidade são isolados dos recursos nos outros domínios de disponibilidade, o que fornece tolerância a falhas. Os domínios de disponibilidade não compartilham infraestrutura, como energia ou resfriamento, ou a rede de domínio de disponibilidade interna. Portanto, é improvável que uma falha em um domínio de disponibilidade afete os outros domínios de disponibilidade na região.

  • Domínios de falha

    Um domínio de falha é um agrupamento de hardware e infraestrutura dentro de um domínio de disponibilidade. Cada domínio de disponibilidade tem três domínios de falha com energia e hardware independentes. Quando você distribui recursos entre vários domínios de falha, seus aplicativos podem tolerar falhas físicas do servidor, manutenção do sistema e falhas de energia dentro de um domínio de falha.

  • Rede virtual na nuvem (VCN) e sub-redes

    Um VCN é uma rede personalizável definida por software que você configura em uma região do Oracle Cloud Infrastructure. Como as redes tradicionais de data center, as VCNs oferecem controle total sobre seu ambiente de rede. Um VCN pode ter vários blocos CIDR não sobrepostos que você pode alterar depois de criar o VCN. Você pode segmentar uma VCN em sub-redes, que podem ter escopo para uma região ou para um domínio de disponibilidade. Cada sub-rede consiste em uma faixa contígua de endereços que não se sobrepõem às outras sub-redes na VCN. É possível alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou privada.

    Essa arquitetura usa uma sub-rede pública para hospedar as três instâncias do serviço Compute que executam o PostgreSQL. Você pode optar por usar uma sub-rede privada se sua arquitetura exigir.

  • VPN Site a Site

    A VPN Site a Site fornece conectividade IPSec VPN entre sua rede local e VCNs no Oracle Cloud Infrastructure. A suíte de protocolos IPSec criptografa o tráfego IP antes que os pacotes sejam transferidos da origem para o destino e decodifica o tráfego quando ele chega.

  • FastConnect

    O Oracle Cloud Infrastructure FastConnect fornece uma maneira fácil de criar uma conexão privada dedicada entre o seu data center e o Oracle Cloud Infrastructure. O FastConnect fornece opções de largura de banda mais alta e uma experiência de rede mais confiável quando comparada com conexões baseadas na internet.

  • DRG (Dynamic Routing Gateway)

    O DRG é um roteador virtual que fornece um caminho para o tráfego de rede privada entre VCNs na mesma região, entre uma VCN e uma rede fora da região, como uma VCN em outra região do Oracle Cloud Infrastructure, uma rede local ou uma rede em outro provedor de nuvem.

    Esta arquitetura mostra um DRG (Dynamic Routing Gateway) opcional para uma sub-rede privada.

  • Gateway de internet

    O gateway de internet permite o tráfego entre as sub-redes públicas em uma VCN e a internet pública.

  • Gateway NAT (Network address translation)

    Um gateway NAT permite que recursos privados em uma VCN acessem hosts na internet, sem expor esses recursos a conexões provenientes da internet.

  • Serviço de bastion

    O Bastion Oracle Cloud Infrastructure fornece acesso seguro restrito e limitado por tempo a recursos que não têm pontos finais públicos e que requerem controles de acesso rigorosos de recursos, como máquinas virtuais e bare metal, Oracle MySQL Database Service, Autonomous Transaction Processing (ATP), Oracle Container Engine for Kubernetes (OKE) e qualquer outro recurso que permita acesso SSH (Secure Shell Protocol). Com o serviço Bastion do Oracle Cloud Infrastructure, você pode ativar o acesso a hosts privados sem implantar e manter um host jump. Além disso, você obtém uma postura de segurança aprimorada com permissões baseadas em identidade e uma sessão SSH centralizada, auditada e limitada por tempo. O Bastion do Oracle Cloud Infrastructure elimina a necessidade de um IP público para acesso bastion, eliminando o problema e a superfície de ataque potencial ao fornecer acesso remoto.

  • Tabela de roteamento

    As tabelas de roteamento virtual contêm regras para rotear o tráfego de sub-redes para destinos fora de uma VCN, geralmente por meio de gateways.

  • Listas de segurança

    Para cada sub-rede, você pode criar regras de segurança que especifiquem a origem, o destino e o tipo de tráfego que devem ser permitidos dentro e fora da sub-rede.

    Essa arquitetura adiciona regras de entrada para a porta TCP 5432. Os servidores PostgreSQL atendem na porta TCP 5432.

  • Volume em blocos

    Com volumes de armazenamento em blocos, você pode criar, anexar, conectar e mover volumes de armazenamento, e alterar o desempenho do volume para atender aos requisitos de armazenamento, desempenho e aplicativo. Depois de anexar e conectar um volume a uma instância, você pode usar o volume como disco rígido comum. Você também pode desconectar um volume e anexá-lo a outra instância sem perder dados.

  • PostgreSQL

    PostgreSQL é um sistema de gerenciamento de banco de dados relacional de código-fonte aberto (RDBMS) que é altamente extensível e altamente escalável. Ele suporta consulta SQL (relacional) e JSON (não relacional).

Recomendações

Seus requisitos podem diferir da arquitetura descrita aqui. Use as recomendações a seguir como ponto de partida.

  • Formas de computação

    Essa arquitetura usa uma imagem do SO Oracle Linux 9 com um VM.Standard.E4. Forma flexível. Você poderá escolher outra forma se as necessidades de recursos do seu aplicativo forem diferentes.

  • VCN

    Ao criar uma VCN, determine o número de blocos CIDR necessários e o tamanho de cada bloco com base no número de recursos que você planeja anexar a sub-redes na VCN. Use blocos CIDR que estejam dentro do espaço de endereço IP privado padrão.

    Selecione um intervalo de endereços que não se sobreponha à sua rede local, para que você possa configurar uma conexão entre o VCN e sua rede local, se necessário.

    Depois de criar um VCN, você poderá alterar, adicionar e remover seus blocos CIDR.

    Ao projetar as sub-redes, considere seus requisitos de funcionalidade e segurança. Anexe todas as instâncias de computação dentro da mesma camada ou atribuição à mesma sub-rede.

    Usar sub-redes regionais.

Considerações

  • Escalabilidade

    Esta arquitetura implanta o nó mestre do PostgreSQL em um domínio de falha e os nós stand-by nos outros dois domínios de falha.

    Você pode dimensionar verticalmente o cluster do PostgreSQL alterando a forma da VM de cada nó do serviço Compute. O uso de uma forma com uma contagem de núcleos maior também aumenta a memória alocada para a instância do serviço Compute e a largura de banda da rede.

  • Disponibilidade do aplicativo

    Os domínios de falha fornecem a melhor resiliência dentro de um único domínio de disponibilidade. Essa arquitetura usa outra abordagem para alta disponibilidade: implantar instâncias do serviço Compute que executam as mesmas tarefas em vários domínios de falha. Esse design remove um único ponto de falha introduzindo redundância.

    Depois que a arquitetura for implantada, você poderá estabelecer conexão com o endereço IP público do nó PostgreSQL usando ferramentas SSH, como PuTTY ou Git Bash. Você pode usar psql para operações DDL e DML no banco de dados PostgreSQL. Você pode usar a ferramenta pgAdmin para executar operações de administração.

  • Custo

    Selecione uma forma de máquina virtual (VM) com base nos núcleos, memória e largura de banda de rede necessários para o seu banco de dados. Você pode começar com uma forma de núcleo único e, se precisar de mais desempenho, memória ou largura de banda de rede para o nó do banco de dados, poderá alterar a forma da VM posteriormente.

Log de Alterações

Este log lista alterações significativas:

Confirmações

  • Author: Lukasz Feldman
  • Contributor: Wei Han