Configurar um CMS do WordPress Conectado a um MySQL Database na Nuvem

Crie e gerencie sites modernos na nuvem sem precisar de um diploma em programação ou administração de bancos de dados. Aproveite os recursos fáceis de usar da plataforma WordPress e a elasticidade e os benefícios de custo de hospedar suas páginas da Web e blogs no Oracle Cloud Infrastructure.

Arquitetura

Esta arquitetura implanta um WordPress CMS e um Oracle MySQL Database Service no Oracle Cloud Infrastructure (OCI).

Você pode implantar WordPress em um único nó ou como parte de uma configuração HA de vários nós. Essa arquitetura de referência inclui a automação do Terraform, que é compatível com ambas as configurações.

Para um ambiente de alta disponibilidade multinó complexo, implante nós WordPress em vários domínios de falha com balanceadores de carga principal e stand-by e serviço Oracle Cloud Infrastructure File Storage compartilhado (serviço NFS gerenciado) para todos os nós WordPress.

O diagrama a seguir ilustra essa arquitetura multinó.

Veja a seguir a descrição da ilustração oci-arch-wordpress-mds.png
Descrição da ilustração oci-arch-wordpress-mds.png

oci-arch-wordpress-mds-oracle.zip

Você pode fazer o seguinte ao configurar um ambiente multinó:

  • Defina o número de nós da camada WordPress.
  • Implante balanceadores de carga públicos e oculte os nós WordPress em uma sub-rede privada.
  • Implante o Bastion Host ou o Bastion Services para acessar recursos privados.
  • Use os serviços Oracle Cloud Infrastructure File Storage com armazenamento NFS compartilhado para conteúdo WordPress (carregamentos de compartilhamento, plug-ins e temas entre nós).

O diagrama a seguir ilustra uma arquitetura de nó único simples. Ele consiste em uma implantação leve, que pode ser adequada para fins de aprendizagem ou servir como prova de conceito.

Veja a seguir a descrição da ilustração implant-wordpress-cms-mysql-dbs.png
Descrição da ilustração implan-wordpress-cms-mysql-dbs.png

implantar-wordpress-cms-mysql-dbs-oracle.zip

As arquiteturas têm alguns ou todos 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ínio 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 vários domínios de falha, seus aplicativos podem tolerar falhas físicas do servidor, manutenção do sistema e falhas de alimentação 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. Você pode alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou 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.

  • Grupo de segurança de rede (NSG)

    Os NSGs funcionam como firewalls virtuais para seus recursos de nuvem. Com o modelo de segurança de confiança zero do Oracle Cloud Infrastructure, todo o tráfego é negado e você pode controlar o tráfego de rede dentro de uma VCN. Um NSG consiste em um conjunto de regras de segurança de entrada e saída que se aplicam a apenas um conjunto especificado de VNICs em um único VCN.

  • 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 devem ser permitidos dentro e fora da sub-rede.

  • Serviço de Banco de Dados Oracle MySQL

    O Oracle MySQL Database Service é um serviço de banco de dados Oracle Cloud Infrastructure (OCI) totalmente gerenciado que permite que os desenvolvedores desenvolvam e implantem rapidamente aplicativos nativos seguros na nuvem. Otimizado e disponível exclusivamente no OCI, o MySQL Database Service é 100% criado, gerenciado e suportado pelas equipes de engenharia do OCI e do MySQL.

    Nesta arquitetura de referência, o Oracle MySQL Database Service é implantado em uma máquina virtual e é usado para hospedar as informações de conteúdo do WordPress. A implantação não está em um cluster.

  • Armazenamento de arquivos

    O serviço Oracle Cloud Infrastructure File Storage fornece um sistema de arquivos de rede durável, escalável e seguro e de nível empresarial. Você pode se conectar a um sistema de arquivos do serviço File Storage de qualquer instância bare metal, de máquina virtual ou de contêiner em uma VCN. Você também pode acessar um sistema de arquivos de fora da VCN usando o Oracle Cloud Infrastructure FastConnect e a VPN IPSec.

  • CMS (WordPress content management system)

    O WordPress CMS permite que você crie um site de blog completo ou um site de propósito geral. Essa arquitetura usa uma instância regular do serviço Compute para implantar o mecanismo CMS do WordPress.

  • Balanceador de carga

    O serviço Oracle Cloud Infrastructure Load Balancing fornece distribuição automatizada de tráfego de um único ponto de entrada para vários servidores no back-end.

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

  • Compute

    O serviço Oracle Cloud Infrastructure Compute permite provisionar e gerenciar hosts de computação na nuvem. Você pode iniciar instâncias de computação com formas que atendem aos seus requisitos de recursos para CPU, memória, largura de banda da rede e armazenamento. Após criar uma instância de computação, você pode acessá-la de forma segura, reiniciá-la, anexar e desanexar volumes e encerrá-la quando não precisar mais dela.

