You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

跨AWS账户部署:ECS任务挂载FSx存储时出现FileSystemNotFound错误的技术咨询

解决跨账户ECS访问FSx的FileSystemNotFound问题

首先,这个报错的核心原因是跨账户访问FSx需要双向权限配置:你已经在账户A的EC2实例角色上配置了允许访问账户B FSx的IAM策略,但账户B的FSx文件系统默认会拒绝来自其他账户的请求,必须在账户B侧添加资源策略来授权账户A的角色访问。

1. 在账户B中为FSx文件系统添加资源策略

登录AWS账户B,找到对应的FSx文件系统(fs-0fd8b05f434cf0e72),在“Permissions”标签下添加以下资源策略:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111111111111:role/你的EC2实例角色名称"
      },
      "Action": [
        "fsx:DescribeFileSystems",
        "fsx:AccessFileSystem"
      ],
      "Resource": "arn:aws:fsx:eu-west-1:222222222222:file-system/fs-0fd8b05f434cf0e72"
    }
  ]
}
  • 替换111111111111为账户A的ID
  • 替换你的EC2实例角色名称为账户A中EC2宿主机使用的IAM角色名称

这个策略会明确允许账户A的EC2实例角色访问该FSx文件系统,解决“FileSystemNotFound”的核心问题(因为没有资源策略的话,即使IAM策略允许,FSx也会返回不存在的错误)。

2. 验证EC2实例角色的权限配置

确认以下几点:

  • EC2实例确实关联了你提到的AmazonFSxReadOnlyAccess和fsx_mount策略,没有被IAM权限边界或其他策略限制
  • fsx_mount策略中FSx的资源ARN是正确的(arn:aws:fsx:eu-west-1:222222222222:file-system/fs-0fd8b05f434cf0e72),区域和文件系统ID都匹配

3. 检查区域一致性

确保ECS集群、EC2宿主机和FSx文件系统都在eu-west-1区域:

  • FSx是区域级服务,不支持跨区域访问
  • 你的SecretsManager在us-west-2,如果EC2实例在eu-west-1,需要确保fsx_mount策略允许跨区域调用SecretsManager(当前策略已经允许该Secret的GetSecretValue动作,通常跨区域调用是支持的,但如果遇到问题可以检查VPC端点或区域权限)

4. 验证Terraform配置的细节

  • 确认credentials_parameter引用的SecretsManager存储的是有权限访问FSx文件系统的AD账户凭证
  • 确保domain参数和FSx关联的AD域一致

完成以上配置后,重新启动ECS任务,应该就能正常访问跨账户的FSx存储了。

内容的提问来源于stack exchange,提问作者Georgi Koemdzhiev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 09:49:10