Você está na página 1de 20

Lançando uma Aplicação com Vagrant

Índice

• Trabalhando com a AWS


• Iniciando uma Instancia AWS
• Caracteristicas AWS
• Instalando o Plugin
• VagrantFile
• Testanto uma Instancia
• Configurando Puppet
• Testando
Trabalhando com a AWS
Vagrant possui alguns provedores especiais que podem criar
instâncias “reais” de servidores em serviços como Digital
Ocean, Amazon AWS, dentre outros. O processo involve a
instalação de um plugin, e a configuração de alguns
parâmetros especiais em um bloco específico para aquele
provider.
Esses parâmetros normalmente incluem a definição de chaves
e credentiais para o serviço.
Vamos ver como podemos criar um Instancia EC2 na AWS
com o Puppet usado anteriormente.
Iniciando uma Instancia AWS

• Escolher a Região
• Escolher a Imagem (AMI)
• Escolher o Tipo
• Configurar VPC
• Configurar Disco
• Configurar Security Group
• Executar
Escolher Região
• Localizado no canto superior direito. É possível ver a lista em
https://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/using-
regions-availability-zones.html
Escolhendo a Imagem

A imagem que iremos usar, faz referencia a um código


AMI, por exemplo ami-b5ecb3d9 que faz referencia a um
Ubuntu 14.04.
Tipo de Instancia
O tipo de instância que você especifica determina o hardware do
computador host usado para sua instância.
Veja em
https://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/instance-
types.html
Security Group

O security Group é onde são criadas as regras de firewall para liberação de


portas, em nosso caso o security group será o WEB liberando porta 80 e
22.
Key Pars
KeyPars são as chaves ssh que iremos utilizar para conexão. É
importante salvar a keypars em um local adequado, pois
somente é possível salvar quando do momento da criação.
Usarem a chave com extensão .pem para conexão.
Access Key
Além da chave, é necessário gerar uma Access key. Para isso é
necessário ir em IAM (Identify and Access Management),
Management Secury Credentilas, Access key, Create New
Access Key.
Após a criação fazer o download e guardar em local
apropriado, pois como o ssh, só é possível fazer download
neste momento.
Vagrant File

Com todas essas informações já estamos prontos para criar o nosso


vagrantfile, veja abaixo as informações que serão utilizados em nosso
arquivo:
• aws.access_key_id = "AKIAIXKHWEVX6EXJOUDA"
• aws.secret_access_key =
"MKwXsFhAynDDPRRGT2zqsr7uQxBinX3seVs/JZUX"
• aws.region = "sa-east-1"
• aws.instance_type = "t2.micro"
• aws.keypair_name = "SaoPaulo"
• aws.ami = "ami-b5ecb3d9"
• aws.security_groups = ['web']
• override.ssh.username = "ubuntu"
• override.ssh.private_key_path = "SaoPaulo.pem"
VagrantFile

Lembrando que o arquivo SaoPaulo.pem, já deverá estar na


pasta do projeto.
E também é necessário informar uma Box vazia.
Considerações

A máquina Ubuntu na AWS, não possui o puppet, dessa forma


deveremos instalar usando o script bootstrap.sh.
VagrantFile
Testando a Instancia

Podemos executar o vagrant up para testar se nossas


configurações estão ok, provisionando somente a instalação
do puppet através do Shell.
Provisionando com Puppet
Devemos agora trazer todos arquivos e manifest utilizado no
projeto puppet, para provisionarmos nosso nginx. Veja abaixo:
Configurando o Pupet
Iremos provisionar usando o puppet, utilizando o projeto visto
anteriormente com as informações para subir nosso servidor
WEB.
Arquivo Vagrant Final
Sincronizando pastas
Qualquer alteração nas pastas do projeto, para serem
atualizadas necessitam de um rsync, para tanto basta executar:

vagrant rsync
Testando
Para testar basta abrir o browser com endereço informado na
AWS

Você também pode gostar