将 Amazon EBS 卷与 Amazon ECS 结合使用 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

将 Amazon EBS 卷与 Amazon ECS 结合使用

Amazon Elastic Block Store(Amazon EBS)卷为数据密集型工作负载提供高度可用、经济高效、持久、高性能的块存储。Amazon EBS 卷可以与 Amazon ECS 任务一起用于高吞吐量和事务密集型应用程序。

在独立任务启动期间,您可以提供用于将一个 EBS 卷附加到任务的配置。在创建或更新服务期间,您可以提供针对 Amazon ECS 服务管理的每个任务,用于为每个任务挂载一个 EBS 卷的配置。

通过在启动时提供卷配置而不是在任务定义中提供,您可以创建不受特定数据卷类型或特定 EBS 卷设置限制的任务定义。然后,您可以在不同的运行时环境中重复使用任务定义。例如在部署期间,您可以为生产工作负载提供比预生产环境更多的吞吐量。

附加到 Amazon ECS 任务的 Amazon EBS 卷由 Amazon ECS 代表您管理。可以使用 Amazon Key Management Service(Amazon KMS)密钥对卷进行加密以保护您的数据。您可以配置新的空卷以进行附加,也可以使用快照从现有卷加载数据。

要监控卷的性能,您还可以使用 Amazon CloudWatch 指标。有关 Amazon EBS 卷的 Amazon ECS 指标的更多信息,请参阅 Amazon ECS CloudWatch 指标 Amazon ECS Container Insights 指标

所有支持 Amazon ECS 的商业和中国 Amazon Web Services 区域 都支持将 Amazon EBS 卷附加到任务。

有关 Amazon EBS 卷的更多信息,请参阅《Amazon EBS 用户指南》https://docs.amazonaws.cn/ebs/latest/userguide/ebs-volumes.html中的 Amazon EBS 卷

支持的操作系统和启动类型

下表提供了支持的操作系统和启动类型配置。

启动类型 Linux Windows
Fargate 平台版本 1.4.0 或更高版本(Linux)支持 Amazon EBS 卷。有关更多信息,请参阅 适用于 Amazon ECS 的 Fargate 平台版本 不支持
EC2 在使用 Amazon ECS 优化型亚马逊机器映像(AMI)的基于 Nitro 的 Linux 实例上托管的任务。有关实例类型的信息,请参阅《Amazon EC2 用户指南》中的实例类型

ECS 优化型 AMI 20231219 或更高版本支持 Amazon EBS 卷。有关更多信息,请参阅检索经 Amazon ECS 优化的 AMI 元数据

在使用 Amazon ECS 优化型亚马逊机器映像(AMI)的基于 Nitro 的 Linux 实例上托管的任务。有关实例类型的信息,请参阅《Amazon EC2 用户指南》中的实例类型

ECS 优化型 AMI 20241017 或更高版本支持 Amazon EBS 卷。有关更多信息,请参阅检索 Amazon ECS 优化型 Windows AMI 元数据

注意事项

使用 Amazon EBS 卷时应考虑以下事项:

  • 您无法配置 Amazon EBS 卷配置以挂载到 use1-az3 可用区中 Fargate 启动类型的 Amazon ECS 任务。

  • 托管在 Fargate 上的任务不支持磁性(standard)Amazon EBS 卷类型。有关 Amazon EBS 卷类型的更多信息,请参阅《Amazon EC2 用户指南》https://docs.amazonaws.cn/ebs/latest/userguide/ebs-volume-types.html中的 Amazon EBS 卷

  • 创建服务或在部署时配置卷的独立任务时,需要 Amazon ECS 基础设施的 IAM 角色。您可以将 Amazon 托管的 AmazonECSInfrastructureRolePolicyForVolumes IAM 策略附加到角色,也可以使用托管策略作为指南,以创建并附加您自己的具有满足您特定需求的权限的策略。有关更多信息,请参阅 Amazon ECS 基础设施 IAM 角色

  • 您最多可以将一个 Amazon EBS 卷附加到每个 Amazon ECS 任务,并且该卷必须是新卷。您不能将现有的 Amazon EBS 卷挂载到任务中。但是,您可以在部署时使用现有卷的快照来配置新的 Amazon EBS 卷。

  • 您只能在部署时为使用滚动更新部署类型和副本计划策略的服务配置 Amazon EBS 卷。

  • 要使任务中的容器写入已挂载的 Amazon EBS 卷,您必须以根用户身份运行该容器。

  • Amazon ECS 会自动将保留的标签 AmazonECSCreatedAmazonECSManaged 添加到附加的卷中。如果您从卷中移除这些标签,则 Amazon ECS 将无法代表您管理该卷。有关标记 Amazon EBS 卷的更多信息,请参阅标记 Amazon EBS 卷。有关标记 Amazon ECS 源的更多信息,请参阅标记 Amazon EC2 资源

  • 不支持通过包含分区的 Amazon EBS 卷的快照预调配卷。

  • 附加到由服务管理的任务的卷不会被保留,并且总是会在任务终止时被删除。

  • 您无法将 Amazon EBS 卷配置为附加到正在 Amazon Outposts 上运行的 Amazon ECS 任务。