一位朋友意外地将 EC2 实例配置为使用“专用”租赁,没有意识到它实际上并没有提供专用服务器,并且惊讶地发现它每小时要额外花费 2 美元,所以我们现在正试图解决这个问题。我们想将其更改为使用默认的“共享”租赁,而不是无缘无故地每月花费 1400 美元。
问题是,这显然是一个单向操作。根据AWS EC2 用户指南,您可以关闭一个实例并将其“共享”租赁更改为“专用”,但一旦启动就无法撤消它:
启动实例后,更改其租赁有一些限制。
- 启动实例后,您无法将其租赁从默认更改为专用或托管。
- 启动实例后,您无法将其租赁从专用或主机更改为默认。
确实,控制台不提供将租户更改回“默认”的选项。如果您关闭实例并ec2 modify-instance-placement
从 CLI 使用,如下所示:
aws ec2 modify-instance-placement \
--instance-id i-0e6ddf6187EXAMPLE \
--tenancy default
它导致错误:“调用ModifyInstancePlacement 操作时发生错误(InvalidTenancy):Tenancy 的值‘default’无效。”
另一种方法是启动具有正确租户的新实例,但使用当前实例的某种快照并重新使用旧实例的 EBS 卷。我终其一生都无法弄清楚如何在 AWS 控制台中执行此操作,而且我不确定我拼凑起来的脚本是否能完成这项工作。
无论如何,我们希望撤消这个错误的配置,并最终得到一个与当前实例完全相同的运行实例,除了共享(默认)租赁。该实例已备份,它运行 Windows Server 2012 和 SQL Server,有一个公共弹性 IP、两个 EBS 卷,并且允许短暂停机。快速安全地完成此操作的最佳方法是什么?提前感谢您的建议。
答案1
答案2
2022 年更新:
当实例处于停止状态时。使用以下命令通过 CLI 更改租赁有效。
aws ec2 modify-instance-placement \
--instance-id i-0e6ddf6187EXAMPLE \
--tenancy default