2

Rubber gemを使用してRailsアプリをAmazon ec2にアップロードしようとしています( Railscastsチュートリアルに従っています)。実行するたびcap rubber:create_stagingに、サーバーに接続できません。私はこれを機能させるために可能な限りのことを試みてきましたが、丸一日試した後、ここで何が起こっているのかを投稿したいと思いました.

Andrews-MacBook-Pro:blog andrew$ cap rubber:create_staging
Respawning with 'bundle exec'
    triggering load callbacks
  * 2013-01-03 17:27:20 executing `rubber:init'
  * 2013-01-03 17:27:23 executing `rubber:create_staging'
Hostname to use for staging instance [production]: 
Roles to use for staging instance [apache,app,collectd,common,db:primary=true,elasticsearch,examples,graphite_server,graphite_web,graylog_elasticsearch,graylog_mongodb,graylog_server,graylog_web,haproxy,mongodb,monit,passenger,postgresql,postgresql_master,web,web_tools]: 
  * 2013-01-03 17:27:26 executing `rubber:create'
  * Security Group already in cloud, syncing rules: blog_production_production
  * Security Group already in cloud, syncing rules: blog_production_graylog_mongodb
  * Security Group already in cloud, syncing rules: blog_production_mongodb
  * Security Group already in cloud, syncing rules: blog_production_postgresql
  * Security Group already in cloud, syncing rules: blog_production_postgresql_master
  * Security Group already in cloud, syncing rules: blog_production_db
  * Security Group already in cloud, syncing rules: blog_production_app
  * Security Group already in cloud, syncing rules: blog_production_web
  * Security Group already in cloud, syncing rules: blog_production_haproxy
  * Security Group already in cloud, syncing rules: blog_production_elasticsearch
  * Security Group already in cloud, syncing rules: blog_production_monit
  * Security Group already in cloud, syncing rules: blog_production_common
  * Security Group already in cloud, syncing rules: blog_production_default
  * Security Group already in cloud, syncing rules: blog_production_graylog_elasticsearch
  * Security Group already in cloud, syncing rules: blog_production_apache
  * Security Group already in cloud, syncing rules: blog_production_passenger
  * Security Group already in cloud, syncing rules: blog_production_examples
  * Security Group already in cloud, syncing rules: blog_production_graphite_web
  * Security Group already in cloud, syncing rules: blog_production_graphite_server
  * Security Group already in cloud, syncing rules: blog_production_graylog_server
  * Security Group already in cloud, syncing rules: blog_production_collectd
  * Security Group already in cloud, syncing rules: blog_production_graylog_web
  * Security Group already in cloud, syncing rules: blog_production_web_tools
 ** Creating instance ami-eafa5883/m1.small/blog_production_default,blog_production_web,blog_production_web_tools,blog_production_production,blog_production_apache,blog_production_app,blog_production_passenger,blog_production_collectd,blog_production_common,blog_production_monit,blog_production_db,blog_production_postgresql,blog_production_postgresql_master,blog_production_elasticsearch,blog_production_examples,blog_production_graphite_server,blog_production_graphite_web,blog_production_graylog_elasticsearch,blog_production_graylog_mongodb,blog_production_mongodb,blog_production_graylog_server,blog_production_graylog_web,blog_production_haproxy/Default
 ** Instance production created: i-7b4f840a
Waiting for instances to start..........................
 ** Instance running, fetching hostname/ip data
  * 2013-01-03 17:28:37 executing `rubber:_allow_root_ssh'
  * executing "sudo -p 'sudo password: '  bash -l -c 'cp /home/ubuntu/.ssh/authorized_keys /root/.ssh/'"
    servers: ["23.20.130.97"]
.... ** Failed to connect to 23.20.130.97, retrying
  * 2013-01-03 17:28:44 executing `rubber:_allow_root_ssh'
  * executing "sudo -p 'sudo password: '  bash -l -c 'cp /home/ubuntu/.ssh/authorized_keys /root/.ssh/'"
    servers: ["23.20.130.97"]
. ** Failed to connect to 23.20.130.97, retrying
  * 2013-01-03 17:28:46 executing `rubber:_allow_root_ssh'
  * executing "sudo -p 'sudo password: '  bash -l -c 'cp /home/ubuntu/.ssh/authorized_keys /root/.ssh/'"
    servers: ["23.20.130.97"]
. ** Failed to connect to 23.20.130.97, retrying
  * 2013-01-03 17:28:49 executing `rubber:_allow_root_ssh'
  * executing "sudo -p 'sudo password: '  bash -l -c 'cp /home/ubuntu/.ssh/authorized_keys /root/.ssh/'"
    servers: ["23.20.130.97"]

etc

その後、無限ループに入り、数分ごとに上記のようにサーバーに接続しようとします。

編集:ローカル マシンに ruby​​ + gems を再インストールすることで、この問題を最終的に修正しました。何が原因なのかまだわかりません。

4

2 に答える 2

0

これは実際には、EC2 でインスタンスを作成すると、インスタンスが作成されても (AWS マネジメント コンソールで緑色のライトが表示されます)、デプロイ マシンからアクセスできるように IP アドレスを伝達するのにまだ時間がかかるためです。

解決策は、最終的に接続されるまで数分待つことです。

于 2013-05-02T18:09:00.400 に答える