从docker容器访问AWS服务的最佳方式



限制:

  • 我不想在docker容器中包含我的aws配置文件
  • 我希望它在生产和开发环境中都能发挥作用

我尝试过的东西:

  • 我使用IAM角色,但这只适用于产品,而不适用于开发环境
  • 我使用了aws配置文件,但它在主机上工作,而不是在docker容器中。我不想把它复制到容器里

关于如何做到这一点的最佳实践,有什么建议吗?

更新:为了澄清这个问题:我的问题是找到一种通用的方法,在开发环境和生产环境中使用docker来提供aws证书。通过";我使用IAM角色,但这只适用于prod";我的意思是我在云形成任务定义中使用了taskRoleArn,但这只会影响产品而不会影响开发环境。因此,我需要在开发环境中以另一种方式(如aws-config(设置凭据。

与AWS服务交互的最佳实践始终是尽可能使用IAM角色,尤其是在使用基于生产的环境时。

如果您想模拟这在内部部署情况下(例如在开发中(的工作方式,您可以将环境变量与IAM用户凭据结合使用。

使用官方的SDK/CLI将查找官方命名的环境变量,因此您的代码不需要修改以在每个环境中以不同的方式工作。

正如我上面提到的,我强烈建议在您的生产环境中使用IAM角色。

IAM角色是赋予容器所需权限的最简单方法。它适用于任何环境。这无疑是最好的做法。

对于任何感兴趣的人,我通过以下关于测试IAM角色的说明解决了我的问题:https://aws.amazon.com/blogs/compute/a-guide-to-locally-testing-containers-with-amazon-ecs-local-endpoints-and-docker-compose/参见与";ECS本地容器端点";

相关内容

  • 没有找到相关文章

最新更新