25%OFF no 1º ano | 50%OFF No 2º ano

Últimos dias!

Últimos dias!

00

DIAS

00

HORAS

00

MIN

00

SEG

Rodando sua aplicação na Amazon do Brasil

Rodando sua aplicação na Amazon do Brasil
Guilherme Silveira
Guilherme Silveira

Compartilhe

Desde o início de nosso trabalho com o cloud em 2009 temos investido tempo e pesquisa na utilização do cloud como plataforma para diminuir custos (e trabalho!) e potencializar produtos, através de diversos vendors.

Com a Amazon não é diferente: nosso sistema de ensino online está deployado lá. Com o lançamento de grande parte da sua plataforma no Brasil, a Amazon se torna uma opção ainda mais interessante de onde ter sua aplicação. Vamos ver passo a passo como fazer um deploy e aproveitar das novas vantagens da Amazon por aqui.

Primeiro nos logamos no painel AWS Manager, e escolhemos a região da América do Sul:

Banner da Black Friday da Alura com destaque para até 50% de desconto em cursos, válido até 29/11. Transforme a sua carreira com o maior desconto do ano, matricule-se já!

Depois escolhemos a imagem que usaremos para a máquina, no nosso caso uma instalação linux limpa, mantida pela própria Amazon. Existem centenas de instalações possíveis (de linux e windows) que podem ser buscadas no market da amazon.

Escolhemos então a potência da máquina e em qual availability zone ela ficará. Comecemos com "sa-east-1a", que indica América do Sul:

Vale lembrar que uma aplicação realmente com alta disponibilidade precisaria ser deploiada em duas ou mais avaliability zones, mesmo sendo pequena a chance de uma zona cair.

Nas duas próximas telas escolhemos detalhes do Kernel e do RAM, além de possíveis tags que queremos dar para a máquina (em geral para trabalhar através dos web services). No nosso caso deixaremos os defaults.

Quando uma nova máquina é criada, precisamos nos logar nela e, para isso, precisamos de uma chave privada de acesso. A amazon pergunta qual o nome que devemos dar a chave, criando e permitindo que baixemos o arquivo. Note que a chave contida nesse arquivo é importantíssima e qualquer um de sua posse poderá ter acesso a máquina.

Por fim, escolhemos quais portas desejamos deixar abertas. No caso de uma aplicação Java com Jetty ou Tomcat, adicionamos a porta padrão 8080:

Isso mesmo, nada de complicados usuários e senhas. Nada de gerenciá-los através de ferramentas de webadmin desatualizadas. Nada de complicadas regras e configuração de firewalls. A Amazon então permite confirmar todas as opções, e o resultado é a máquina rodando:

A máquina possui um IP interno (para ser acessado de dentro da Amazon) e um DNS público, através do qual acessaremos a mesma de fora da Amazon. O DNS público pode ser visto ao clicar no nome da máquina:

Vamos acessar a máquina via ssh:

 chmod 700 caelum-exemplo.pem ssh -i caelum-exemplo.pem [email protected] 

Resultando em:

 The authenticity of host 'ec2-177-71-153-49.sa-east-1.compute.amazonaws.com (177.71.153.49)' can't be established. RSA key fingerprint is 34:a6:de:34:88:fd:a1:73:ae:c5:03:f1:ed:8e:2f:96. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'ec2-177-71-153-49.sa-east-1.compute.amazonaws.com,177.71.153.49' (RSA) to the list of known hosts.

\_\_| \_\_|\_ ) \_| ( / Amazon Linux AMI \_\_\_|\\\_\_\_|\_\_\_|

See /usr/share/doc/system-release/ for latest release notes. There are 16 security update(s) out of 24 total update(s) available 

Agora fazemos download do jetty, descompactamos e rodamos o servidor (se preferir, utilize o Tomcat):

 wget http://download.eclipse.org/jetty/8.1.0.RC1/dist/jetty-distribution-8.1.0.RC1.tar.gz tar zxf jetty-distribution-8.1.0.RC1.tar.gz jetty-distribution-8.1.0.RC1/bin/jetty.sh start 

O servidor irá inicializar e você logo receberá a mensagem de que ele está ouvindo a porta 8080.

 2011-12-15 17:54:27.682:INFO:oejs.AbstractConnector:Started [email protected]:8080 STARTING 

Pronto, acesse seu jetty:

E se desejarmos atualizar a imagem da máquina, com atualizações de seguranca? Se sua máquina não armazena o banco, mas sim somente arquivos voláteis (de fácil reinstalação), basta terminá-la e criar uma nova. Sistema operacional atualizado! Para manter dados voláteis, você pode usar o RDS da Amazon para seu banco Mysql ou Oracle (ou outras máquinas para bancos não relacionais) e manter um script de configuração (usar técnicas de configuration management).

Mais: com apenas alguns cliques é muito fácil de adicionar um load balancer através de sticky sessions, configurar ips fixos, etc.

O que você está esperando para fazer seu primeiro deploy por lá?

Veja outros artigos sobre Programação