【问题标题】:ECS CLI - Mount EFS when launching container instanceECS CLI - 启动容器实例时挂载 EFS
【发布时间】:2017-04-01 00:13:57
【问题描述】:

我正在使用 ecs-cli 和一个 docker compose 文件和定义我的密钥对、VPC、子网、安全组、AMI 等的参数...

但是,在实例上运行的容器将需要访问我的 EFS。因此,当 ECS 启动了一个新的容器实例时,我希望它在启动容器之前将 EFS 挂载到实例/主机上的特定路径。我没有看到实现这一点的方法,有人知道如何获得这种行为吗?

【问题讨论】:

  • 只是为了确保我正确地找到了您要查找的内容...您希望 ECS 服务也安装 EFS 驱动器吗?我不认为这是可能的。当您的 ECS 主机启动以挂载 EFS 驱动器时,您是否有某些原因不能在用户数据中使用脚本?如果您的路径是动态的,您还可以使用用户数据来部署某种应用,以便在需要时为您挂载 EFS。
  • 是否可以将用户数据脚本与 ecs-cli 一起使用?如果是这样,那将解决问题
  • 您不会在 ECS 级别使用它,而是在启动实例主机 EC2 时使用它。我认为 ecs-cli 只与 ECS 服务交互,而不是与底层实例主机交互,这听起来像是您需要映射 EFS 驱动器的地方。
  • 哦,知道了。我尝试使用 ECS-CLI 的原因是因为我希望集群自动扩展,并且当添加新实例时,EFS 会自动挂载在它们上
  • 我会通过运行一个用户数据脚本来解决这个问题: mkdir efs/ sudo mount -t nfs4 -o nfsvers=4.1 :/efs/ as part of用于自动缩放或在 CloudFormation 脚本中的 AMI。

标签: amazon-web-services docker docker-compose amazon-ecs


【解决方案1】:

我最终做的是:

  • 创建启动配置:创建时,在“高级”部分中,设置用户数据以挂载 EFS(基于此 documentation 中的示例)。 注意:确保在启动配置中为实例提供 IAM 角色,以便能够访问 EFS,即AmazonElasticFileSystemFullAccessAmazonElasticFileSystemReadOnlyAccess

  • 创建一个自动缩放组并将其与上面创建的启动配置相关联。

  • 将上面创建的自动缩放组与 Elastic Beanstalk 应用程序一起使用

【讨论】:

    猜你喜欢
    • 2017-07-11
    • 1970-01-01
    • 2022-07-07
    • 2018-08-05
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    相关资源
    最近更新 更多