Se você estiver tentando usar outro provedor com sua máquina vagrant atual, provavelmente receberá este erro:
Uma máquina ativa foi encontrada com um provedor diferente. O Vagrant
atualmente permite que cada máquina seja criada com apenas um único
provedor de cada vez. Uma versão futura removerá essa limitação.
Até então, destrua a máquina existente para criar um novo
provedor.
O truque é criar outra máquina, mas configurá-la para não inicializar com a máquina padrão.
config.vm.define "aws", autostart: false do |aws_vm|
end
Agora, esta máquina não iniciará quando você fizer isso vagrant up
, mas começará quando você fizer isso vagrant up aws
.
Em seguida, você pode adicionar a imagem fictícia para que ela não tente iniciar sua máquina no aws.
aws_vm.vm.box = "dummy"
Então, dentro desse bloco, você pode adicionar os detalhes do seu provedor de aws, e ficaria mais ou menos assim:
config.vm.define "aws", autostart: false do |aws_vm|
aws_vm.vm.box = "dummy"
aws_vm.vm.provider :aws do |aws, override|
aws.access_key_id = "XXXX"
aws.secret_access_key = "XXXX"
aws.keypair_name = "XX"
aws.instance_type = "m3.medium"
aws.security_groups = ["Vagrant"]
aws.region = "eu-west-1"
aws.ami = "ami-f0b11187" // Ubuntu
override.ssh.username = "ubuntu"
override.ssh.private_key_path = "~/XX/XX.pem"
end
end
Agora você pode ter seu VirtuelBox em execução e girar outra caixa idêntica no Amazon EC2 .
Você executa o comando assim: vagrant up aws --provider=aws
Se você estiver girando uma máquina pela primeira vez no EC2, lembre-se de criar um grupo de segurança que permite a entrada e a saída de ssh e adicione a porta 80 para o tráfego da web.