Implantar Aplicativos Nativos da Nuvem que usem o MySQL para o Oracle Cloud Infrastructure
Você pode usar o Oracle Container Engine for Kubernetes (OKE), o Oracle Cloud Infrastructure Registry e o Oracle MySQL Database Service (MDS) para desenvolver e implantar aplicativos nativos da nuvem e migrar aplicativos legados para a nuvem.
O OKE é um serviço totalmente gerenciado, escalável e altamente disponível que você pode usar para implantar seus aplicativos de contêineres na nuvem. Use o OKE quando sua equipe de desenvolvimento quiser criar, implantar e gerenciar de forma confiável aplicativos nativos da nuvem.
Você pode usar o Oracle Cloud Infrastructure Registry como um registro privado do Docker para uso interno, enviar e extrair imagens do Docker para e do registro usando a API V2 do Docker e a CLI (interface de linha de comando) padrão do Docker.
O MDS é um serviço nativo do Oracle Cloud Infrastructure totalmente gerenciado, que automatiza tarefas como backup e recuperação, bem como aplicação de patches do banco de dados e do sistema operacional.
O uso do MDS no Oracle Cloud Infrastructure Compute tem as seguintes vantagens:
- Implante o MySQL em minutos.
- Aproveite um serviço OCI totalmente gerenciado.
- Concentre-se no desenvolvimento, não na administração de infraestrutura.
- Use ferramentas e recursos mais recentes para aplicativos modernos.
- Dimensione de acordo com suas necessidades.
- Evite a sombra de TI.
Arquitetura
Essa arquitetura de referência contém uma camada de banco de dados altamente disponível, criada com o MDS e um cluster do OKE.
O diagrama a seguir ilustra essa arquitetura de referência.

