Skip to content

ricamos/vagrant_aws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Vagrant e Amazon Web Service (AWS).

Sumário:

  1. Motivação
  2. Descrição de arquivos
  3. Interação com o projeto
  4. Autor e referências
  5. Base de conhecimento

Motivação

O vagrant é uma ferramenta que possibilita a criação, configuração, destruição e reconstrução de ambientes de desenvolvimento e testes de infraestrutura. Geralmente utilizado em conjunto com softwares de virtualização como virtual box, VMware e KVM. Porém com a necessidade de criar ambientes mais complexos e com consumo de poder computacional alto o computador hospedeiro pode não ser capaz de fornecer a configuração necessaria para rodar o ambiente. Para resolver este problema podemos investir em um computador mais potente ou de forma imediata em uma plataforma de serviços de computação em nuvem como a Amazon Web Service (AWS).

Descrição de arquivos

Vagrantfile - Descrição, configuração e provisionamento do ambiente.

files/secret.yml - Arquivo para armazenamento de chaves de acesso ao AWS. Deve ser adicionado ao gitignore. Foi mantido exposto para exemplo didatico, porém as chaves expostas não são mais validas. Altere os valores da chave de acordo com sua configuração.

Interação com o projeto

Preparação do ambiente

$ vagrant plugin install vagrant-aws

$ vagrant box add dummy https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box

Variaveis da AWS

aws.access_key_id = "YOUR KEY"
aws.secret_access_key = "YOUR SECRET KEY"

Estas duas variaveis são preenchidas com chaves obtidas no console do IAM de sua conta AWS e devem ser mantidas em segredo. Crie um usuário com permissão de "AmazonEC2FullAccess" e crie as chaves de acesso.

aws.ami = "ami-02e2a5679226e293c"

Uma Imagem de máquina da Amazon (AMI) é um codigo que faz referência a uma imagem de um Sistema operacional da AWS.

Username e private Key ssh

override.ssh.username = "username"

São necessarias para conexão SSH com a instância criada.

O Username deve seguir a tabela abaixo:

Sistema Operacional SSH user
Amazon Linux Amazon Linux
Ubuntu Ubuntu
Debian Admin
RHEL 6.4 and later ec2-user
RHEL 6.3 and earlier root
Fedora fedora
CentOS centos
Suse root
override.ssh.private_key_path = "PATH TO YOUR PRIVATE KEY"

A private deve ser configurada para funcionar junto ao vagrant. Para isso podemos fazer o seguinte:

$ openssl rsa -in ~/.vagrant.d/insecure_private_key -pubout > vagrant.pub

Ao invés de criar um par de chaves usando o Amazon EC2 nós vamos usar a chave armazenada em vagrant.pub

Abra o console do Amazon EC2 em Redes e segurança selecione pares de chaves. Em ações selecione importar pares de chaves e cole o conteúdo do arquivo vagrant.pub criado anteriormente. Em nosso exemplo nomeamos esta chave no console AWS como vagrant.

aws.keypair_name = "vagrant"

Esta configuração diz respeito ao nome da chave criada anteriormente no console do Amazon EC2. Como criamos nossa chave com nome de vagrant, configuramos desta maneira.

Interação com o ambiente.

$ vagrant up --provider=aws #Cria o ambiente 
$ vagrant up --debug --provider=aws #Cria o ambiente em modo debug.
$ vagrant destroy -f #Destrói todo ambiente.

Autor e referências

Ricardo Coelho

https://github.com/mitchellh/vagrant-aws

http://anzpiper.blogspot.com/2017/08/use-vagrant-to-deploy-to-aws.html

Base de conhecimento

Vagrant - O Vagrant fornece o mesmo fluxo de trabalho de forma fácil, independentemente de sua função como desenvolvedor, operador ou designer. Ele aproveita um arquivo de configuração declarativo que descreve todos os seus requisitos de software, pacotes, configuração do sistema operacional, usuários e muito mais.

Amazon Web Service - A Amazon Web Services (AWS) é a plataforma de nuvem mais adotada e mais abrangente do mundo, oferecendo mais de 200 serviços completos de datacenters em todo o mundo. Milhões de clientes, incluindo as startups de crescimento mais rápido, grandes empresas e os maiores órgãos governamentais, estão usando a AWS para reduzirem seus custos, ficarem mais ágeis e inovarem mais rapidamente.

About

Usando o vagrant junto ao AWS como provider.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published