【发布时间】:2013-11-29 02:32:44
【问题描述】:
我打算使用 Vagrant,Chef-solo 建立一个 AWS 环境。但是我遇到了一些我无法解决的错误。有人可以帮帮我吗?
我使用的步骤:
在 Mac OS X 上安装所有必要的环境:如 vagrant、vagrant 插件、虚拟盒子、厨师、厨师插件等。
-
下载 vagrant 配置文件:
git clone https://github.com/ICTatRTI/ict-chef-repo -
Vagrantfile# -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure("2") do |config| # All Vagrant configuration is done here. The most common configuration # options are documented and commented below. For a complete reference, # please see the online documentation at vagrantup.com. #config.vm.box_url = "https://opscode-vm.s3.amazonaws.com/vagrant/opscode_ubuntu-12.04_chef-11.2.0.box" #config.vm.box = "opscode-ubuntu-1204" config.vm.box = "dummy" config.vm.network :forwarded_port, guest: 80, host: 8888 config.vm.network :forwarded_port, guest: 3306, host: 3333 config.ssh.username = "ubuntu" config.vm.provider :aws do |aws, override| #config.vm.provider :aws do |aws| aws.access_key_id = 'XXXXXXXXXXXXXXXQ' aws.secret_access_key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX' aws.keypair_name = "usr-aws-2013" aws.availability_zone = "us-west-2c" aws.instance_type = "t1.micro" aws.region = "us-west-2" aws.ami = "ami-0849a03f" aws.security_groups = ['quicklaunch-1'] aws.tags = { 'Name' => 'tong', 'Description' => 'vagrant test' } override.ssh.private_key_path = "~/.ssh/usr-aws-2013.pem" override.ssh.username = "ubuntu" end config.vm.provision :chef_solo do |chef| chef.node_name = 'base' chef.cookbooks_path = "./cookbooks" chef.roles_path = "./roles" chef.add_role "base" chef.add_role "ushahidi" end end -
运行:
vagrant up --provider=aws -
出现以下错误
Bringing machine 'default' up with 'aws' provider... WARNING: Nokogiri was built against LibXML version 2.8.0, but has dynamically loaded 2.9.1 [default] Warning! The AWS provider doesn't support any of the Vagrant high-level network configurations (`config.vm.network`). They will be silently ignored. [default] Launching an instance with the following settings... [default] -- Type: t1.micro [default] -- AMI: ami-0849a03f [default] -- Region: us-west-2 [default] -- Availability Zone: us-west-2c [default] -- Keypair: usr-aws-2013 [default] -- Security Groups: ["quicklaunch-1"] [default] -- Block Device Mapping: [] [default] -- Terminate On Shutdown: false An error occurred while executing multiple actions in parallel. Any errors that occurred are shown below. An unexpected error ocurred when executing the action on the 'default' machine. Please report this as a bug: The image id '[ami-0849a03f]' does not exist
【问题讨论】:
-
对我来说很明显:在提供的区域和区域中没有“ami-0849a03f”,或者您可能无法访问它。
-
嗨 @DracoAter 我在 AWS EC2 控制台中创建一个实例,我确保有一个实例看起来像“i-bddcf889 t1.micro us-west-2b running”并且我更改了 Vagrantfile "aws.availability_zone = "us-west-2b" aws.instance_type = "t1.micro" aws.region = "us-west-2" aws.ami = "ami-bddcf889"" 但它显示相同的错误
标签: amazon-web-services chef-infra vagrant chef-solo