Criar um site WordPress com balanceamento de carga

no Amazon Lightsail

O Amazon Lightsail é a maneira mais fácil de começar a usar a AWS. Ele oferece servidores virtuais, armazenamento, bancos de dados e redes, além de um plano mensal econômico.

Este tutorial ensinará você a criar um site WordPress com balanceamento de carga no Amazon Lightsail. Um load balancer é um servidor que distribui tráfego de rede em um conjunto de servidores. Com ele, você pode melhorar significativamente o número de usuários simultâneos que seu site WordPress pode suportar. Load balancers também agregam o recurso de tolerância a falhas. O load balancers do Lightsail garante que apenas instâncias íntegras do WordPress anexadas ao load balancer recebam tráfego.

Você pode dimensionar horizontalmente um site do WordPress aumentando o número de instâncias anexadas a um load balancer. Você também pode dimensionar verticalmente um site do WordPress substituindo as instâncias anexadas a um load balancer por instâncias que usam um plano superior do Lightsail (por exemplo, usar o plano de 5 USD por mês em vez do plano de 3,50 USD mensais). Não tratamos do cenário de dimensionamento vertical neste tutorial, mas isso pode ser feito usando etapas similares.

Você concluirá as seguintes etapas neste tutorial:

  • Criar um banco de dados MySQL gerenciado no Lightsail
  • Criar um usuário do IAM para sua instância do WordPress
  • Conectar-se à instância do WordPress por SSH para configurar o banco de dados gerenciado e as credenciais de usuário do IAM
  • Fazer login no painel do site do WordPress e instalar o plug-in de mídia de descarga do WP
  • Duplicar sua instância do WordPress
  • Criar um load balancer no Lightsail e anexar as instâncias do WordPress

Comece a usar o Amazon Lightsail gratuitamente. 

Sobre este tutorial
Duração 60 minutos                                           
Custo Isso gera custos
Caso de uso Computação
Produtos Amazon Lightsail
Público Desenvolvedor
Nível Intermediário 
Data da última atualização 16 de abril de 2020

Você já tem uma conta? Faça login

1. Criar uma instância do WordPress no Lightsail

Este tutorial requer a criação de uma instância do WordPress no Lightsail. Para isso, siga as etapas no tutorial Iniciar e configurar uma instância com o Amazon Lightsail.

2. Criar um banco de dados MySQL gerenciado no Lightsail

Siga as etapas abaixo para criar um banco de dados gerenciado MySQL no Lightsail. O novo banco de dados gerenciado MySQL servirá como o banco de dados central para todas as instâncias do WordPress que terão sua carga balanceada.


a. Faça login no console do Lightsail


b. Na guia Databases (Banco de dados) da página inicial do Lightsail, escolha Create database (Criar banco de dados).

lb1

c. Escolha a região da AWS e a zona de disponibilidade para o seu banco de dados.

Observação: o banco de dados que você criar precisará estar na mesma região da sua instância do WordPress.

lb2

d. Escolha a versão mais recente do MySQL como seu mecanismo do banco de dados. O PostgreSQL está disponível, mas não é compatível com o WordPress.

lb3

e. Escolha um plano de banco de dados.

Um plano inclui uma configuração de máquina (RAM, SSD, vCPU) de custo baixo e previsível, além de uma permissão de transferência de dados. Você pode testar o plano de banco de dados padrão do Lightsail de 15 USD gratuitamente por um mês (até 750 horas).

lb4

f. Insira um nome para o seu banco de dados.

Diretrizes para nome de recursos:

  • Ele deve ser exclusivo dentro de cada região da AWS em sua conta do Lightsail.
  • Deve conter de 2 a 255 caracteres.
  • Deve começar e terminar com um caractere alfanumérico ou um número.
  • Pode incluir caracteres alfanuméricos, números, períodos, traços e sublinhados.
lb5

g. Selecione Create database (Criar banco de dados).

A criação do seu banco de dados levará alguns minutos.


h. Após seu banco de dados ser criado e estar disponível, escolha o nome dele na guia Databases (Bancos de dados) no console do Lightsail.


