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

Best way to access AWS Services from docker container

限制:

我尝试过的事情:

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

更新: 澄清问题: 我的问题是找到一种通用方法来使用 docker 在开发环境和生产环境中提供 aws 凭证。 “我使用了 IAM 角色,但这只适用于产品”我的意思是我在 cloudformation 任务定义上使用了 taskRoleArn,但这只会影响产品而不影响开发环境。所以我需要在开发环境中以另一种方式(如 aws config)设置凭据。

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

如果您想模拟它在 on-premise 情况下(例如在开发中)的工作方式,您可以结合使用 environment variables 和 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 本地容器端点”相关的部分