Descrição da ilustração architecture-kubernetes-mysql-oci.png
arquitetura-kubernetes-mysql-oci-oracle.zip
Ao implantar o MDS em uma sub-rede de Domínio Ativo, o MDS implantará um cluster de instâncias do MySQL, com uma instância em cada Domínio de Falha para fornecer a redundância. Uma instância é a principal e as outras duas instâncias são as secundárias. O principal inclui um único ponto final que permite leituras e gravações no banco de dados, enquanto as secundárias recebem dados replicados do principal. Não é permitido o acesso direto às instâncias secundárias.
Em caso de falha ou switchover manual, uma das secundárias se torna a nova instância principal e o ponto final é redirecionado a ela. Isso significa que o endereço IP do ponto final nunca muda e não há necessidade de atualizar o aplicativo. A OCI gerencia os aspectos de alta disponibilidade do banco de dados.
A arquitetura inclui um cluster do OKE, que funciona com o Oracle Cloud Infrastructure Registry para acomodar aplicativos nativos da nuvem desenvolvidos e implantáveis.
A arquitetura tem os seguintes componentes:
- Bastion host
O bastion host é uma instância de computação que serve como ponto de entrada seguro e controlado para a topologia de fora da nuvem. O bastion host geralmente é provisionado em uma zona desmilitarizada (DMZ). Ele permite proteger recursos confidenciais colocando-os nas redes privadas que não podem ser acessadas diretamente de fora da nuvem. A topologia tem um único ponto de entrada conhecido que você pode monitorar e auditar regularmente. Portanto, você pode evitar expor os componentes mais confidenciais da topologia sem comprometer o acesso a eles.
- Container Engine for Kubernetes
O Oracle Cloud Infrastructure Container Engine for Kubernetes é um serviço totalmente gerenciado, escalável e altamente disponível que você pode usar para implantar seus aplicativos de contêineres na nuvem. Você especifica os recursos de computação necessários para os seus aplicativos, e o Serviço Container Engine for Kubernetes vai provisioná-los no Oracle Cloud Infrastructure em uma tenancy existente. O Serviço Container Engine for Kubernetes usa o Kubernetes para automatizar a implantação, o dimensionamento e o gerenciamento de aplicativos de contêineres em clusters de hosts.
- Oracle MySQL Database Service
O Oracle MySQL Database Service é um serviço de banco de dados do Oracle Cloud Infrastructure (OCI) totalmente gerenciado que permite aos desenvolvedores desenvolver e implantar rapidamente aplicativos nativos da nuvem seguros. Otimizado e exclusivamente disponível no OCI, o Oracle MySQL Database Service é 100% criado, gerenciado e suportado pelas equipes de engenharia do OCI e do MySQL.
O Oracle MySQL Database Service tem um mecanismo de análise integrado, de alto desempenho (HeatWave) para executar análises sofisticadas em tempo real diretamente em um banco de dados MySQL operacional.
- Registro
O Oracle Cloud Infrastructure Registry é um registro gerenciado pela Oracle que permite simplificar seu workflow de desenvolvimento até a produção. O registro facilita o armazenamento, o compartilhamento e o gerenciamento de artefatos de desenvolvimento, como imagens do Docker. A arquitetura altamente disponível e escalável do Oracle Cloud Infrastructure garante que você possa implantar e gerenciar seus aplicativos de forma confiável.
- Região
Uma região do Oracle Cloud Infrastructure é uma área geográfica localizada que contém um ou mais data centers, denominados domínios de disponibilidade. As regiões são independentes das outras regiões, e grandes distâncias podem se separar (em países ou até mesmo continentes).
- VCN (Virtual Cloud Network) e sub-rede
Uma VCN é uma rede personalizável definida por software que você configura em uma região do Oracle Cloud Infrastructure. Como as redes de data center tradicionais, as VCNs dão a você total controle sobre seu ambiente de rede. Uma VCN pode ter vários blocos CIDR não sobrepostos que você pode alterar após criar a VCN. Você pode segmentar uma VCN em sub-redes, que podem ter escopo em uma região ou em um domínio de disponibilidade. Cada sub-rede consiste em um intervalo contínuo de endereços que não se sobrepõem com as outras sub-redes da VCN. Você pode alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou privada.
- Domínios de disponibilidade
Os domínios de disponibilidade são data centers independentes e independentes dentro de uma região. Os recursos físicos de cada domínio de disponibilidade são isolados dos recursos de outros domínios de disponibilidade, que oferecem tolerância a falhas. Os domínios de disponibilidade não compartilham infraestrutura como energia ou resfriamento ou rede interna. Portanto, é pouco provável que uma falha em um domínio de disponibilidade afete os outros domínios
- Domínios de falha
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 diversos domínios de falha, seus aplicativos podem tolerar falha física do servidor, manutenção do sistema e falhas de alimentação dentro de um domínio de falha.
- Gateway de roteamento dinâmico (DRG)
O DRG é um roteador virtual que fornece um caminho para o tráfego de rede privada 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.
- Gateway de serviço
O gateway de serviço fornece acesso de uma VCN a outros serviços, como o Oracle Cloud Infrastructure Object Storage. O tráfego da VCN para o serviço Oracle percorre a malha da rede Oracle e nunca atravessa a internet.
- 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.
- Lista 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 deve ser permitido dentro e fora da sub-rede.
- 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.
Recomendações
Seus requisitos podem ser diferentes da arquitetura descrita aqui. Use as recomendações a seguir como ponto de partida.
- Bastion host
Use a forma VM.Standard.E4.Flex com uma CPU e 1 GB de memória e o Sistema Operacional Oracle Linux mais recente.
- Cluster do OKE
Use a opção Criação Personalizada na Console para que você possa especificar uma VCN e uma sub-rede para implantação. Crie um cluster de três nós e escolha VM.Standard.E4.Flex como sua forma inicial. Para implantações maiores, você pode usar um tamanho de cluster maior com uma forma de computação mais alta.
- Forma do Sistema de BD
Essa arquitetura usa Alta Disponibilidade no MDS para fornecer três servidores MySQL distribuídos entre os domínios de falha. Para uma carga de trabalho leve, recomendamos o uso do MySQL.VM.Standard.E3.1.8GB.HA. É possível usar configurações maiores para cargas de trabalho mais exigentes.
- Estabelecendo conexão com o MDS
Você pode acessar o MDS diretamente com o cliente MySQL ou um shell MySQL instalado em VMs ou contêineres de aplicativos.
- Armazenamento do Banco de Dados do MDS
O desempenho do Armazenamento de Banco de Dados do MDS é dimensionado com o tamanho de armazenamento selecionado para o sistema de BD. Não é possível limitar ou editar o IOPS de armazenamento do MDS. Você deve provisionar o tamanho do armazenamento com base no tamanho dos dados e nos requisitos de desempenho. O MDS usa a opção de Desempenho Superior do serviço Block Volume no iSCSI. Os resultados finais do desempenho podem variar para diferentes formas e cenários.
- Registro de Contêiner
A Oracle gerencia o registro; portanto, você não precisa escolher o tamanho ou nenhuma outra opção. Recomendamos a criação de um registro privado para as melhores práticas de segurança.
- 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 às sub-redes na VCN. Use blocos CIDR que estão dentro do espaço de endereço IP privado padrão.
Selecione os blocos CIDR que não se sobrepõem a nenhuma outra rede (no Oracle Cloud Infrastructure, em seu data center local ou em outro provedor de nuvem) para a qual você pretende configurar conexões privadas.
Depois de criar uma VCN, você poderá alterar, adicionar e remover seus blocos CIDR.
Ao projetar as sub-redes, considere seu fluxo de tráfego e os requisitos de segurança. Anexe todos os recursos dentro de uma camada ou atribuição específica à mesma sub-rede, que pode servir como limite de segurança.
Considerações
- Escalabilidade
Você pode dimensionar o MySQL verticalmente, alterando a configuração da VM de cada nó do serviço Compute. O uso de uma forma com uma contagem de núcleos mais alta aumenta a memória e a largura de banda da rede alocadas para a instância do serviço Compute.
- Disponibilidade do aplicativo
Essa arquitetura usa Alta Disponibilidade no MDS para distribuir instâncias de computação entre diversos domínios de falha, o que remove pontos únicos de falha e fornece redundância.
- Custo
Selecione a configuração da 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 um núcleo. Se você precisar de mais largura de banda de desempenho, memória ou rede para o nó do aplicativo ou do banco de dados, poderá alterar a configuração da VM posteriormente.
Implantar
O código do Terraform para esta arquitetura de referência está disponível como uma pilha de amostra no Oracle Cloud Infrastructure Resource Manager. Você também pode baixar o código do GitHub, e personalizá-lo de acordo com seus requisitos específicos.
- Implante usando a pilha de amostra no Oracle Cloud Infrastructure Resource Manager:
- Clique em
Se você ainda não estiver conectado, informe a tenancy e as credenciais do usuário.
- Revise e aceite os termos e condições.
- Selecione a região na qual você deseja implantar a pilha.
- Siga os prompts na tela e as instruções para criar a pilha.
- Após criar a pilha, clique em Ações do Terraform e selecione Planejar.
- Aguarde a conclusão da tarefa e revise o plano.
Para fazer qualquer alteração, retorne à página Detalhes da Pilha, clique em Editar Pilha e faça as alterações necessárias. Em seguida, execute a ação Planejar novamente.
- Se nenhuma alteração adicional for necessária, retorne à página Detalhes da Pilha, clique em Ações do Terraform e selecione Aplicar.
- Clique em
- Implante usando o código do Terraform no GitHub:
- Vá para GitHub.
- Clone ou faça download do repositório para seu computador local.
- Siga as instruções no documento
README
.
Saiba Mais
Para obter mais informações sobre alta disponibilidade e o MDS, consulte os seguintes recursos:
- Criando Aplicativos Altamente Disponíveis em uma Região com um Domínio de Disponibilidade
- Aprenda a arquitetar uma topologia de nuvem altamente disponível
- Conceitos Básicos do MySQL Database Service
- Saiba mais sobre a implantação do MySQL Database Service no Oracle Cloud
- Visão Geral do Serviço Container Engine for Kubernetes
- Implantar um Sistema do MySQL Database altamente disponível em um cluster do Container Engine for Kubernetes
- Visão Geral do Serviço Registry
Alterar Log
Esse log lista alterações significativas:
6 de maio de 2022 |
|