Amazon web services 如何使用Boto3更改正在运行的实例上的EBS卷类型?

Amazon web services 如何使用Boto3更改正在运行的实例上的EBS卷类型?,amazon-web-services,amazon-ec2,aws-sdk,boto3,Amazon Web Services,Amazon Ec2,Aws Sdk,Boto3,AWS支持通过控制台和CLI()修改安装的EBS卷的类型(磁性、SSD等)。但是,除了AutoEnableIO和DryRun之外,in Boto3似乎不支持其他操作 是否有一种方法可以使用Boto3更改EBS卷类型,而我在文档中没有看到或拼凑到一起?解决此问题的最佳选择是: 拍摄卷的快照 使用该快照创建新卷 创建新卷时,请更改所需的类型 分离原始驱动器,然后连接新创建的驱动器 但是缺点是您必须重新启动VM,如果不重新启动VM,您无法执行整个过程 new_volume_id=$(aws ec2 c

AWS支持通过控制台和CLI()修改安装的EBS卷的类型(磁性、SSD等)。但是,除了AutoEnableIO和DryRun之外,in Boto3似乎不支持其他操作


是否有一种方法可以使用Boto3更改EBS卷类型,而我在文档中没有看到或拼凑到一起?

解决此问题的最佳选择是:

  • 拍摄卷的快照
  • 使用该快照创建新卷
  • 创建新卷时,请更改所需的类型
  • 分离原始驱动器,然后连接新创建的驱动器
  • 但是缺点是您必须重新启动VM,如果不重新启动VM,您无法执行整个过程

    new_volume_id=$(aws ec2 create-volume \
      --region "$region" \
      --availability-zone "$zone" \
      --size "$size" \
      --snapshot "$snapshot_id" \
      --output text \
      --volume-type <value>
      --query 'VolumeId')
    
    我不确定这个答案是否对你有帮助


    希望它能在一定程度上有所帮助

    解决此问题的最佳选择是:

  • 拍摄卷的快照
  • 使用该快照创建新卷
  • 创建新卷时,请更改所需的类型
  • 分离原始驱动器,然后连接新创建的驱动器
  • 但是缺点是您必须重新启动VM,如果不重新启动VM,您无法执行整个过程

    new_volume_id=$(aws ec2 create-volume \
      --region "$region" \
      --availability-zone "$zone" \
      --size "$size" \
      --snapshot "$snapshot_id" \
      --output text \
      --volume-type <value>
      --query 'VolumeId')
    
    我不确定这个答案是否对你有帮助

    希望它能在一定程度上有所帮助

    使用以下方法:

    即使在正在运行的启动卷上也可以正常工作。

    使用以下方法:


    即使在正在运行的启动卷上也可以正常工作。

    我怀疑您是否可以修改正在运行的实例的卷属性。@helloV哦,是的。这是新事物。我怀疑您是否可以修改正在运行的实例的卷属性。@helloV哦,是的。这是新事物。在大多数情况下,这些都不再是必要的。2017年,EBS开始支持实时卷的热修改。您可以更改卷大小(仅限增加)和存储类型,EBS将以透明的方式实时处理迁移。内核会收到卷容量更改的通知,您可以调整卷的文件系统的大小。如果实例较旧,它可能不支持该实例,在这种情况下,您必须停止该实例并分离卷,但您可以修改卷并重新连接它。在大多数情况下,这些都不再是必要的。2017年,EBS开始支持实时卷的热修改。您可以更改卷大小(仅限增加)和存储类型,EBS将以透明的方式实时处理迁移。内核会收到卷容量更改的通知,您可以调整卷的文件系统的大小。如果实例较旧,它可能不支持该实例,在这种情况下,您必须停止该实例并分离卷,但您可以修改卷并重新连接它。完美的也为我工作。谢谢完美的也为我工作。谢谢
    import boto3
    
    client = boto3.client('ec2')
    response = client.modify_volume(VolumeId='vol-xxxxxxxx',VolumeType='io1',Iops=100)