我正在尝试利用AWS的recently发布功能,该功能允许用户将EFS文件系统挂载到ECS容器。 tutorial 中的第4步演示了JSON CloudFormation代码,我认为下面的内容将是与之等效的YAML。但是,应用它时会返回以下错误:
“已取消资源创建”“遇到了不受支持的属性EFSVolumeConfiguration”]
在理解如何解决此错误方面,我将不胜感激,以下是我CloudFormation代码的简化版本:
TaskDefinition:
Type: AWS::ECS::TaskDefinition
Properties:
Cpu: ...
Memory: ...
ContainerDefinitions:
- Name: ...
Cpu: ...
Memory: ...
Image: ...
MountPoints:
- ContainerPath: /var/www/html/img
SourceVolume: ImgEFS
PortMappings:
- ContainerPort: ...
Environment:
...
Volumes:
- Name : ImgEFS
EFSVolumeConfiguration:
FileSystemId: ...
答案 0 :(得分:2)
AWS::ECS::TaskDefinition.Volume
documentation
建议在创作模板时尝试在CloudFormation Linter中的VSCode内联查看其中一些错误:
[cfn-lint] E3002 Invalid Property Resources/TaskDefinition/Properties/Volumes/0/EFSVolumeConfiguration
答案 1 :(得分:2)
通过AWS支持发现CloudFormation尚不支持属性“ efsVolumeConfiguration”时,我面临着同样的问题。当前,在Fargate任务上挂载EFS卷的唯一方法是通过ECS控制台,SDK或CLI。
答案 2 :(得分:0)
尽管在最新文档的TaskDefinition中似乎可以实现documented,但尚不清楚Cloud Formations TaskDefinition中是否可以使用此功能。正如上面的Pat所指出的那样。
答案 3 :(得分:0)