I Siga as etapas abaixo na guia Connect (Conexão) da sua página de gerenciamento de banco de dados.

  1. Anote o nome do DNS do banco de dados. Você precisará dele mais adiante neste tutorial.
  2. Anote o nome de usuário do banco de dados. Você precisará dele mais adiante neste tutorial.
  3. Escolha as opções Show password (Mostrar senha) e Change password (Alterar senha). insira uma senha segura que não contenha caracteres especiais. Você precisa alterar a senha para remover caracteres especiais porque alguns dos comandos mais adiante neste tutorial não funcionarão como esperado se caracteres especiais forem usados na senha.
  4. Anote a senha do banco de dados. Você precisará dele mais adiante neste tutorial.
hawp2i

3. Criar um bucket do Amazon S3 para sua instância do WordPress

Siga as etapas abaixo para criar um bucket do Amazon S3 que será usado para armazenar a mídia do seu site do WordPress.


a. Faça login no console do Amazon S3.


b. Escolha Block public access (Bloquear acesso público) no menu de navegação esquerdo.


c. Ambas as opções de bloquear o acesso público pelas listas de controle de acesso (ACLs) precisam estar desativadas. Se estiverem ativadas, escolha a opção de editar, desmarque as opções e selecione Save changes (Salvar alterações). Essas opções são necessárias para que o seu WordPress acesse o bucket do Amazon S3 que você criará.

Observação: essas configurações são aplicadas a todos os buckets do S3, poro isso, elas também precisam poder ser aplicadas aos outros buckets do S3 existentes.

update1
update2

d. Escolha Buckets na navegação esquerda e depois Create bucket (Criar bucket).

update3

e. Defina o nome do bucket. Todos os nomes de buckets do S3 são globalmente únicos, de forma que você não pode usar o mesmo nome de um dos buckets deste tutorial.

Anote o nome escolhido; você precisará inseri-lo na configuração do WordPress mais adiante neste tutorial.


f. Escolha a região do AWS para o seu bucket do S3. Você deve criar todos os recursos deste tutorial na mesma região da AWS, por isso, crie seu bucket do S3 na mesma região da instância do WordPress.

update4

g. Desmarque a opção Block all public access (Bloquear todo o acesso público) e depois selecioneBlock public access to buckets and objects granted through new public bucket or access point policies (Bloquear acesso público a novos buckets públicos ou políticas de ponto de acesso) e Block public and cross-account access to buckets and objects through any public bucket or access point policies (Bloquear acesso público e entre contas a buckets e objetos através de qualquer bucket público ou políticas de ponto de acesso). Ambas as opções de bloquear o acesso público pelas listas de controle de acesso (ACLs) precisam estar desmarcadas.


h. Escolha a opção para confirmar as configurações selecionadas.

update6

I Selecione Create bucket (Criar bucket).


3. Criar um usuário e política do IAM para sua instância do WordPress

Siga as etapas abaixo para criar uma política para o bucket do Amazon S3 criado e depois criar um usuário do IAM com a política que possa acessar o bucket do S3. Ainda neste tutorial, você vai configurar sua instância do WordPress com as credenciais de usuário do IAM.

a. Faça login no console do IAM.


b. Escolha Policies (Políticas) na navegação esquerda e depois Create policy (Criar política).

c. Na página Create Policy (Criar política), escolha a guia JSON e cole a política abaixo na caixa de texto. Lembre-se de substituir o nome do bucket pelo nome do bucket do Amazon S3 criado anteriormente neste tutorial.

O resultado deve parecer com a imagem abaixo.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObjectAcl",
                "s3:GetObject",
                "s3:PutBucketAcl",
                "s3:ListBucket",
                "s3:DeleteObject",
                "s3:GetBucketAcl",
                "s3:GetBucketLocation",
                "s3:PutObjectAcl"
            ],
            "Resource": [
                "arn:aws:s3:::<your bucket name>",
                "arn:aws:s3:::<your bucket name>/*"
            ]
        }
    ]
}
update7

d. Escolha Review Policy (Revisar política).

e. Dê um nome à política, como wp-s3-policy, e escolha Create policy (Criar política).

Você agora tem uma política que pode aplicar a um novo usuário do IAM. No próximo conjunto de etapas, você criará um novo usuário do IAM

update8

f. Escolha Users (Usuários) na navegação esquerda. Em seguida, escolha Add user (Adicionar usuário).

lb7

g. Insira um nome de usuário.

Por exemplo: wp-s3-user


h. Escolha Programmatic access (Acesso programático).

I Clique em Next: Permissions (Próximo: Permissões).

lb8

