更新; 2020 年 1 月 17 日 - 预览 ECS/EFS 支持
2020 年 1 月 17 日,AWS宣布了对 EFS 的 ECS 支持的预览。需要注意的是,这目前是一个预览版;请参阅配置文档中有关这意味着什么的信息。
EFSVolumeConfiguration
您可以简单地定义新对象,而不是定义体积及其所有连接参数。
"EFSVolumeConfiguration": {
"fileSystemId": "fs-xxxxxx",
"rootDirectory": "/mnt/volume/path"
}
原始答案
自 2018 年 8 月起,借助 docker 卷支持,您现在可以将 NFS 共享直接挂载到 ECS 容器中。
当前可用的文档没有详细说明如何通过 docker volume 将 EFS 与 ECS 一起使用,但这是可能的。
配置 docker 卷
首先,volumes
在任务配置中包含类似于以下内容的部分:
"volumes": [
{
"name": "efs",
"host": null,
"dockerVolumeConfiguration": {
"autoprovision": null,
"labels": null,
"scope": "task",
"driver": "local",
"driverOpts": {
"type": "nfs",
"device": ":/",
"o": "addr=<fs-id>.efs.us-east-1.amazonaws.com,nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport"
}
}
}
]
确保更新选项addr
内的参数o
以匹配 EFS 文件系统的 DNS 名称。
然后,将此卷包含在您的容器定义之一的挂载中。有关语法的更多信息,请参阅Docker 卷。
"containerDefinitions": [
{
"mountPoints": [
{
"sourceVolume": "efs",
"containerPath": "/path/to/mount_volume",
"readOnly": false
}
]
}
]
用于 NFS 连接的配置选项是 AWS 在撰写本文时推荐的用于挂载 EFS 文件系统的配置选项。