11

こんにちは、ec2 で rubb gem を試していますが、クイック スタート セクションで問題が発生しています。何らかの理由で、ゴムの下の霧がキーペアを見つけられません。詳細は次のとおりです。

irb (ここでのパスは私の rubb.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/ruby-1.9.3-p125@bag/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/ruby-1.9.3-p125@bag/gems/excon-0.15.4/lib/excon/connection.rb:105:in `request'
from /home/charlie/.rvm/gems/ruby-1.9.3-p125@bag/gems/fog-1.5.0/lib/fog/core/connection.rb:20:in `request'
from /home/charlie/.rvm/gems/ruby-1.9.3-p125@bag/gems/fog-1.5.0/lib/fog/aws/compute.rb:368:in `request'
from /home/charlie/.rvm/gems/ruby-1.9.3-p125@bag/gems/fog-1.5.0/lib/fog/aws/requests/compute/run_instances.rb:117:in `run_instances'
from /home/charlie/.rvm/gems/ruby-1.9.3-p125@bag/gems/fog-1.5.0/lib/fog/aws/models/compute/server.rb:182:in `save'
from /home/charlie/.rvm/gems/ruby-1.9.3-p125@bag/gems/fog-1.5.0/lib/fog/core/collection.rb:50:in `create'
from /home/charlie/.rvm/gems/ruby-1.9.3-p125@bag/gems/rubber-2.0.5/lib/rubber/cloud/fog.rb:27:in `create_instance'
from /home/charlie/.rvm/gems/ruby-1.9.3-p125@bag/gems/rubber-2.0.5/lib/rubber/thread_safe_proxy.rb:13:in `method_missing'
from /home/charlie/.rvm/gems/ruby-1.9.3-p125@bag/gems/rubber-2.0.5/lib/rubber/recipes/rubber/instances.rb:295:in `create_instance'
from /home/charlie/.rvm/gems/ruby-1.9.3-p125@bag/gems/rubber-2.0.5/lib/rubber/recipes/rubber/instances.rb:215:in `block (2 levels) in create_instances'

なぜそれが起こっているのですか?

ありがとうチャーリー

4

4 に答える 4

37

私はちょうどこれを経験しました、そしてこれは間違っていたものです:

私が持っていたrubber.ymlファイル:
region: us-east-1

ただし、AWSコンソールでキーペアを作成したとき、私は別のリージョンにいました。
Rubber.ymlファイルで指定されているのと同じリージョンにいる間にキーペアを作成する必要があります。

ここに画像の説明を入力してください

お役に立てれば!

于 2012-08-09T15:11:40.693 に答える
3

新しい 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

私のconfig/rubber/rubber.ymlは上記とまったく同じで、動作します。これを解決してくれた Johnnycakes に感謝します。

于 2013-06-23T06:41:52.893 に答える
0

この行を私のrubber/deploy.rbファイルに追加すると、それが処理されました。[デフォルト] launch-wizard-1 は、私の ec2 aws インスタンスの名前です。.. assigned_security_groups: [launch-wizard-1] を追加します。

于 2016-01-06T21:57:04.223 に答える