ECS 中的 EFS 挂载“无法解决”
Posted
技术标签:
【中文标题】ECS 中的 EFS 挂载“无法解决”【英文标题】:EFS mount in ECS "Failed to resolve" 【发布时间】:2022-01-23 21:52:29 【问题描述】:我正在尝试通过访问点创建一个装有 EFS 卷的 Fargate 容器,所有这些都是通过 cloudformation 创建的。我看到在门户中创建了 EFS,但是 ECS 任务失败了:
Failed to resolve "fs-XXX.efs.eu-west-2.amazonaws.com" - check that your file system ID is correct
在添加接入点之前,安装工作正常。我需要接入点,因为容器使用的是非 root 用户。
VPC 启用了 DNS 和主机名查找。
这里是 cloudformation 模板: https://pastebin.com/CgtvV17B
【问题讨论】:
【参考方案1】:我认为 Fargate 任务无法到达 EFS 系统,请检查是否可以从 Fargate 访问 EFS 子网(至少部署在相同的子网中)以及 路由表 配置良好。 ECS和EFS的安全组配置好(检查你的EFS是否授权TCP 2049)。
还要检查 Fargate 的版本,我认为它仅适用于版本 > 1.4 的 EFS
尝试部署具有相同配置(相同 VPC 和子网属性)的实例 EC2,并检查它是否可以到达 EFS。
【讨论】:
"检查 EFS 是否在同一个 VPC 中" - EFS 在 VPC 中吗?我在 docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/… 中没有看到任何与 VPC 相关的配置 "路由表配置良好" - 只有默认路由表包括:10.0.0.0/16 > local
和 0.0.0.0/0 > internet gateway
我不认为这是个问题吧?
"检查您的 EFS 是否授权 TCP 2049" - EFS 只有默认创建的安全组,它允许:NFS/TCP/2049
“尝试部署具有相同配置的实例 EC2” - 我确实创建了一个实例并将其安装到 EFS 并且它工作正常。但是没有办法指定一个 EFS 接入点,这可能是我的罪魁祸首
@itaysk EFS 挂载目标位于 VPC 中:docs.aws.amazon.com/efs/latest/ug/accessing-fs.html【参考方案2】:
问题是缺少 EFS 挂载目标 https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html
【讨论】:
以上是关于ECS 中的 EFS 挂载“无法解决”的主要内容,如果未能解决你的问题,请参考以下文章