在本地测试使用IAM角色的应用程序

时间:2016-04-12 08:03:24

标签: amazon-web-services amazon-ec2 amazon-iam

我有一个Java应用程序,可以在S3中添加文件。此应用程序在EC2实例中运行。

我们正在使用IAM角色。因此,我们已将所需的IAM角色附加到此EC2实例。

那里的一切都很完美。

但我们也希望在笔记本电脑中本地测试应用程序。每当我需要测试它时,每次都将应用程序上传到EC2很困难。

如何在不更改代码的情况下动态切换,以便我可以测试我的笔记本电脑(使用accesskey和secretKey)以及在EC2中使用IAM角色?

2 个答案:

答案 0 :(得分:1)

AWS SDK使用凭据提供程序链来查找凭据。订单因语言而异,但通常会检查:

  • 环境变量
  • 本地配置文件
  • EC2实例元数据

因此,如果您想在本地运行该应用程序,您可以提供凭据文件或在环境变量中设置凭据。代码将自动定位凭证,就像在EC2实例上一样。

参考文献:

答案 1 :(得分:-1)

如果您正在使用类似Docker的实例,那么将环境变量设置为docker run就很容易了。

docker run --env-file=FILE

OR

docker run -it --rm -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_KEY

参考:https://hub.docker.com/r/pmcjury/aws-cli/