2017-12-07 4 views
1

Ich habe einen Fehler, wie unten bei der Ausführung vagrant Befehl Vagrant: (: # {Region} region)

# vagrant up --provider=aws 

Es sind Fehler in der Konfiguration dieser Maschine

ein AMI muss über "ami" konfiguriert werden. Bitte beheben die folgenden Fehler und versuchen Sie es erneut:

AWS Provider: * Eine AMI muss über "ami" konfiguriert werden (Bereich: # {Region})

ich Vagrant 2.0.1 bin mit mit Vagabund-aws 0.7.2

Vagrant Datei:

Vagrant.configure("2") do |config| 
    require 'vagrant-aws' 
    Vagrant.configure('2') do |config| 
     config.vm.box = 'Vagarent' 
     config.vm.provider 'aws' do |aws, override| 
     aws.access_key_id = "xxxxxxxxxxxxxxxxxx" 
     aws.secret_access_key = "xxxxxxxxxxxxxxxxxxxxxxxx" 
     aws.keypair_name = 'ssh-keypair-name' 
     aws.instance_type = "t2.micro" 
     aws.region = 'us-west-2a' 
     aws.ami = 'ami-1122298f0' 
     aws.security_groups = ['default'] 
     override.ssh.username = 'ubuntu' 
     override.ssh.private_key_path = '~/.ssh/ssh-keypair-file' 
     end 
    end 

Wie es zu lösen?

Antwort

1

us-west-2a ist kein gültiger Regionsname, siehe https://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region für die vollständige Liste der verfügbaren Region und Endpunkte.

Wenn Sie AMI ist die Lage in West-USA (Oregon), dann müssen Sie mit us-west-2 in Ihrem Vagrantfile

+0

Frédéric Henri - Danke. Ja. Ich wechselte zu aws.region = 'us-west-2' anstelle von aws.region = 'us-west-2a', trotzdem bekomme ich denselben Fehler. Können Sie bitte andere Möglichkeiten prüfen? – lakshmikandan

+0

Danke, Frédéric Henri. J. – lakshmikandan

1

Wenn man durch "vagabundierende-aws" documentation, folgende arbeitete für mich ersetzen.

installiert "Vagabund-aws" Plugin mit Shell:

vagrant plugin install vagrant-aws 

Hinzugefügt AWS kompatibel 'Dummy-Box' genannt "aws" hinzugefügt in config.vm.box = "aws":

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

Erstellt folgenden Vagrant Datei:

# Require the AWS provider plugin 
require 'vagrant-aws' 
Vagrant.configure(2) do |config| 
    config.vm.box = "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 = ENV['AWS_ACCESS_KEY'] 
    aws.secret_access_key = ENV['AWS_SECRET_KEY'] 
    aws.region = "us-east-1" 
    #aws.availability_zone = "us-east-1c" 

    # EC2 Instance AMI 
    aws.ami = "ami-aa2ea6d0" # Ubuntu 16.04 in US-EAST 
    aws.keypair_name = "awswindows" #change as per your key 
    aws.instance_type = "t2.micro" 
    aws.block_device_mapping = [{ 'DeviceName' => '/dev/sda1', 'Ebs.VolumeSize' => 10 }] 
    aws.security_groups = ["YOUR_SG"] 
    aws.tags = { 
     'Name' => 'Vagrant EC2 Instance' 
     } 
    # Credentials to login to EC2 Instance 
    override.ssh.username = "ubuntu" 
    override.ssh.private_key_path = ENV['AWS_PRIVATE_KEY'] 
    end 

end 

Befeuert vagrant up --provider=aws.

Überprüfen Sie einmal und lassen Sie mich wissen, wenn Sie irgendein Problem haben.

+1

J. Parashar - Danke, es funktioniert perfekt ohne irgendwelche Probleme. – lakshmikandan