gpt4 book ai didi

amazon-web-services - EC2 上的 Docker 无法连接到 S3

转载 作者:行者123 更新时间:2023-12-02 20:12:31 25 4
gpt4 key购买 nike

我想提高部署的安全性,将 key 存储在安全的地方。

所以我跟着这个教程:How to Manage Secrets for Amazon EC2 Container Service–Based Applications by Using Amazon S3 and Docker
但是没有 CloudWatch 模板(我已经有一个 VPC、一个集群和其他实例)
我正在使用我自己的项目(一个可以很好地处理任务定义中的 secret 的 Flask 应用程序)

我设置了 S3 存储桶、VPC 端点,一切正常。
但是当我的 docker 容器启动时,我得到了一个错误:

download failed: s3://[my-bucket]/[my-secrets].txt to - An error occurred (403) when calling the HeadObject operation: Forbidden

这基本上发生在入口点脚本运行命令时
aws s3 cp s3://${SECRETS_BUCKET_NAME}/secrets.txt -

注意:我在任务定义中定义了 SECRETS_BUCKET_NAME,以及其他不需要保密的变量。

首先,我认为我的实例没有正确的角色,因此出于调试目的,我附加了 AdministratorAccess 策略,但没有成功。

其次,我读到 Docker 容器共享主机(EC2 实例)的凭据,因此我直接在实例上安装了 aws-cli 包并为具有 AdministratorAccess 策略的用户设置凭据。

现在我可以在我的实例上登录时手动运行命令
aws s3 cp s3://${SECRETS_BUCKET_NAME}/secrets.txt -

它工作正常,但我的容器仍然出现 403 错误。

我的 EC2 实例是 amzn-ami-2017.03.c-amazon-ecs-optimized 镜像(奇怪的是,不包括 aws-cli)

如果有人知道我做错了什么......

最佳答案

解决了!

我将 AMI 更新为更新的版本,重新制作了适当的角色并且它起作用了。

我注意到一件奇怪的事情:ECS 优化亚马逊的 AMI 不包括 aws-cli。

关于amazon-web-services - EC2 上的 Docker 无法连接到 S3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45854642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com