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

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

Fargate 任务存储

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

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

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

预置后,Fargate 上的每个 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" } ] } ]