2013-03-20 86 views
1

當我使用「wget」命令將文件從亞馬遜S3下載到亞馬遜EC2實例 時,它提供以下消息和文件未被下載。將文件從S3下載到EC2時出錯

如何解決這個問題..?

命令: - >

"wget https://s3.amazonaws.com/docsbucket/intro.doc" 

錯誤消息: - >

"Resolving s3.amazonaws.com... 207.171.163.225 
Connecting to s3.amazonaws.com|207.171.163.225|:443... connected. 
HTTP request sent, awaiting response... 403 Forbidden 
2013-03-20 13:06:00 ERROR 403: Forbidden." 

回答

1

除非文件是公開的,你需要用鑰匙來驗證下載文件。這可能是最簡單的工具,如s3cmd

+0

你能PLZ告訴我,我該怎麼辦呢? – Pravin 2013-03-20 16:16:47

1

您應該啓動您的EC2實例並具有從S3存儲桶讀取的權限。

最簡單的方法是使用角色。您只需在AWS的IAM(身份和訪問管理)服務中創建一個可以從S3讀取的角色。然後你用這個角色啓動你的實例。 AWS將負責爲實例獲取正確的憑據,並且您可以使用S3 CLI工具獲取您的S3對象。

您可以使用相同的「技巧」來訪問其他資源和對這些資源的其他操作。

您可以在AWS單證閱讀更多關於它:http://docs.aws.amazon.com/IAM/latest/UserGuide/role-usecase-ec2app.html

+0

IAM角色將獲得實例的憑據,但您仍然需要使用使用這些憑據的機制。 wget命令不使用任何憑據,並且IAM不會添加它們。建議使用像s3cmd這樣的工具是一個不錯的選擇。這將利用任何定義的角色。 – 2013-03-21 01:04:26

+0

你說得對。我更新了答案以糾正它。 – Guy 2013-03-21 13:47:36