无法从 ECS Fargate 任务访问 EFS

问题描述 投票:0回答:3

尝试启动使用 EFS 卷的 Fargate 任务。

从 ECS 控制台启动任务时,我收到此错误:

ResourceInitializationError: failed to invoke EFS utils commands to set up EFS volumes: stderr: Failed to resolve "fs-019a4b2d1774c5586.efs.eu-west-1.amazonaws.com" - check that your file system ID is correct, and ensure that the VPC has an EFS mount target for this file system ID. See https://docs.aws.amazon.com/console/efs/mount-dns-name for more detail. Attempting to lookup mount target ip address using botocore. Failed to import necessary dependency botocore, please install botocore first. : unsuccessful EFS utils command execution; code: 1

文件系统 ID 正确。我已从同一 VPC 中的 ec2 实例安装了该卷,一切都很好。

此处定义以下步骤:https://aws.amazon.com/premiumsupport/knowledge-center/ecs-fargate-mount-efs-containers-tasks/?nc1=h_ls

我不知道在哪里指定 ECS 服务或任务的出站规则。 See image

提前致谢。

amazon-ecs aws-fargate amazon-efs
3个回答
5
投票

正如 @MarkB 所说,我已经编辑了出站规则并将端口 2049 (NFS) 添加到 EFS 安全组,并且工作正常。


0
投票
  1. 基本上,ECS 的安全组应允许入口中的 ssh 和端口 2049 上的 nfs 协议连接到挂载目标的安全组,并且
  2. 挂载目标的安全组应允许 2049 端口上的 nfs 协议。

0
投票

如果是 CDK,以下 PolicyStatement 将处理上述建议的操作并修复错误:

fileSystem.addToResourcePolicy(
      new iam.PolicyStatement({
        actions: ['elasticfilesystem:ClientMount'],
        principals: [new iam.AnyPrincipal()],
        conditions: {
          Bool: {
            'elasticfilesystem:AccessedViaMountTarget': 'true'
          }
        }
      })
    )
© www.soinside.com 2019 - 2024. All rights reserved.