Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Dúvida no Ex. 1 da Aula 6 - Rodando no cloud

Não estou conseguindo, por nada, criar essa máquina na Amazon. o comando do Vagrant me retorna a seguinte mensagem:

home/edumelo/.vagrant.d/gems/gems/excon-0.45.4/lib/excon/middlewares/expects.rb:6:in `response_call': The security group 'devops' does not exist (Fog::Compute::AWS::NotFound)

O security group está criado com o nome correto. Alguém sabe o que pode ser?

6 respostas

Eduardo, tente fornecer o identificador do security groups. Em geral é algo no padrão sg-xxxxxxxx, bastando inserí-lo no seu arquivo de configuração(Vagrantfile):

aws.security_groups = ['sg-g856s2s8']

Infelizmente retornou o mesmo erro.

Meu Vagrantfile é o seguinte

Vagrant.configure("2") do |config| config.vm.box = "ubuntu_aws" config.vm.box_url = "https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box"

config.vm.provider :aws do |aws, override| aws.access_key_id = "APAGUEI_O_ID" aws.secret_access_key = "APAGUEI_O_KEY" aws.keypair_name = "devops" aws.ami = "ami-358c955c"

aws.security_groups = ['sg-cd61f7d2']

override.ssh.username = "ubuntu" override.ssh.private_key_path = "devops.pem" end

config.vm.define :web do |web_config| web_config.vm.network "private_network", ip: "192.168.50.10" web_config.vm.provider :aws do |aws| aws.tags = { 'Name' => 'MusicJungle (vagrant)'} end

end end

Ouvi dizer que pode ser algum outro erro no Vagrantfile, mas até onde posso ver parece ser o mesmo que foi apresentado no exercício, só troquei para as chaves do EC2 da minha conta.

Dando uma olhada no arquivo, percebi a presença do 'confg.vm.network.'

Acredito que não seja reconhecido pelo pelo plugin AWS. Poderia remover essa linha e testar, verificando se a instância é criada corretamente no EC2

Obrigado Diogo,

Tirei essa linha, mas o resultado foi o mesmo. No console o que é impresso (fora o stacktrace) é o seguinte:

Bringing machine 'default' up with 'aws' provider... ==> default: Warning! The AWS provider doesn't support any of the Vagrant ==> default: high-level network configurations (`config.vm.network`). They ==> default: will be silently ignored. ==> default: Launching an instance with the following settings... ==> default: -- Type: m3.medium ==> default: -- AMI: ami-358c955c ==> default: -- Region: us-east-1 ==> default: -- Keypair: devops ==> default: -- Security Groups: ["devops"] ==> default: -- Block Device Mapping: [] ==> default: -- Terminate On Shutdown: false ==> default: -- Monitoring: false ==> default: -- EBS optimized: false ==> default: -- Assigning a public IP address in a VPC: false ==> default: Warning! Vagrant might not be able to SSH into the instance. ==> default: Please check your security groups settings. /home/edumelo/.vagrant.d/gems/gems/excon-0.45.4/lib/excon/middlewares/expects.rb:6:in `response_call': The security group 'devops' does not exist (Fog::Compute::AWS::NotFound)

Tentei utilizar o Security Group default daí o erro mudou:

/home/edumelo/.vagrant.d/gems/gems/excon-0.45.4/lib/excon/middlewares/expects.rb:6:in `response_call': The image id '[ami-4d883350]' does not exist (Fog::Compute::AWS::NotFound)

Daí alterei o ami para ser o mesmo do exercício. E o erro foi o seguinte:

/home/edumelo/.vagrant.d/gems/gems/excon-0.45.4/lib/excon/middlewares/expects.rb:6:in `response_call': The key pair 'devops' does not exist (Fog::Compute::AWS::NotFound)

A minha impressão é de que o Vagrant não está conseguindo ler as informações específicas da minha conta. Sei que ele está entrando em contato com o seviço da Amazon pois quando checo no console as Access Keys a data da última atualização é atualizada, mas me parece que o Vagrant não tem autorização suficiente para retornar as informações. Isso faz sentido de alguma forma?

Obrigado

solução!

Oi Eduardo, tudo bem?

É apenas um chute, mas acho que vale a tentativa.

Eu enfrentei alguns problemas aqui, e no fim, era porque eu não tinha especificado a região. No meu caso é us-west-2, quer tentar por essa configuração no Vagrantfile de acordo com a sua região?

aws.region = "us-west-2"

Tenta também excluir logo tudo e criar novamente, chaves, security groups, etc.

Abraço!

Isso realmente funcionou. Mas só após eu mudar de localização geográfica. Estava tentando em "South America (São Paulo)" e mesmo utilizando aws.region = "sa-east-1a" a instância não era criada. Só após criar minhas chaves e políticas de segurança "US West (Oregon) que o vagrant passou a funcionar.

Obrigado.