2015-10-17 89 views
1

如果我有一個用角色創建的EC2實例,獲取訪問密鑰以從hdfs執行distcp到s3的最佳實踐方式是什麼?AWS實例distcp到s3 - 訪問鍵

我不想使用我們的自動化部署工具向實例發送訪問密鑰,因爲這意味着將密鑰存儲在明顯的位置。有沒有辦法讓實例使用CLI請求一組密鑰?

我需要讓他們爲hadoop distcp /data s3n://<access_key>:<secret_key>@mybucket/baackup/data

回答

3

當Amazon EC2實例與角色展開,那麼實例給出通過實例元數據服務獲取臨時安全密鑰。其工作原理如下:

  • 一個角色在身份和訪問管理(IAM)創建
  • 適當權限授予在Amazon EC2實例推出與角色
  • 選擇角色。如果您使用Amazon Elastic MapReduce(EMR)啓動實例,則通常會爲它們分配EMR特定的角色(您可以修改它
  • 一組臨時安全證書通過URL可用於實例調用AWS SDK http://169.254.169.254/latest/meta-data/iam/security-credentials/

軟件知道自動看看這個網址檢索安全憑證。如果您使用的是不自動看看這個網址的軟件,你可以提取它們,並將它們傳遞給軟件。

參見:Retrieving Security Credentials from Instance Metadata