Amazon-Web-Services

我們如何將錯誤配置的 EC2 實例從專用租戶移回共享?

  • October 19, 2020

一位朋友不小心將 EC2 實例配置為使用“專用”租賃,但沒有意識到它實際上並沒有提供專用伺服器,並驚訝於它需要額外花費 $ 2/hour, so we’re trying to untangle this now. We want to just change it over to use the default “shared” tenancy and not spend $ 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 卷,並且允許短停機時間。什麼是快速安全地完成它的最佳方法?提前感謝您的建議。

創建卷的快照,從中創建一個 AMI,然後啟動一個新實例。文件在此處適用於 Linux,此處適用於 Windows。我會複製這些步驟,但這是毫無意義的重複,因為 AWS 文件維護得很好並且會定期更新。

引用自:https://serverfault.com/questions/1039322