1

Fog を使用して EC2 インスタンスをブートストラップした直後に、EC2 インスタンスに接続できません。ブートストラップ後、インスタンスの準備が整うのを待ち、さらに 5 秒待ちます。ただし、まだssh経由で接続できません。しばらくすると接続が利用可能になりますが、マシンが「準備完了」になるまで少し時間がかかります。

instance.wait_for { ready? }
instance.wait_for { !public_ip_address.nil?}
sleep(5)

マシンが ssh 接続を受け入れる準備ができるまで待機する方法について何か提案はありますか?

4

1 に答える 1

0

EC2 を使用している場合は、サーバーが属するセキュリティ グループがポート 22 で SSH を許可していることを確認してください。EC2 を使用していない場合は、同様のファイアウォールの問題である可能性があります。

編集:これは私が以前に使用したコードで、問題はありませんでしたが、それはec2以外のクラウドプロバイダーでした.

def wait_for resource, msgOnStart, msgOnReady='Done'
  print msgOnStart
  resource.wait_for do
    print '.'
    if resource.ready?
      print "#{msgOnReady}\n"
      true
    end
  end
end

@server = compute.servers.create(#blahblahblah)
wait_for @server, 'Provisioning server'
于 2013-03-23T01:11:36.457 に答える