j. Escolha Attach existing policies directly (Anexar políticas existentes de forma direta).


k. Procure o nome da política do IAM que você criou nas etapas anteriores, como wp-s3-policy.

 


l. Escolha a política que você criou nos resultados de busca.

m. Selecione Next: Tags (Próximo: Tags).

 

update10

n. Você não precisa adicionar tags ao usuário do IAM. Selecione Next: Review (Próximo: Revisar).


o. Confira os detalhes do usuário e depois selecione Create user (Criar usuário).

lb10

p. Copie o ID de chave de acesso do usuário e cole-o no arquivo de texto de credenciais que você criou anteriormente neste tutorial.

lb11

q. Escolha Show (Mostrar) sob a coluna Secret access key (Chave de acesso secreta).


r. Copie a chave de acesso secreta e cole-a no arquivo de texto de credenciais.


s. Salve o arquivo de texto de credenciais em um local seguro. Você precisará dessas credenciais mais adiante neste tutorial.


t. Escolha Close (Fechar).

Terminamos agora a parte do console do IAM e você pode fechá-lo.

4. Conectar-se à instância do WordPress por SSH para configurar o banco de dados gerenciado e as credenciais de usuário do IAM

Complete as etapas a seguir para exportar os dados do banco de dados do MySQL na sua instância do WordPress e importe-a para o novo banco de dados gerenciado MySQL no Lightsail. Você também vai configurar a instância do WordPress para conectar-se ao banco de dados gerenciado MySQL e configurar as credenciais de usuário do IAM na sua instância do WordPress.


a. Faça login no console do Lightsail.


b. Na guia Instances (Instâncias) da página inicial do Lightsail, escolha o ícone do cliente SSH baseado em navegador para sua instância do WordPress.

lb12

c. Depois que a janela do cliente SSH baseado em navegador se abrir, insira o comando a seguir para recuperar a senha padrão para as aplicações na sua instância do WordPress:

cat $HOME/bitnami_application_password

        d. Copie a senha mostrada e cole-a no arquivo de texto no qual você está armazenando as credenciais.

lb13

e. Insira os comandos abaixo um a um para definir as variáveis de ambiente com as informações copiadas e coladas no arquivo de texto de credenciais.

LSDB_USERNAME=<DatabaseUserName>
LSDB_ENDPOINT=<DatabaseEndpoint>
LSDB_PASSWORD='<DatabasePassword>'
ACCESS_KEY=<AccessKeyID>
SECRET_KEY=<SecretAccessKey>

Observação: use aspas simples antes e depois do parâmetro LSDB_PASSWORD.

Por exemplo:

LSDB_USERNAME=dbmasteruser
LSDB_ENDPOINT=ls-24e932a56656a5b471398ea052a04bc32ea0703d.czowadgeezqi.us-west-2.rds.amazonaws.com
LSDB_PASSWORD='3stTVwnfJh9CnKR6'
ACCESS_KEY=AKIAIOSFODNN7EXAMPLE
SECRET_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

f. Insira o comando a seguir para criar um despejo do banco de dados MySQL que está na sua instância do WordPress. Esse comando cria um arquivo dump.sql no diretório atual.

mysqldump -u root --databases bitnami_wordpress --single-transaction --order-by-primary -p > dump.sql

g. Insira a senha padrão Bitnami quando solicitado. Essa é a senha padrão Bitnami para as aplicações na sua instância do WordPress, que você obteve nas etapas anteriores.


h. Insira o comando a seguir para importar o arquivo dump.sql para o seu banco de dados gerenciado MySQL no Lightsail.

cat dump.sql | mysql --user $LSDB_USERNAME --host $LSDB_ENDPOINT -p

I Insira a senha do banco de dados gerenciado MySQL quando solicitado. Essa é a senha do seu banco de dados gerenciado MySQL que você obteve do console Lightsail anteriormente neste tutorial.


j. Modificaremos o arquivo wp-config.php nas próximas etapas. Antes de prosseguir, insira o seguinte comando para criar um backup do arquivo wp-config.php no caso de algum erro.

cp /home/bitnami/apps/wordpress/htdocs/wp-config.php /home/bitnami/apps/wordpress/htdocs/wp-config.php.bak

k. Insira o seguinte comando para obter a senha para o banco de dados MySQL na instância do arquivo wp-config.php e defina-o como uma variável de ambiente WPDB_PASSWORD.

