2014-03-19 92 views
0

我目前正在使用Rails進行項目工作,而且我面臨需要使用霧庫從Amazon導入現有服務器的詳細信息。在Ruby on Rails中使用霧檢索Amazon的詳細信息

我已經嘗試了一些初始代碼來獲得對AWS的訪問權限,並且此時我已經獲得了與證書的連接。

問題是,當我繼續獲取該實例詳細信息時,它不返回任何內容。

require 'fog' 
aws_credentials = { 
:aws_access_key_id => "ACCESS ID" 
:aws_secret_access_key "SECRET ID" 
} 
conn2 = Fog::Compute.new(aws_credentials.merge(:provider => 'AWS')) 
conn2.servers.all.each do |i| 
puts i.id 
end 

任何人都可以幫我解決這個問題嗎?

回答

1

霧中的亞馬遜供應商默認使用us-east-1地區。這可能是你的服務器在另一個地區。通過將:region傳入您的Fog::Compute構造函數來指定不同的區域。有效區域包括['ap-northeast-1','ap-southeast-1','ap-southeast-2','eu-west-1','sa-east-1','us-east-1 ','us-west-1','us-west-2'。

所以對於如果您正在使用區域AP-東北-1的實例,您的代碼將如下所示:

require 'fog' 
aws_credentials = { 
:aws_access_key_id => "ACCESS ID" 
:aws_secret_access_key "SECRET ID" 
} 
conn2 = Fog::Compute.new(aws_credentials.merge(:provider => 'AWS', :region => 'ap-northeast-1')) 
conn2.servers.all.each do |i| 
puts i.id 
end 
+0

感謝您的答覆,我區是歐盟西-1B,但現在它越來越像這樣的錯誤,當我添加該區域 getaddrinfo':getaddrinfo:名稱或服務未知(SocketError)(Excon :: Errors :: SocketError) – user3437778

+1

嘗試使用區域'歐盟西部1'。 –

+0

非常感謝,我明白了,有沒有辦法讓地區填充之前訪問的細節 – user3437778