1

如果我有一个使用角色创建的 EC2 实例,那么获取访问密钥以执行从 hdfs 到 s3 的 distcp 的最佳实践方法是什么?

我不想使用我们的自动化部署工具向实例发送访问密钥,因为这意味着将密钥存储在显而易见的地方。实例有没有办法使用 CLI 请求一组密钥?

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

4

1 回答 1

3

当使用角色启动 Amazon EC2 实例时,该实例将通过实例元数据服务获得对临时安全密钥的访问权限。它的工作原理如下:

  • 在身份和访问管理 (IAM) 中创建角色
  • 授予角色适当的权限
  • 启动一个 Amazon EC2 实例并选择该角色。如果您使用 Amazon Elastic MapReduce (EMR) 启动实例,则通常会为它们分配一个 EMR 特定角色(您可以修改
  • 一组临时安全凭证通过 URL 提供给实例http://169.254.169.254/latest/meta-data/iam/security-credentials/

调用 AWS 开发工具包的软件知道会自动查看此 URL 以检索安全凭证。如果您使用的软件没有自动查看此 URL,您可以提取它们并将它们传递给软件。

请参阅:从实例元数据中检索安全凭证

于 2015-10-18T04:23:29.603 回答