WPDB_PASSWORD=`cat /home/bitnami/apps/wordpress/htdocs/wp-config.php | grep DB_PASSWORD | cut -d \' -f 4`

l. Insira o comando a seguir para adicionar a porta à sua variável de ambiente de endpoint do banco de dados Lightsail.

LSDB_ENDPOINT=$LSDB_ENDPOINT:3306

m. Insira o comando a seguir para usar a linha de comando do WordPress para adicionar o nome de usuário, senha e endpoint do banco de dados gerenciado MySQL ao arquivo wp-config.php.

wp config set DB_USER $LSDB_USERNAME && wp config set DB_PASSWORD $LSDB_PASSWORD && wp config set DB_HOST $LSDB_ENDPOINT

n. Insira o seguinte comando para criar um arquivo credfile.txt que contenha as credenciais do usuário do IAM criado anteriormente neste tutorial.

cat <<EOT >> credfile.txt
define( 'AS3CF_SETTINGS', serialize( array (
    'provider' => 'aws', 
    'access-key-id' => '$ACCESS_KEY', 
    'secret-access-key' => '$SECRET_KEY',
) ) );
EOT

o. Insira o comando a seguir para inserir o conteúdo do arquivo credfile.txt no wp-config.php.

sed -i "/define( 'WP_DEBUG', false );/r credfile.txt" /home/bitnami/apps/wordpress/htdocs/wp-config.php

p. Insira o comando a seguir para excluir o arquivo credfile.txt, já que você não precisa mais dele. Agora, você também pode excluir o arquivo de credenciais que contém todas as credenciais copiadas e coladas anteriormente neste tutorial.

sudo rm –r credfile.txt

q. O conjunto de comandos anterior redefiniu as permissões do arquivo wp-config.php. Insira o seguinte comando para corrigir as permissões para o arquivo wp-config.php e o backup que você criou.

sudo chown bitnami:daemon /home/bitnami/apps/wordpress/htdocs/wp-config.php && sudo chown bitnami:daemon /home/bitnami/apps/wordpress/htdocs/wp-config.php.bak

r. Insira o seguinte comando para reiniciar os serviços na instância.

sudo /opt/bitnami/ctlscript.sh restart

Você pode fechar a janela do cliente SSH no navegador. Sua instância do WordPress está agora configurada para conectar-se ao seu novo banco de dados gerenciado MySQL no Lightsail. Ao fazer novas publicações no seu site do WordPress, os dados dessas publicações são gravados no banco de dados gerenciado MySQL no Lightsail, em vez do banco de dados gerenciado MySQL que está na instância.

5. Fazer login no painel do seu site do WordPress e instale o plug-in de mídia de descarga do WP

Siga as etapas abaixo para instalar o plug-in WP Offload Media no seu site do WordPress. O plug-in WP Offload Media cria um bucket do Amazon S3 na sua conta da AWS usando as credenciais do IAM configuradas na seção anterior deste tutorial. Ele também conecta seu WordPress ao novo bucket S3 para que arquivos de mídia carregados nos eu site sejam salvos no novo modelo S3. O novo bucket S3 servirá como o local de arquivos de mídia central para todas as instâncias do WordPress que terão sua carga balanceada.


a. Navegue até a sua instância. Por exemplo, http://192.0.2.0.

Você pode obter o endereço IP público da instância no console do Lightsail como mostrado nesta imagem:

lb14

b. Escolha o ícone de gerenciar Bitnami no canto inferior direito da página

lb15

c. Escolha Login (Fazer login).

lb16

d. Insira o usuário na caixa de texto Username (Nome de usuário) e insira a senha padrão do Bitnami na caixa de texto Password (Senha). Em seguida, escolha Log in (Fazer login).

lb17

e. Passe o cursor sobre Plugins (Plug-ins) na área de navegação esquerda e selecione Add new (Adicionar novo).

lb18

f. Insira WP Offload Media na caixa de texto de busca e pressione Enter.

lb19

g. Nos resultados de busca, escolha Install Now (Instalar agora) ao lado do plug-in WP Offload Media Lite.

lb29

h. Escolha Activate (Ativar) após o plug-in ser instalado.

lb21

I Após o plug-in ser ativado, coloque o cursor sobre Settings (Configurações) na área de navegação esquerda e selecione Offload Media Lite.

lb22

