如何在不同的ECS任务之间共享EFS,并托管在不同的实例中



目前,我们定义的任务使用bind_mount在单个任务中的容器之间共享EFS持久数据,比如说taskA保存在/efs/cache/taskA中。

但我们想知道,是否有任何方法可以将taskA的EFS数据与ECS中的taskB容器共享。因此,taskB可以通过在taskB中执行bind_mount来访问来自taskA的数据。

那么,我们可以在ecs中使用bind_mount来实现这一点吗?或者还有其他选择吗。感谢

taskB的定义看起来像:

containerDefinitions": [
"mountPoints": [
{
"readOnly": null,
"containerPath": "/efs/cache/taskA",
"sourceVolume": "efs_cache_taskA"
},
...],
"volumes": [
{
"fsxWindowsFileServerVolumeConfiguration": null,
"efsVolumeConfiguration": null,
"name": "efs_cache_taskA",
"host": {
"sourcePath": "/efs/cache/taskA"
},
"dockerVolumeConfiguration": null
},
...
}

您不再需要在EC2上装载EFS,然后再绑定装载。现在ECS支持与ECS(包括EC2和Fargate(的本地集成,这将允许您配置任务以装载同一文件系统(或访问点(,而无需配置EC2(事实上,它也适用于Fargate(。有关更多信息,请参阅本系列博客文章。

最新更新