Neste artigo vou mostrar como criar uma conta e o que fazer para deixar um site em WordPress no Amazon Lightsail funcionando. Além disso, vou habilitar algumas funcionalidades extras, como armazenamento adicional e load balancer, visando melhorar o desempenho e a disponibilidade do seu ambiente. Para aqueles que ainda não conhecem tudo que a ferramenta pode oferecer, recomendo ler este review que escrevi sobre o Lightsail.
Índice interno:
→ Em dúvida sobre onde hospedar seu WordPress? Compare e escolha a melhor hospedagem WordPress
Criando uma conta na Amazon
Antes de começar a utilizar o serviço do Amazon Lightsail, precisamos criar uma conta. Para isso, vamos precisar de um email e acessar o link https://aws.amazon.com/pt/lightsail/. Na página de cadastro, clique em “Comece a usar gratuitamente” — lembrando que a Amazon oferece 30 dias gratuitos das menores instâncias nos planos Windows/Linux. Se você já possui um cadastro ou é usuário de algum serviço da Amazon, basta se logar com sua conta. Caso contrário, é preciso criar um novo usuário, conforme a imagem abaixo:
Quem já criou uma conta na AWS sabe que, mesmo que seja para utilizar os serviços gratuitos, a Amazon solicita um meio de pagamento, pois durante o uso as funções pagas não são bloqueadas. Para validação do meio de pagamento, o sistema informa ao usuário que haverá um valor a ser cobrado e solicita uma confirmação. Uma tarifa de alguns centavos ou até R$ 1 pode ser cobrada para validar o cartão, porém a mesma é estornada mais tarde.
Após o procedimento acima, é solicitado um número de celular. Ao informar o número, um código é enviado via SMS, desta vez para validar a conta. Na página seguinte é necessário escolher um plano de suporte. Você pode escolher aquele que melhor se adequar à sua necessidade:
Assim que finalizar a criação da conta e escolher o plano de suporte, você já pode se logar com o usuário que criou. No primeiro acesso, deve-se escolher o idioma padrão do painel. Um tutorial para iniciar a primeira instância também é sugerido, porém esse passo do tutorial você pode pular.
Criando sua instância
O que é uma instância?
Antes de prosseguir, vamos entender de forma resumida o que é uma instância. Uma instância nada mais é que a virtualização de um servidor, por meio de softwares específicos (Ex: VMWare), onde pode-se utilizar um servidor físico com vários servidores virtuais. Os servidores virtuais, no caso, seriam as instâncias. Certamente esta é uma visão extremamente resumida, mas falar mais especificamente sobre isso renderia um novo artigo.
Criar uma instância no Amazon Lightsail é muito simples. Como pode ser visto na imagem abaixo, basta clicar no botão laranja no meio da página “Criar Instância”:
Definindo o local da instância
Após iniciar o processo de criação, uma série de itens precisam ser definidos. O primeiro deles é o local onde sua instância será instalada. Por padrão, vem configurado o local Virgínia, zona A, nos EUA, e vamos deixar assim.
Selecionando seu sistema
O próximo passo é definir se você vai rodar um sistema Linux ou Windows e se vai usar um template com alguma aplicação já instalada e configurada. Nesse caso, vamos escolher o sistema operacional Linux e o template (esquema) WordPress.
Script de inicialização e Chaves
O próximo passo contém algumas funções opcionais, porém uma delas é muito importante: a chave SSH, que será necessária mais adiante. Você pode criar uma nova agora ou usar a padrão gerada pelo sistema. O download da chave pode ser feito neste momento ou após a instância ter sido criada.
Usuários mais avançados ou aplicações específicas podem demandar a execução de um script assim que o sistema operacional inicia. O Amazon Lightsail fornece esse recurso de maneira opcional e ele pode ser configurado neste momento ou posteriormente.
Definindo seu plano
Em seguida, devemos escolher um plano para o seu WordPress no Amazon Lightsail. No caso, vamos utilizar a primeira opção, que é gratuita no primeiro mês.
Identificação e TAGs da instância
Por fim, precisamos dar um nome de identificação para a instância, pois cada uma deve ter um nome específico e único. As TAGs são utilizadas para filtrar e definir permissões para serviços específicos, por exemplo, como quando se compartilha uma conta com outros usuários, ou até mesmo para gerar um relatório financeiro de custos por instâncias.
Finalmente clica-se em “criar instância” no final da página. Agora, basta aguardar até a instância ser criada.
Acessando sua instância pela primeira vez
Abaixo segue a tela inicial após a criação de uma instância. É a partir desta tela que todas as configurações do seu ambiente são administradas.
Neste momento, se você acessar o IP público fornecido pelo Lightsail, no seu navegador, verá que o WordPress, na sua configuração padrão, já vai estar funcionando e publicado na Internet. Porém, este IP público é temporário, por isso é preciso definir um IP estático.
Definindo um endereço IP estático
Para definir um IP estático, basta clicar nos 3 pontinhos ao lado da sua instância e selecionar “Gerenciar”.
Conforme a tela acima, na aba “Redes” existe o IP privado, que é o endereço da rede da AWS, e o público. O IP público é temporário, conforme informado anteriormente. Sempre que a instância é reiniciada, ou se cria um novo ambiente, esse IP pode mudar. Por isso, é muito importante criar um “IP estático”.
Veja na imagem abaixo que na tela de criação é necessário escolher o local onde será configurado este IP, a instância a ser anexada e um nome de identificação para este IP.
O Lightsail, assim como todos os serviços da AWS, preza muito pela organização e também pelo fato de que tudo pode ser interligado. Assim, caso seja necessário fazer uma conexão de um serviço qualquer na AWS à esta instância do WordPress, via IP, esta identificação será utilizada.
Obtendo usuário e senha
Os usuários são criados utilizando o padrão “root” para o sistema operacional e “user” para o WordPress.
Para obter a senha do seu usuário do WordPress, você deve acessar o terminal do sistema operacional da sua instância. Para isso, deve clicar no ícone do terminal, ao lado dos 3 pontinhos.
Uma janela é aberta com a tela do terminal. Nela você deve digitar o comando cat bitnami_credentials
. Após dar Enter suas credenciais de acesso ao WordPress são mostradas, veja:
Dica: para copiar a senha, basta selecionar a mesma com o mouse na janela e usar o ícone no canto direito do rodapé desta janela:
A senha do usuário root do sistema operacional não precisa ser alterada nesse momento, porém, visando a segurança, é bom alterá-la posteriormente. Para isso, basta acessar o terminal pelo painel ou via SSH (utilizando as chaves fornecidas durante a criação da instância) e digitar o comando sudo passwd
. Uma nova senha para o usuário root será solicitada.
Administrando o DNS do seu WordPress no Amazon Lightsail
Pois bem, neste momento seu site/blog em WordPress estará acessível pela Internet, porém apenas utilizando o endereço de IP público. Para ter um nome de domínio você deve registrar um, por exemplo, no Registro.br, ou em qualquer empresa que ofereça o serviço (veja aqui as melhores opções para registrar o seu domínio).
A partir do momento que você registrou seu domínio, devemos configurá-lo em sua instância WordPress no Amazon Lightsail. Para isso, clique na opção “Redes”, na página inicial do Lightsail. Posteriormente, clique em “Criar zona DNS”, conforme imagem abaixo:
Na página a seguir, é necessário informar o nome do domínio registrado. Tags de identificação podem ser utilizadas para melhorar a organização e o gerenciamento.
Em seguida, serão informados os “name servers” (ou “servidores de nome”) da Amazon. Estes name servers devem ser configurados no local onde você registrou o seu domínio, para que os servidores DNS da Amazon possam gerenciar a Zona DNS do mesmo. Para saber mais sobre este assunto, veja o artigo como apontar um domínio para uma hospedagem.
Antes de continuar é bom lembrar que uma alteração de name server pode levar até 72 horas para propagar após a mudança, porém normalmente a propagação ocorre em até 2 horas.
Após esse período já podemos associar o IP da nossa instância ao domínio registrado. Para isso devemos criar um registro DNS do tipo A, onde no subdomínio deve ser utilizado um @ e o endereço IP cadastrado anteriormente deve ser selecionado. Por fim, clique no “certinho verde” conforme a imagem abaixo:
Para finalizar, é importante deixar registrado também um registro DNS do tipo CNAME utilizando o subdomínio “www”, conforme a imagem abaixo:
Adicionando armazenamento ao seu WordPress
Determinados tipos de sites ou blogs têm uma necessidade maior de espaço em disco, seja para fotos, vídeos ou áudios. No caso de áudios e vídeos, utilizar o espaço de armazenamento dos servidores não é o mais indicado, pois você pode utilizar soluções gratuitas, como YouTube e Vimeo, e fazer um embed (incorporar) seus vídeos, por exemplo, ao seu blog, sem consumir tráfego e espaço em disco da sua hospedagem.
Nos casos de sites que não têm um grande volume de acessos, mas que precisam ter uma quantidade maior de armazenamento em disco do que o oferecido em planos comuns de hospedagem, o Amazon Lightsail oferece planos de armazenamento separados. Com ele, você pode adicionar espaço em disco sem alterar o plano, apenas adicionando mais discos e a custos bem melhores. Veja abaixo alguns valores deste plano de armazenamento:
Criando um disco para sua instância
Para criar um disco em sua instância, você deve ir em “Gerenciar”, nos 3 pontinhos, e na aba “Armazenamento” selecionar “Criar novo disco”, conforme a imagem abaixo:
Na próxima tela você pode selecionar a região onde este disco vai estar disponível, o plano de armazenamento (conforme sua necessidade de espaço em disco), o nome que você vai dar ao seu disco no painel de gerência do Lightsail e se vai usar alguma TAG de identificação.
Em seguida, você deve selecionar a instância na qual esse disco será anexado. Veja a imagem abaixo:
Por fim, basta clicar em anexar no “certinho verde” no canto inferior direito. É importante anotar o endereço onde o disco será anexado. Veja que, neste caso, ficou em “/dev/xvdf”. Este é o local onde o disco estará anexado dentro do sistema operacional Linux.
Formatando e montando o armazenamento na sua instância
Para formatar e montar seu disco dentro da sua instância, é necessário executar alguns comandos no Linux. Para isso, existe este tutorial muito prático e de fácil entendimento, da própria Amazon.
Após seu disco estar criado, formatado e montado em uma partição, você precisa vincular ele ao seu WordPress. Por padrão, o WordPress coloca seus arquivos de mídia no diretório wp-content/uploads
. Esse diretório, nesta imagem do Lightsail, fica em /opt/bitnami/apps/wordpress/htdocs/wp-content/uploads
.
A pergunta é: como vamos poder usufruir do novo espaço em disco em nosso WordPress? Para isso, vamos precisar efetuar alguns procedimentos. Pensando em não mudar a estrutura da instalação original do WordPress, nem do sistema operacional, vamos precisar usar um plugin para facilitar a administração. O Plugin é o WordPress Media Library Folders. Após a instalação do plugin, vamos precisar criar um atalho para o disco novo dentro do diretório uploads.
Acesse o terminal da sua instância, aquele mesmo que utilizou para pegar suas credenciais lá no início do artigo, e navegue até o diretório de uploads usando o comando:
cd /opt/bitnami/apps/wordpress/htdocs/wp-content/uploads
Em seguida, devemos criar uma espécie de atalho, conhecido como link simbólico, dentro desta pasta. Ele deve apontar para o diretório onde seu disco foi montado. No caso, meu disco estava montado em /midia
e eu criei um link simbólico chamado midia
dentro de uploads
. Veja abaixo como ficou o comando e o link criado:
sudo ln -s /midia .
(precisa deste ponto no final)
Agora que temos o plugin instalado e o link simbólico criado, no painel de gerenciamento do seu WordPress, temos um novo menu chamado, “Media Library Folders”. Cada vez que precisar adicionar um novo diretório desta forma, basta clicar em “Check for new Folders” e você verá uma imagem conforme a exibida abaixo:
Agora todas as imagens ou arquivos que forem inseridos neste diretório vão estar no novo disco, ocupando apenas o espaço reservado a ele.
Algo importante para se lembrar é que, como se trata de um disco à parte, o mesmo pode ser migrado de uma instância para outra sem perda de dados. Essa função pode lhe ajudar muito em uma alteração de sistema ou migração, por exemplo.
Gerando um Snapshot do seu WordPress no Amazon Lightsail
O Amazon Lightsail oferece o recurso de snapshot, uma solução para criar uma “imagem”, ou seja, uma cópia de suas instâncias. Essa imagem pode ser utilizada em diversas situações, como por exemplo, quando algum plugin do WordPress for instalado para testes e você quiser garantir que nenhum problema vá ocorrer com seu ambiente, que está funcionando de forma normal. E em caso de problemas, poder voltar com sua instância à situação estável.
Para criar um snapshot, basta ir em “Gerenciar”, na sua instância, e na aba snapshot solicitar “Criar snapshot”. O processo demora alguns minutos. Veja abaixo a imagem após o processo de geração do snapshot:
Uma observação muito importante ao gerar um snapshot é executar este processo com sua instância desligada. Isso evita que arquivos abertos no momento da criação do snapshot sejam corrompidos, principalmente tratando-se de informações no banco de dados.
Alterando o plano da sua instância através de um snapshot
Conforme mencionado anteriormente, os snapshots podem ser utilizados em várias ocasiões. Uma delas é no caso de querer ampliar ou reduzir os recursos computacionais de sua instância WordPress no Amazon Lightsail, sem ter que começar tudo do zero. Ou até mesmo depender de algum tipo de migração por parte do suporte de sua hospedagem.
Para proceder com a alteração dos recursos computacionais, basta criar uma nova instância a partir de um snapshot, clicando nos 3 pontinhos, e depois em “Criar uma nova instância”, conforme a imagem abaixo:
Após este processo, a próxima página é a de criação de uma nova instância, conforme mencionado no início do artigo. Com isso será apenas necessário escolher qual plano se encaixa em suas necessidades.
É importante frisar que será necessário ajustar o IP, o DNS e demais configurações que tenham sido realizados, além de alterar o nome para o da nova instância criada.
Utilizando um load balancer
O Load Balancer (Balanceamento de carga) é um recurso muito interessante do Amazon Lightsail. Ele oferece uma solução simples, porém muito eficiente, para duas ou mais instâncias da mesma aplicação compartilharem acessos, e assim balancearem a carga entre si.
Quando vou precisar de um load balancer?
Aqueles que já entendem um pouco mais devem imaginar ou saber que, em cenários de grande volume de acessos ao seu site, o servidor fica instável, com velocidade reduzida e até mesmo negando acessos e gerando páginas de erro para os usuários. Nesse momento, a pergunta que fazemos é: devemos aumentar os recursos da nossa instância para atender à demanda? Para responder esta pergunta, vamos analisar o ambiente como um todo e responder a três questões:
- Esse volume é momentâneo ou contínuo?
- Tenho como tornar meu site mais eficiente, por exemplo, reduzindo o tamanho de imagens e/ou hospedando vídeos em plataformas como YouTube/Vimeo, reduzindo assim o consumo de recursos da minha instância?
- Devo me preocupar com a alta disponibilidade do site?
Se a primeira resposta for “momentâneo”, isso por si só já sugere a necessidade de um load balancer. O exemplo mais comum são os e-commerces que, em períodos como a Black Friday, ampliam o número de instâncias de suas plataformas, visando atender o maior número de clientes, sem correr o risco do site ficar fora do ar por excesso de tráfego.
Pensando em custos, se o pico de acessos é momentâneo, utilizando o load balancer você vai ter um custo adicional apenas nos dias em que realmente precisar. Desta forma, reduzirá os custos, ao deixar de ampliar os recursos de forma fixa, que ficariam a maior parte do ano sem utilização.
Configurando o load balancer passo a passo
Para configurar um Load Balancer no Amazon Lightsail é preciso primeiramente criar um snapshot da sua instância atual. Lembre-se de fazê-lo com a instância original desligada, evitando assim a perda de dados. Após o snapshot gerado, devemos criar uma nova instância a partir dele, como já mencionado anteriormente. A nova instância pode ter recursos iguais ou diferentes da principal.
Importante lembrar que a nova instância deve ser criada no mesmo local, porém pode ser em zonas diferentes dentro da mesma localidade. Dessa forma, geramos uma disponibilidade não só de recursos, como também uma camada de segurança física adicional, já que estamos falando de data centers em diferentes localidades.
Com os dois ambientes iniciados, vamos à criação do load balancer. Primeiramente vamos na aba redes da página inicial e clicamos em “Criar Load Balancer”.
Na próxima página devemos escolher a região, que deve ser a mesma onde se encontram as instâncias, e escolher se vamos utilizar HTTP ou HTTPS. Lembrando que o Amazon Lightsail oferece um certificado HTTPS gratuito. Vamos também criar um nome de identificação para o load balancer e utilizar TAGs, se for o caso.
Veja que no final da página é informado o custo do serviço de load balancer. Ele tem um custo razoavelmente alto, porém este custo pode ser muito baixo quando comparado com possíveis perdas de vendas que ocorreriam caso o site fique fora do ar. Tudo vai depender da sua real necessidade e dos riscos que deseja correr.
Na página a seguir devemos anexar as instâncias ao load balancer criado, veja:
Algo importante a ser realizado é uma configuração na aba “Tráfego de entrada”, onde a persistência de sessão deve ser habilitada. Isso evita que usuários logados percam a sessão caso o tráfego seja alterado para outra instância. Para sites que não fazem uso de login de acesso dos usuários essa opção não precisa ser utilizada. Veja abaixo:
Gerenciamento de rede do load balancer
Para finalizar a parte de alta disponibilidade do WordPress no Amazon Lightsail, precisamos ajustar a parte de rede dos serviços. Primeiro devemos deixar a instância nova com um IP estático, assim como fizemos no início do artigo.
Em segundo lugar, temos que ajustar a configuração do DNS. Anteriormente, quando falamos em DNS, o apontamento do seu domínio foi para o IP da instância, ou no caso o nome de identificação da mesma. Porém, agora o domínio não deve mais ser apontado para uma instância e sim para o load balancer. Para isso, você deve ir na aba “Redes”, na página inicial, e na opção “Gerenciar”, das configurações do seu DNS, conforme a imagem abaixo:
Na página de gerenciamento da Zona de DNS devemos alterar o Registro A para o load balancer, conforme a imagem abaixo:
Após concluir a configuração, clique no “certinho verde” e seu load balancer estará 100% funcional. Você pode testar utilizando seu domínio (se o mesmo já estiver devidamente configurado) ou utilizando o endereço externo do load balancer que a Amazon oferece. Este endereço pode ser visualizado nas configurações dele, nesta página:
Você pode realizar testes desligando as instâncias aleatoriamente e tentando acessar seu site até que o mesmo fique fora do ar, quando os dois ambientes estiverem desligados, por exemplo.
Conclusão
Acredito que, após entender melhor o funcionamento de alguns dos recursos que foram apresentados neste artigo, podemos ver o quanto essas novas soluções de hospedagem em nuvem vieram para facilitar a vida de todos que desejam ou precisam de um ambiente na Internet, seja um blog, um e-commerce ou qualquer outro tipo de aplicação.
O Amazon Lightsail atende à uma grande demanda dos usuários, oferecendo recursos que até então dependiam de profissionais extremamente capacitados, que levavam horas ou até mesmo dias para realizar tais configurações, tudo via linha de comando. Sem contar os custos envolvidos.
Ter como opção um modo rápido e prático para instalar e configurar um WordPress na Amazon, e ainda deixar seu ambiente com alta disponibilidade, podendo aumentar os recursos conforme a necessidade, sem depender de um chamado ao suporte, não só facilita como agiliza e reduz os custos.
Se gostou e está pensando em migrar seu ambiente atual ou quer criar seu primeiro blog com recursos avançados, mas com a facilidade que só o Amazon Lightsail oferece, acesse: aws.amazon.com/pt/lightsail/ e crie sua conta (ou conheça aqui outras soluções de hospedagem para WordPress).