我想增加我从 AWS 管理控制台启动的 Amazon Elastic Container Service (Amazon ECS) 容器实例的可用磁盘空间。
简短描述
要增加容器实例的存储空间,请先启动替代实例。然后,终止您的原始实例。
如果您使用其他方法启动实例,请根据您的用例完成以下其中一篇文章中的步骤:
**注意:**您的 Amazon Elastic Block Store (Amazon EBS) 卷配置可能会有所不同,具体取决于您使用的 Amazon ECS 优化亚马逊机器映像 (AMI)。有关详细信息,请参阅 AMI 存储配置。
解决方法
**重要事项:**以下步骤会终止您的 Amazon ECS 集群中的原始容器实例。完成以下步骤后,存储在这些实例的 EBS 卷上的所有数据都将丢失。
更新存储大小并启动替换实例
- 打开 Amazon ECS 控制台,然后选择要在其中启动新容器实例的 ECS 集群。
- 记下在您的自动扩缩组中运行的实例。
- 打开 AWS CloudFormation 控制台,然后为您的 ECS 集群选择堆栈。
**注意:**堆栈名称采用以下格式: EC2ContainerService-yourEcsClusterName。
- 选择 Actions(操作),然后选择 Update Stack(更新堆栈)。
- 在 Select Template(选择模板)部分中,选择 Use current template(使用当前模板),然后选择 Next(下一步)。
- 将 EBsVolumeSize 参数设置为您的实例所需的新大小(以 GB 为单位)。
- 设置 AsgMaxSize 参数以增加自动扩缩组的大小,然后启动新的替换实例。
**注意:**对于经过 Amazon ECS 优化的 Amazon Linux 1 AMI,对操作系统使用 /dev/xvda。另外,将 /dev/xvdcz 用于逻辑卷管理 (LVM) 设备的 Docker 映像和元数据。对于经过 Amazon ECS 优化的 Amazon Linux 2 AMI,将 /dev/xvda 用于操作系统以及 Docker 映像和元数据。
- 为您的 Amazon Linux 版本设置 DeviceName。
- 完成安装向导。然后,选择 Update(更新)以启动新的替换实例。
完成此操作后,您的自动扩缩组的启动配置将更新为新的存储配置。这种增加的存储配置适用于自动扩缩组启动的任何新实例。
终止您的原始实例
**重要事项:**为确保您的服务保持可用,请先耗尽容器实例以重新安排任务。然后,批量终止您的原始实例。您还可以在实例终止时自动执行此耗尽工作流程。
- 打开 Amazon ECS 控制台。
- 选择在自动扩缩组中运行的第一批实例,然后耗尽这批实例。
**注意:**您可以分批耗尽之前的实例,以避免 Amazon ECS 服务停机。当您耗尽容器实例的服务任务时,处于 RUNNING(正在运行)状态的容器实例将停止。然后,根据服务的部署配置参数 minimumHealthyPercent 和 maximumPercent 替换容器实例。任何不属于该服务的 PENDING(待处理)或 RUNNING(正在运行)的任务都不会受到影响。您必须等待这些任务完成或手动停止它们。
- 在容器实例上的所有任务停止后,终止容器实例。
**注意:**几分钟后,底层自动扩缩组启动存储增加的替换实例,以替换已终止的实例。
- 重复上述步骤,直到将所有原始实例替换为新的容器实例。
相关信息
您的 Amazon ECS 任务的存储选项