将 IAM 角色传递给 EC2 上的 Docker



将 IAM 角色传递给 EC2 上的 Docker 容器的建议方法是什么?

我有一个在 EC2 上的码头工人环境中运行的 mlflow 项目。python代码需要从S3读取和写入。以下是错误(有时其他类型的错误也指示没有来自容器的 s3 访问,例如 s3 未找到错误(

botocore.exceptions.ProfileNotFound: The config profile (xxx) could not be found

为了解决 s3 访问问题,我已经创建了一个允许访问存储桶的 IAM 角色。

将此角色赋予 Docker 容器的最佳方法是什么?是否可以在Dockerfile中定义角色名称?

谢谢

如果您使用 ECS 在 EC2 实例上运行容器,则可以在任务定义中设置 taskRoleArn。如果您在没有 ECS 的 EC2 上运行 docker,则可以为实例分配角色并使用--net host容器应使用 ec2 实例的角色。

我在 EC2 上使用 docker,我刚刚创建了一个实例配置文件。

如果您使用控制台:

Instances -> CHOOSE YOUR INSTANCE -> Actions -> Instance Settings -> Attach/Replace IAM Role

如果您使用 CloudFormation:

EC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      IamInstanceProfile: !Ref EC2InstanceIAMInstanceProfile
      ...

相关内容

  • 没有找到相关文章

最新更新