2015-10-15 77 views
1

獲取從S3執行Redshift複製命令所需的AWS憑證的最佳做法是什麼?通過讓機器觸發複製命令,我將自動從S3進入Redshift的過程。執行Redshift複製命令時獲取憑證的最佳做法

我知道建議您在ec2主機上使用IAM角色,以便您不需要存儲AWS憑證。使用Redshift複製命令它將如何工作?我不特別需要源代碼中的憑據。同樣,主機正在由主廚提供,因此如果我想將憑據設置爲環境變量,他們將在主廚腳本中提供。

回答

1

您需要憑據才能使用COPY命令,如果您的問題存在,如何從運行程序的主機獲取這些憑據,您可以獲取IAM角色的元數據並使用訪問密鑰密鑰和令牌。您可以在COPY命令之前即時參數化它,並在COPY命令中使用它們。

出口ACCESSKEY = curl -s http://169.254.169.254/IAMROLE | grep '"AccessKeyId" : *' | cut -f5 -d " " | cut -b2- | rev | cut -b3- | rev

命令extrct密鑰和創建參數

出口祕密密鑰= curl -s http://169.254.169.254/IAMROLE | grep '"SecretAccessKey" : *' | cut -f5 -d " " | cut -b2- | rev | cut -b3- | rev

命令提取令牌和創建參數

出口TOKEN = curl -s http://169.254.169.254/IAMROLE | grep '"Token" : *' | cut -f5 -d " " | rev | cut -b2- | rev