j. Na página de configurações do Offload Media Lite, insira o nome do bucket do S3 criado anteriormente neste tutorial na caixa de texto Bucket.

Em seguida, escolha Save Bucket Setting (Salvar configuração de bucket).

update11

A página Offload Media Lite confirma que suas configurações foram salvas.

Seu site do WordPress está agora configurado para carregar arquivos de mídia para seu bucket do Amazon S3. O novo bucket S3 central para seus arquivos de mídia do WordPress, juntamente com o novo banco de dados central gerenciado MySQL no Lightsail, significa que você pode agora duplicar sua instância do Wordpress, e cada versão duplicada de sua instância vai se referir ao bucket S3 e o banco de dados gerenciado MySQL. Continue para a próxima etapa para duplicar sua instância do WordPress no Lightsail.

Picture1

6. Duplicar sua instância do WordPress

Siga as etapas abaixo para criar um instantâneo da sua instância do WordPress e depois use o instantâneo para duplicar sua instância.


a. Faça login no console do Lightsail.


b. Na guia Instance (Instância) da página inicial do Lightsail, escolha o nome da sua instância do WordPress.

lb26

c. Na página de gerenciamento de instâncias, escolha a guia Snapshots (Instantâneos)

d. Escolha Create snapshot (Criar instantâneo) seguido de Create (Criar).

lb28

e. Quando a criação do instantâneo estiver concluída, escolha o ícone de reticências (⋮) seguido de Create new instance (Criar nova instância).

lb29real

f. Na página Create an instance from a snapshot (Criar uma instância a partir de um instantâneo), não altere as seleções padrão. Role para a parte inferior da página e clique em Create instance (Criar instância).

Isso cria uma original duplicata exata de sua instância original do WordPress, que já está configurada para conectar-se ao banco de dados gerenciado MySQL e o bucket do Amazon S3 criado anteriormente neste tutorial.

Repita as etapas desta seção do tutorial para criar quantas instâncias você precisará balancear. Continue para a próxima seção deste tutorial para criar um load balancer no Lightsail e anexar suas instâncias.

lb30
lb31

7. Criar um load balancer no Lightsail e anexar as instâncias do WordPress

Siga as etapas abaixo para criar um load balancers no Lightsail e anexar suas instâncias do WordPress.


a. Faça login no console do Lightsail.


b. Na guia página inicial do Lightsail, escolha a guia Networking (Rede).


c. Clique em Create load balancer (Criar load balancer).

lb32

d. Na página Create a load balancer (Criar um load balancer), dê um nome ao seu load balancer e escolha Create load balancer (Criar load balancer).


e. Escolha o nome do seu load balancer.

lb33

f. Na guia Target instances (Instâncias de destino), sob a seção Target instances (Instâncias de destino) da página, escolha o menu suspenso e selecione uma das suas instâncias do WordPress. Escolha Attach (Anexar) para anexar a instância.

lb34

g. Escolha Attach another (Anexar outra) para anexar outra instância ao load balancer.

Anexe todas as instâncias duplicadas do WordPress ao load balancer.

lb35

h. No topo da página Load balancer management (Gerenciamento de load balancer), copie o nome do DNS do load balancer.

lb36

i. Abra uma nova janela do navegador, cole o nome do DNS na caixa de texto de endereço e pressione Enter.

Sua solicitação é encaminhada pelo load balancer e seu site do WordPress é carregado. O site que carrega é uma das instâncias anexadas ao seu load balancer. Nesta altura, seu load balancer está configurado para encaminhar para uma das suas instâncias duplicadas do WordPress. Para concluir o processo, adicione o nome do DNS do seu load balancer como um registro de endereço (A) ao DNS do seu domínio registrado.

Parabéns

Você criou um site do WordPress com balanceamento de carga no Lightsail.

O Amazon Lightsail é excelente para desenvolvedores, profissionais da web (WebPros) e todos os que quiserem começar a usar a AWS de maneira rápida e barata. Você pode executar instâncias, bancos de dados, armazenamento em SSD, transferir dados, monitorar recursos e muito mais em um modo gerenciado.

Este tutorial foi útil para você?

Agradecemos a sua atenção
Gostaríamos de saber do que você gostou.
Fechar
Desculpe por ter desapontado
Encontrou algo desatualizado, confuso ou incorreto? Envie seus comentários para nos ajudar a melhorar este tutorial.
Fechar