【问题标题】:How to increase the EBS volume of a running ec2 instance using cloudformation如何使用 cloudformation 增加正在运行的 ec2 实例的 EBS 卷
【发布时间】:2020-03-09 20:00:52
【问题描述】:

我们能否使用 cloudformation 更新附加到正在运行的 ec2 实例的 EBS 卷? 我知道我们可以通过控制台或 CLI 来完成。有没有办法使用 cloudformation 来做到这一点?

【问题讨论】:

  • 您是使用 cloudformation 还是手动创建了这个实例?
  • 这个实例是通过cloudformation创建的。

标签: amazon-web-services amazon-ec2 amazon-cloudformation amazon-ebs


【解决方案1】:

你可以尝试使用BlockDeviceMapping来调整你的音量大小,像这样

BlockDeviceMappings" : [
   {
      "DeviceName" : "/dev/sda1",
      "Ebs" : { "VolumeSize" : "100" }
   }
]

【讨论】:

  • Ec2 实例已在运行。我们如何提供需要更新卷的 ec2 instanceId?
  • EC2 允许更新磁盘大小,即使实例正在运行,因此 cloudformation 应该遵循相同的行为
  • 我建议在对您的真实系统执行此操作之前先在​​“测试堆栈”上尝试此操作,以防导致数据丢失。当然也可以事先拍摄卷的快照。
【解决方案2】:

如果您担心Update Behaviors of Stack Resources,我建议检查AWS CloudFormation Resource Specification 中的UpdateType 字段和documentation 中的Update requires: sn-p,并检查这些有助于防止意外删除的功能堆栈更新期间的 CloudFormation 资源:

UpdateReplacePolicy

Change sets

IAM stack policies

【讨论】:

  • 感谢您指出这一点!当我尝试更新堆栈以增加 ebs 卷时,替换为“true”,并使用新卷创建一个新的 ec2 实例。 CLoudformation 尝试终止旧实例。如何避免这种情况?需要扩展当前卷而不是创建新卷。
  • 有道理..所以我应该使用 CLI 或控制台来增加 ebs 音量。
猜你喜欢
  • 2019-01-23
  • 2019-11-04
  • 2017-12-05
  • 2012-03-25
  • 2016-01-04
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
相关资源
最近更新 更多