gpt4 book ai didi

amazon-web-services - boto3 无法从在 AWS 批处理中运行的 Docker 容器连接到 S3

转载 作者:行者123 更新时间:2023-12-04 15:45:26 25 4
gpt4 key购买 nike

我正在尝试将存储在 ECR 中的 Docker 容器作为 AWS 批处理作业启动。此容器的入口点 python 脚本尝试连接到 S3 并下载文件。我已将具有 AmazonS3FullAccess 的角色附加到计算环境中的 AWSBatchServiceRole,并且我还已将具有 AmazonS3FullAccess 的角色附加到计算资源。

这是正在记录的以下错误:botocore.exceptions.ConnectTimeoutError:端点 URL 上的连接超时:“https://s3.amazonaws.com/”

这些实例有可能在自定义 VPC 而非默认 VPC 中启动。我不确定这是否有所作为,但也许这是问题的一部分。我没有适当的权限来检查。我已经在同一个 VPC 中启动的 EC2 实例上测试了这个 Docker 镜像,一切都按预期工作。

最佳答案

您提到了计算环境和计算资源。您是否将此 S3 策略添加到 Job Role 中,如前所述 here

After you have created a role and attached a policy to that role, you can run tasks that assume the role. You have several options to do this:

  1. Specify an IAM role for your tasks in the task definition. You can create a new task definition or a new revision of an existing task definition and specify the role you created previously. If you use the console to create your task definition, choose your IAM role in the Task Role field. If you use the AWS CLI or SDKs, specify your task role ARN using the taskRoleArn parameter. For more information, see Creating a Task Definition.

  2. Specify an IAM task role override when running a task. You can specify an IAM task role override when running a task. If you use the console to run your task, choose Advanced Options and then choose your IAM role in the Task Role field. If you use the AWS CLI or SDKs, specify your task role ARN using the taskRoleArn parameter in the overrides JSON object. For more information, see Running Tasks.

关于amazon-web-services - boto3 无法从在 AWS 批处理中运行的 Docker 容器连接到 S3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55961579/

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