首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >流浪者: AMI必须通过"ami“配置(区域:#{ must })

流浪者: AMI必须通过"ami“配置(区域:#{ must })
EN

Stack Overflow用户
提问于 2017-12-07 12:50:17
回答 2查看 1.1K关注 0票数 2

我在运行“流浪命令”时出错了,

代码语言:javascript
复制
 # vagrant up --provider=aws

这台机器的配置有错误。请修复以下错误,然后重试:

AWS:* AMI必须通过"ami“(region:#{region})配置

我用的是Vagrant 2.0.1和迷航器-aws 0.7.2

Vagrant文件:

代码语言:javascript
复制
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

如何解决这个问题?

EN

回答 2

Stack Overflow用户

发布于 2017-12-07 13:14:28

us-west-2a不是有效的区域名称,有关可用区域和端点的完整列表,请参见地域

如果AMI位于美国西部(俄勒冈州),则需要用Vagrantfile文件中的us-west-2替换

票数 1
EN

Stack Overflow用户

发布于 2017-12-08 11:19:34

通过“流浪汉-aws”的文档,跟随为我工作。

安装有外壳的“迷航-aws”插件:

代码语言:javascript
复制
vagrant plugin install vagrant-aws

config.vm.box = "aws"中添加了与AWS兼容的名为"aws“的”虚拟框“

代码语言:javascript
复制
vagrant box add aws https://github.com/mitchellh/vagrant-aws/raw/master/dummy.box

创建如下Vagrant:

代码语言:javascript
复制
# 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

炒了vagrant up --provider=aws

检查一次,如果你遇到任何问题,请告诉我。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47695544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档