我正在尝试使用knife-ec2 gem和chef创建并部署PostgreSQL服务器到AWS。在我项目的.chef
存储库中,我有knife.rb
文件。以下是该文件的内容。
cookbook_path [ 'Users/Petesta/Git/ringbase/chef/cookbooks' ]
knife[:aws_access_key_id] = "randomString"
knife[:aws_secret_access_key] = "randomString"
knife[:aws_ssh_key_id] = "default"
knife[:flavor] = "t1.micro"
knife[:image] = "ami-6aad335a"
knife[:region] = "us-west-1"
knife[:availability_zone] = "us-west-1a"
假设我的.pem
文件名为default.pem
。我已将密钥aws_ssh_key_id
的值设为default
和default.pem
。我环顾四周,提到的帖子不包括.pem
扩展名。但它仍然产生了同样的错误。
然后当我运行命令knife ec2 server create "role[postgresql::server]"
时,我收到错误。
错误:您尚未提供有效图像(AMI)值。请注意,此值的短选项最近从'-i'更改为'-I'。
我不知道该怎么做。有人有什么想法吗?
我也尝试在命令行上手动指定它。
答案 0 :(得分:2)
所以问题是我使用的AMI不在同一地区。 AMI不是在us-west-1中,而是在us-west-2中,与关键区域的值不匹配。