Fargate 任务存储 - Amazon Elastic Container Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Fargate 任务存储

对于 Fargate 任务,支持以下存储类型:

  • Amazon EFS 卷(用于持久性存储)。有关更多信息,请参阅 Amazon EFS 卷

  • 临时存储(用于非持久性存储)。

预置后,Fargate 上的每个 Amazon ECS 任务都会收到以下短暂存储。短暂存储配置取决于任务所使用的平台版本。 Fargate 任务停止后,短暂存储将被删除。有关 Amazon ECS 默认服务限制的更多信息,请参阅Amazon ECS 服务配额

使用平台版本 1.4.0 或更高版本的 Fargate 任务

使用平台版本 1.4.0 或更高版本的 Fargate 任务上的所有 Amazon ECS 都会获得至少 20 GB 的短暂存储。存储容量不可调整。

对于使用平台版本 1.4.0 或更高版本且在 2020 年 5 月 28 日或之后启动的任务,将使用 AES-256 加密算法通过 AWS Fargate 托管加密密钥对短暂存储进行加密。

使用平台版本 1.3.0 或更早版本的 Fargate 任务

对于使用平台版本 1.3.0 或更早版本的 Fargate 任务上的 Amazon ECS,每个任务都会收到以下短暂存储。

  • 10 GB 的 Docker 层存储

  • 额外 4 GB 用于卷挂载。可在任务定义中使用 volumesmountPointsvolumesFrom 参数挂载此存储和在容器之间共享此存储。

    注意

    hostsourcePath 参数不支持 Fargate 任务。

示例任务定义

为 Fargate 任务中的容器提供非持久性的空存储

在此示例中,您有两个应用程序容器需要访问同一个临时文件存储位置。

  1. 在任务定义 volumes 部分中,使用名称 application_scratch 定义卷。

    "volumes": [ { "name": "application_scratch", "host": {} } ]
  2. containerDefinitions 部分中,创建应用程序容器定义,以便它们挂载非持久性存储。

    "containerDefinitions": [ { "name": "application1", "image": "my-repo/application", "cpu": 100, "memory": 100, "essential": true, "mountPoints": [ { "sourceVolume": "application_scratch", "containerPath": "/var/scratch" } ] }, { "name": "application2", "image": "my-repo/application", "cpu": 100, "memory": 100, "essential": true, "mountPoints": [ { "sourceVolume": "application_scratch", "containerPath": "/var/scratch" } ] } ]