Резина 2 (туман) и ошибка ключевой пары
Привет, я тестирую резиновую жемчужину с ec2, но некоторые проблемы попадают в раздел быстрого запуска. По какой-то причине Туман под каучуком не находит ключ. Вот деталь:
в irb (путь здесь - это то, что находится в моем свойстве rubber.yml key_file - gsg-keypair - это мой закрытый ключ без расширения pem, и открытый ключ находится в том же каталоге):
1.9.3p125 :010 > File.open("#{Dir[(File.expand_path('~') rescue '/root') + '/.ec2/*'].first}")
=> #<File:/home/charlie/.ec2/gsg-keypair>
Но каждый раз, когда я запускаю: cap rubber: create_staging, принимающий все значения по умолчанию, я получаю следующее:
/home/charlie/.rvm/gems/[email protected]/gems/excon-0.15.4/lib/excon/connection.rb:276:in `request_kernel': The key pair 'gsg-keypair' does not exist (Fog::Compute::AWS::NotFound)
from /home/charlie/.rvm/gems/[email protected]/gems/excon-0.15.4/lib/excon/connection.rb:105:in `request'
from /home/charlie/.rvm/gems/[email protected]/gems/fog-1.5.0/lib/fog/core/connection.rb:20:in `request'
from /home/charlie/.rvm/gems/[email protected]/gems/fog-1.5.0/lib/fog/aws/compute.rb:368:in `request'
from /home/charlie/.rvm/gems/[email protected]/gems/fog-1.5.0/lib/fog/aws/requests/compute/run_instances.rb:117:in `run_instances'
from /home/charlie/.rvm/gems/[email protected]/gems/fog-1.5.0/lib/fog/aws/models/compute/server.rb:182:in `save'
from /home/charlie/.rvm/gems/[email protected]/gems/fog-1.5.0/lib/fog/core/collection.rb:50:in `create'
from /home/charlie/.rvm/gems/[email protected]/gems/rubber-2.0.5/lib/rubber/cloud/fog.rb:27:in `create_instance'
from /home/charlie/.rvm/gems/[email protected]/gems/rubber-2.0.5/lib/rubber/thread_safe_proxy.rb:13:in `method_missing'
from /home/charlie/.rvm/gems/[email protected]/gems/rubber-2.0.5/lib/rubber/recipes/rubber/instances.rb:295:in `create_instance'
from /home/charlie/.rvm/gems/[email protected]/gems/rubber-2.0.5/lib/rubber/recipes/rubber/instances.rb:215:in `block (2 levels) in create_instances'
любая идея, почему это происходит?
Спасибо
Charlie
Ответы
Ответ 1
Я просто испытал это, и это было не так:
В файле rubber.yml у меня было:
region: us-east-1
Однако, когда я создал свою пару ключей в консоли AWS, я был в другом регионе.
Вы должны создать пару ключей в том же регионе, что указано в файле rubber.yml.
![enter image description here]()
Надеюсь, это поможет!
Ответ 2
В новом интерфейсе AWS область находится в верхнем правом углу. Выберите любой регион, который вы хотите, просто убедитесь, что ваш файл config/rubber/rubber.yml
точен:
cloud_providers:
aws:
# REQUIRED The AWS region that you want to use.
#
# Options include
#us-east-1
# eu-west-1
# ap-northeast-1
# ap-southeast-1
# ap-southeast-2
#
region: us-east-1
My config/rubber/rubber.yml
точно так же, как и выше, и он работает. Спасибо Johnnycakes за это!
Ответ 3
Извините за "возрождение" старой проблемы, но это может быть полезно для кого-то.
У меня была аналогичная проблема, за исключением того, что мои регионы были точно такими же.
Моя проблема заключалась в том, что я переименовал ключевой файл и выглядел так, что его следует назвать точно как "имя пары ключей" в AWS/EC2/Keypairs.
Ответ 4
Я добавил эту строку в свой файл rubber/deploy.rb и позаботился об этом. Эта строка использовалась как [по умолчанию]
start-wizard-1 - это имя моего экземпляра ec2 aws. Добавить..
assign_security_groups: [мастер запуска-1].