如何查找哪些 Amazon AWS EC2 实例未被预留实例预订涵盖?

如何查找哪些 Amazon AWS EC2 实例未被预留实例预订涵盖?

假设我有 20 个正在运行的 EC2 实例和 10 个活动的预留实例预留。

使用 AWS 控制台或AWS CLI,确定正在运行的 EC2 实例中哪些是不是是否被预留实例预留‘覆盖’?

为了更清楚地了解所需的结果,请考虑以下内容(据我所知,在 AWS 控制台中是不可能的):

  1. 获取某个区域内所有实例的列表running。您现在可以在 AWS 控制台中以及通过 AWS CLI 执行此操作。
  2. 获取同一区域内所有预留实例预订的列表active。您现在可以在 AWS 控制台中执行此操作,然后通过 AWS CLI
  3. 交叉检查两个列表:每次您running在区域 Y 中看到大小为 X 的实例,并且区域 Y 中存在大小为 X 的预留实例预留时,将其从列表中删除running
  4. 修改后的列表中的其余实例running是所有未被预留实例预订涵盖的实例。

我正在寻找一种方法来获得 #4,而不必手动将 AWS 控制台中可用的两个列表复制到 Excel 中,并running在看到相应的 RI 预留时手动划掉实例。我也可以编写一个使用 CLI 的脚本来执行此操作,但我假设可能已经存在某种方法,因为这是一种分析成本效率的明显方法。

答案1

如果您的所有 EC2 实例都是同一类型且位于同一区域,我认为没有任何方法可以知道哪些实例在覆盖范围内,哪些不在,因为预留实例只是一个计费概念。预留实例永远不会真正分配给特定的 EC2 实例。

AWS 将查看您正在运行的实例数以及您购买的预留实例数,并据此向您收费。因此,确定您是否有未包含在预留实例中的 EC2 实例的最佳方法是分析您的 AWS 账单详细信息并查找未作为预留实例计费的 EC2 使用情况。

相关内容