Recomendações

Use as recomendações a seguir como ponto de partida para implantar o WordPress. Seus requisitos podem ser diferentes da arquitetura descrita aqui.
  • 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 blocos CIDR que não se sobreponham a nenhuma outra rede (no Oracle Cloud Infrastructure, seu data center local ou outro provedor de nuvem) para a qual você pretenda configurar conexões privadas.

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

    Ao projetar as sub-redes, considere o fluxo de tráfego e os requisitos de segurança. Anexe todos os recursos em uma camada ou função específica à mesma sub-rede, que pode servir como um limite de segurança.

  • Listas de segurança

    Use listas de segurança para definir regras de entrada e saída que se aplicam a toda a sub-rede.

  • Calcular formas

    Essa arquitetura usa uma imagem do SO Oracle Linux 7.8 com uma forma VM.Standard2.1 para WordPress CMS. Se as necessidades de recursos do aplicativo forem diferentes, você poderá escolher uma forma diferente.

  • Serviço de Banco de Dados Oracle MySQL

    Nesta arquitetura, o WordPress CMS armazena os dados relacionais no Oracle MySQL Database Service. Recomendamos o uso da versão mais recente.

Considerações

Ao implantar o WordPress no Oracle Cloud, considere o seguinte para escalabilidade, disponibilidade e backup:

  • Escalabilidade do CMS do WordPress

    Você pode escalar seu CMS do WordPress usando o pool de instâncias e os recursos de dimensionamento automático.

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

    O dimensionamento automático permite ajustar automaticamente o número de instâncias do serviço Compute 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 seus custos durante períodos de baixa demanda.

  • Escalabilidade do Oracle MySQL Database Service

    Escolha a forma da máquina para o Serviço de Banco de Dados Oracle MySQL com base na carga de trabalho planejada.

  • 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 do Oracle MySQL Database Service

    O MySQL Database Service suporta dois tipos de backup: backup completo de todos os dados contidos no sistema de banco de dados e backup incremental somente dos dados adicionados ou alterados desde o último backup completo. Os backups são executados das seguintes maneiras:

    • Manual: Uma ação na Console ou solicitação feita por meio da API inicia o backup. Os backups manuais podem ser retidos por no mínimo um dia e no máximo 365 dias.

    • Automático: Backups programados automaticamente são executados sem qualquer interação obrigatória no momento da escolha do usuário. Os backups automáticos são retidos por entre um e 35 dias. O valor de retenção default é sete dias. Quando definido, você não pode editar o período de retenção de um backup automático

    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 esses backups para novos volumes imediatamente ou posteriormente.

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

  • Políticas de segurança

    Use políticas para restringir quem pode acessar quais recursos do OCI (Oracle Cloud Infrastructure) sua empresa tem e como.

  • Segurança da rede

    O serviço Networking oferece duas funcionalidades 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 (NSGs). Um NSG consiste em um conjunto de regras de segurança de entrada e saída que se aplicam somente a um conjunto de VNICs de sua escolha em um único VCN. Por exemplo, você pode escolher todas as instâncias do serviço Compute que funcionam como servidores Web na camada Web de uma aplicação de várias camadas no seu VCN.

    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. Dessa forma, você pode gravar regras de segurança facilmente para controlar o tráfego entre dois NSGs na mesma VCN ou o tráfego dentro de um único NSG. Ao criar um sistema de banco de dados, você pode especificar um ou mais NSGs. Você também pode atualizar um sistema de 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 extrair o código para o 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.

  • Implante usando a pilha de amostra no 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. Revise e aceite os termos e condições.
    3. Selecione a região em que deseja implantar a pilha.
    4. Siga os prompts e 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 do 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 o código Terraform no GitHub:
    1. Vá para o GitHub.
    2. Clone ou faça download do repositório para o computador local.
    3. Siga as instruções do documento README.
  • Implante usando o tutorial Instalar o WordPress CMS no Oracle Linux com o banco de dados MySQL.

Explorar Mais

Saiba mais sobre as melhores práticas do Oracle Cloud Infrastructure e o Oracle MySQL Database Service.

Revise estes recursos adicionais:

Alterar Log

Este log lista alterações significativas: