Tutorial Mão na Massa sobre o banco de dados - DC

Propaganda
Tutorial Mão na Massa sobre o banco de
dados como serviço Amazon RDS
Este tutorial irá abordar o lançamento de uma instância de banco de dados relacional RDS e a
configuração de uma EC2 para usar o RDS para as necessidades de bancos de dados.
•
•
•
Iniciar um banco de dados RDS
Modificar nossos web servers para usar esse novo serviço de banco de dados relacional
Backup e recuperação de um banco de dados RDS
Iniciando um instância RDS
Nós iremos inicialmente lançar nossa Instância RDS no mesmo AZ que usamos no outro tutorial.
Localize o AZ na qual os seus Lab Web Servers estão rodando e substitua <your-AZ> onde for
apropriado seguindo as instruções a seguir:
Navegue pela aba RDS no console AWS e clique em Launch DB Instance
Nós iremos usar um banco de dados MySQL, então clique em Select perto da opção MySQL
Preencha os detalhes da instância de BD de acordo com as informações abaixo e clique em
Continue:
•
•
•
•
•
•
•
DB Engine Version: Use a versão default (5.5.20 (default) neste exemplo)
DB Instance Class: db.m1.small
Multi-AZ Deployment: No
Allocated Storage: 5 GB
DB Instance Identifier: aws201db
Master User Name: awsuser
Master User Password: aws201pwd
Insira um nome de BD e escolha a AZ onde suas instâncias estão rodando (us-east-1a neste
exemplo):
Deixe o valor padrão em Backup Retention Period e Backup/Maintenance Window, e Continue.
Depois disso revise suas configurações e clique em Launch DB Instance.
Nas instâncias RDS, monitore sua nova instância de BD até que o status mude de creating para
available.
Adicionando Um Security Group de uma Instância EC2 a
um RDS Security Group
Observação: Essa seção do tutorial só precisa ser feita caso você tenha realizado os tutoriais
anteriores.
Os servidores RDS tem o mesmo modelo de segurança do Amazon EC2: não confiar em
ninguem. Adicione seu EC2 security group, como mostrado abaixo. Esta tela pode ser um pouco
confusa para novos usuários. O nome deste security group (o que esta associado com a instância
RDS) é “default”; contudo o nome que deve ser preenchido é o nome do security group
associado com sua instância EC2. Se você seguiu corretamente todas as nossas sugestões nestes
tutoriais, o nome deverá ser “Lab Web Tier”.
No primeiro menu dropdown, selecione EC2 Security Group. Seu account ID será
automaticamente selecionado por padrao, e você deve selecionar Lab Web Tier como o EC2
Security Group. Note que o RDS lhe dá flexibilidade para você especificar regras de
conectividade associadas com outros security groups de outras contas AWS, assim como
endereços de IP.
Se tudo correr bem, levara alguns minutos para autorizar sua conta, depois disso o status irá
mudar para “authorized”. A principal causa de falha neste tipo de autorização é causada por sua
instância EC2 estar rodando em um security group diferente do que você selecionou.
Configurar a Instância para usar o RDS
Observação: Essa seção do tutorial só precisa ser feita caso você tenha realizado os tutoriais
anteriores.
Nós disponibilizados uma tabela de banco de dados de exemplo e uma amostra de código para
criar uma simples lista de contatos. Depois de configurar sua instância (criada em tutoriais
anteriores), você deve pegar a URL para o seu banco de dados. Na aba RDS, selecione seu banco
de dados e procure por endpoint. Lembre-se dessa URL porque você irá precisar dela em alguns
minutos.
Conecte via SSH na sua instância EC2 (não se esqueça de mudar o usuário para “ec2-user”).
Navegue até /var/www/html
cd /var/www/html
Execute os seguintes comandos todos em uma linha (substituindo na sua URL de RDS, o user
name se ele não for “awsuser”, e o password se não for “aws201pwd” pelos valores
apropriados). Isso irá inserir alguns dados iniciais no seu banco de dados da lista de contatos:
> mysql -u awsuser -paws201pwd --database=aws201 --host=<RDS_URL> <
sql/addressbook.sql
Perceba que você esta usando o client MySQL de uma instancia EC2 para carregar os dados no
banco de dados RDS que está funcionando em outro servidor na AWS. Com o RDS você pode
usar os clientes padrão MySQL ou Oracle para acessar seus dados.
Após isso, edite o arquivo rds.conf.php e adicione sua RDS_URL na linha apropriada:
> sudo vi rds.conf.php
Exemplo do arquivo rds.conf.php depois de editado:
<?php
$RDS_URL="aws201db.cxlr5pujtsih.us-east-1.rds.amazonaws.com";
$RDS_user="awsuser";
$RDS_pwd="aws201pwd";
?>
Agora abra uma aba no navegador e vá até sua instância EC2 e você poderá ver a sua lista de
contatos e interagir com ela:
Esse é um exemplo bastante básico de uma interação de uma lista de contatos com um banco de
dados MySQL gerenciado pela AWS. É claro que cenários muito mais complicados são
suportados pelo RDS, mas nós esperamos que esse exemplo básico seja o suficiente para
demonstrarmos o nosso ponto.
Sinta-se a vontade para brincar com esta lista de endereços e adicionar/editar/remover conteudo
de seu banco de dados RDS usando os links Add Contact, Edit, e Remove links no Address
Book.
Criando um Snapshot do RDS
Agora é uma boa hora para tirar um snapshot de seu banco de dados RDS. Na aba RDS do seu
painel de controle, clique com o botão direito na sua instância RDS e selecione Take Snapshot:
Nota: Usando uma instância única RDS, você ficará fora do ar durante o tempo que durar o
backup. É claro que nossa base de exemplo é muito pequena, dessa forma o tempo total de
backup será muito pequeno também! Em produção recomendamos que você tenha um banco de
dados Multi-AZ ou uma réplica de leitura para não causar impacto em sua base de produção.
Os snapshots de BD irão aparecer no link DB Snapshots no lado esquerdo da sua tela. Perceba
que você pode facilmente lançar instâncias RDS com qualquer snapshot obtido previamente! Isso
é util para, por exemplo, restaurar um banco de dados ou então para criar uma base de dados para
testes ou homologação.
Modificando o Tamanho da Instância RDS
Escalar para cima ou para baixo o seu RDS via console AWS é muito simples. Você pode
aumentar seu banco de dados ou modificar o tamanho do servidor, etc. tudo pelo painel de
controle AWS.
Selecione sua instância de banco de dados RDS e clique em Modify.
Tente mudar para uma instância Large e, se você quiser, aumente o tamanho do banco de dados
ao mesmo tempo. Não esqueça de clicar em “Apply Immediately” – caso contrario as
modificações só serão aplicadas na próxima janela de manutenção.
Dica: Você pode mudar o tamanho das intancias para cima ou para baixo a qualquer momento.
Entretando você não pode diminuir o tamanho do storage de um banco de dados uma vez que
você o aumentou.
Da mesma forma que com os backups, haverá uma interrupção da instância enquanto as
modificações são aplicadas. No geral, recofigurações no RDS, como aumento de tamanho do
banco de dados ou aumento da máquina levam entre 4 e 12 minutos.
Atualize o Auto Scaling Group
Observação: Essa seção do tutorial só precisa ser feita caso você tenha realizado os tutoriais
anteriores.
Agora que nós já conectamos uma das nossas intancias ao RDS, vamos atualizar nosso Auto
Scaling group e enviar essas modificações ao nosso conjunto de servidores.
1. Crie uma nova Amazon Machine Image a partir da instância EC2 modificada (clique com o
botão direito na instância modificada e selecione Create Image (EBS AMI) ou reveja o tutorial
de Auto Scaling para relembrar como criar uma Auto Scaling AMI para esse exemplo).
2. Grave o AMI ID e crie uma nova configuração de launch (configurações de launch já
existentes não podem ser modificadas). Substitua seu <ami-id> nos comandos a seguir (tudo em
uma linha). Note que essas instruções assumem que vocÊ criou um security group chamado “Lab
Web Tier” e um par de chaves chamado “Lab” nos tutoriais anteriores.
C:\ec2>as-create-launch-config --image-id <ami-id> --instance-type t1.micro
--key Lab --group "Lab Web Tier" --launch-config aws201-config2
O resultado na linha de comando será parecido com:
OK-Created launch config
3.
Atualize seu Auto Scaling Group para usar as novas configurações de launch:
C:\ec2> as-update-auto-scaling-group aws201-as-group --launch-configuration
aws201-config2
O resultado na linha de comando será parecido com:
OK-Updated AutoScalingGroup
4. Ative as novas mudanças incrementando o “minimum group size” então teremos 2 web
servers com nossas configurações de RDS par ao próximo tutorial.
C:\ec2> as-update-auto-scaling-group aws201-as-group --min-size 2
O resultado na linha de comando será parecido com:
OK-Updated AutoScalingGroup
5. Parabéns, você acabou de aplicar uma atualização ao seu conjunto de web servers. Sinta-se a
vontade para conectar ao seu ELB através de outra aba do navegador e interagir com a sua lista
de contatos usando multiplos servidores web.
Encerrando os serviços pagos
Nota: Tutoriais futuros da AWS precisarão de ambientes RDS configurados e rodando. Portanto,
se você planeja fazer exercicios extras, deixe essa instância RDS rodando.
Delete a instância RDS
Na aba RDS, localizde e selecione sua instância RDS, e clique no botão Delete.
Você terá a oportunidade de criar um último snapshot de backup da sua instância RDS se você
quiser salvar esse banco de dados para uso futuro (você será cobrado para manter esse backup).
Delete os Snapshots de BD
Na aba RDS, selecione o link DB Snapshots a sua esquerda. Selecione qualquer snapshot de BD
que queira deletar e clique no botão Delete.
Para encerrar os serviços de Auto-Scaling veja o tutorial sobre Auto-Scaling.
—
Atenção: Reiteramos a importância de você desligar os recursos que você usou apenas para seguir esse
tutorial. Não nos responsabilizamos por serviços não desligados.
—
Tutorial desenvolvido por José Papo (AWS Tech Evangelist para a América Latina) e
evangelistas AWS com revisão e editoração da iMasters.
Download