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

Terraform配置aws_datasync_location_efs时filesystem_arn验证失败

问题原因及解决办法

你遇到的验证错误是因为传入的EFS文件系统ARN不符合AWS DataSync要求的格式——ARN缺少了12位的AWS账户ID部分。

看错误信息里的ARN:arn:aws:elasticfilesystem:us-east-1::file-system/fs-0d5b67a50ea988fb6,在区域(us-east-1)和file-system之间本该是12位数字的账户ID,但这里是空的(两个冒号直接相连),这就违反了DataSync要求的正则规则:^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):elasticfilesystem:[a-z-0-9]+:[0-9]{12}:file-system/fs-[0-9a-f]{8,40}$。

代码问题所在

你在aws_datasync_location_efs资源里引用了挂载目标的file_system_arn属性:

efs_file_system_arn   = aws_efs_mount_target.my_target1.file_system_arn

这个属性返回的ARN是不包含账户ID的简化版本,不符合DataSync的格式要求。

修复方案

直接引用EFS文件系统资源本身的arn属性即可,这个属性会返回包含完整账户ID的标准ARN:

修改efs.tf中的DataSync资源声明:

resource "aws_datasync_location_efs" "example" {
  efs_file_system_arn   = aws_efs_file_system.my_efs.arn

  ec2_config {
    security_group_arns = [aws_security_group.my_efs-sg.arn]
    subnet_arn          = module.vpc.public_subnet_arns[0]
  }
}

这样传入的ARN会是类似arn:aws:elasticfilesystem:us-east-1:123456789012:file-system/fs-0d5b67a50ea988fb6的完整格式,就能通过DataSync的验证了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 08:22:19