2015-10-17 122 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