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

Les*_*ood 5 amazon-ec2 amazon-web-services reserved-instances

假设我有 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 的脚本来执行此操作,但我假设可能已经存在某些东西,因为这是分析成本效率的明显方法。

Dav*_*que 3

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

AWS 将查看您正在运行的实例数量以及您购买的预留实例数量,并相应地向您收取费用。因此,确定您的预留实例是否未涵盖 EC2 实例的最佳方法是分析您的 AWS 账单详细信息并查找未按预留实例计费的 EC2 使用情况。