Implantar um Autonomous Database com um Servidor Web Flask

Ative o acesso privado a um banco de dados autônomo totalmente gerenciado no Oracle Cloud Infrastructure em uma sub-rede privada. Isso designará um IP privado ao banco de dados autônomo para acesso.

Arquitetura

Esta arquitetura mostra um servidor Web Flask voltado ao público conectado a um banco de dados autônomo com um ponto final privado provisionado no Oracle Cloud Infrastructure.

Veja a seguir a descrição da ilustração autonomous-db-private-endpoint.png
Descrição da ilustração autonomous-db-private-endpoint.png

autonomous-db-private-endpoint-oracle.zip

A arquitetura tem os seguintes componentes:

  • Banco de dados autônomo, com um ponto final privado

    Essa arquitetura usa um banco de dados autônomo (que pode ser um banco de dados Oracle Autonomous Transaction Processing ou um Oracle Autonomous Data Warehouse) provisionado em uma sub-rede privada, ou seja, com um ponto final privado.

  • 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.

  • 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. Você pode alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou privada.

    Nessa arquitetura, o servidor Web é anexado a uma sub-rede pública e o banco de dados autônomo está em uma sub-rede privada.

Recomendações

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

  • Calcular formas

    Esta arquitetura usa uma instância de computação do Oracle Linux 7.7 com uma forma VM.Standard2.1 para o servidor baseado em Flask. Se o aplicativo precisar de mais potência de processamento, memória ou largura de banda de rede, escolha uma forma maior.

  • 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.

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

  • Banco de dados autônomo

    Nesta arquitetura, a aplicação armazena dados relacionais em um banco de dados autônomo. Recomendamos o uso da versão mais recente do Oracle Database.

Considerações

  • Escalabilidade do servidor Web

    Você pode dimensionar sua aplicação Flask usando o pool de instâncias de computação e os recursos de dimensionamento automático.

    Os pools de instâncias permitem provisionar e criar várias instâncias de computação com base na mesma configuração, dentro da mesma região.

    O dimensionamento automático permite ajustar automaticamente o número de instâncias de computação em um pool de instâncias com base em métricas de desempenho, como a utilização da CPU. O dimensionamento automático ajuda a fornecer desempenho consistente para os usuários durante períodos de alta demanda e ajuda a reduzir o custo durante períodos de baixa demanda.

  • Escalabilidade do banco de dados autônomo

    Você pode escalar manualmente o número base de núcleos de CPU do banco de dados para cima ou para baixo a qualquer momento. O recurso de dimensionamento automático permite que seu banco de dados use até três vezes o número base atual de núcleos de CPU a qualquer momento. À medida que a demanda aumenta, o dimensionamento automático aumenta automaticamente o número de núcleos em uso. Você pode dimensionar a capacidade de armazenamento do banco de dados a qualquer momento sem afetar a disponibilidade ou o desempenho.

  • Disponibilidade do aplicativo

    Os domínios com falha fornecem a melhor resiliência dentro de um domínio de disponibilidade. Se precisar de maior disponibilidade, considere usar vários domínios de disponibilidade ou várias regiões.

  • Backups de bancos de dados autônomos

    O backup do banco de dados autônomo é feito automaticamente e os backups são retidos por 60 dias. Você pode restaurar e recuperar o banco de dados a qualquer momento durante o período de retenção.

    Você também pode criar backups manuais para complementar os backups automáticos. Os backups manuais são armazenados em um bucket criado no Oracle Cloud Infrastructure Object Storage e os backups são retidos por 60 dias.

  • Backups de computação

    O serviço Oracle Cloud Infrastructure Block Volumes permite fazer backups pontuais de dados em um volume em blocos. Em seguida, você pode restaurar os backups para novos volumes imediatamente ou posteriormente.

    Você também pode usar o serviço para fazer um backup pontual e consistente com falha de um volume de inicialização sem interrupção do aplicativo ou tempo de inatividade. Os recursos de backup do volume de inicialização são iguais aos recursos de backup do volume em blocos.

  • Segurança
    • Políticas

      Use políticas para restringir quem pode acessar seus recursos do Oracle Cloud Infrastructure e quais operações eles podem executar.

    • Segurança da rede

      O serviço de rede oferece dois recursos de firewall virtual que usam regras de segurança para controlar o tráfego no nível do pacote: listas de segurança e grupos de segurança de rede (NSG).

      Um NSG consiste em um conjunto de regras de segurança de entrada e saída que se aplicam apenas a um conjunto de VNICs de sua escolha em um VCN. Por exemplo, um NSG pode incluir as VNICs de todas as instâncias de computação na camada Web de um aplicativo de várias camadas.

      As regras de segurança NSG funcionam da mesma forma que as regras da lista de segurança. No entanto, para a origem ou destino de uma regra de segurança NSG, você pode especificar um NSG em vez de um bloco CIDR. Portanto, você pode facilmente gravar regras de segurança para controlar o tráfego entre dois NSGs na mesma VCN ou tráfego dentro de um único NSG.

      Ao provisionar o banco de dados autônomo no Oracle Cloud Infrastructure, você pode especificar um ou mais NSGs. Você também pode atualizar um banco de dados existente para usar um ou mais NSGs.

Implantar

O código Terraform desta arquitetura de referência está disponível no GitHub. Você pode inserir o código no Oracle Cloud Infrastructure Resource Manager com um único clique, criar a pilha e implantá-la. Como alternativa, você pode fazer download do código do GitHub para o seu computador, personalizar o código e implantar a arquitetura usando a CLI do Terraform.

  • Implantar usando o Oracle Cloud Infrastructure Resource Manager:
    1. Clique em Implantar no Oracle Cloud

      Se você ainda não tiver efetuado sign-in, informe as credenciais da tenancy e do usuário.

    2. Analise e aceite os termos e as condições.
    3. Selecione a região em que deseja implantar a pilha.
    4. Siga os prompts e as instruções na tela para criar a pilha.
    5. Depois de criar a pilha, clique em Ações do Terraform e selecione Plano.
    6. Aguarde a conclusão do job e revise o plano.

      Para fazer alterações, retorne à página Detalhes da Pilha, clique em Editar Pilha e faça as alterações necessárias. Em seguida, execute a ação Plano novamente.

    7. Se nenhuma outra alteração for necessária, retorne à página Detalhes da Pilha, clique em Ações do Terraform e selecione Aplicar.
  • Implante usando a CLI do Terraform:
    1. Vá para o GitHub.
    2. Faça download ou clone o código no seu computador local.
    3. Siga as instruções no README.

Log de Alterações

Este log lista apenas as alterações significativas: