リザーブドインスタンスの予約でカバーされていない Amazon AWS EC2 インスタンスを見つけるにはどうすればよいですか?

リザーブドインスタンスの予約でカバーされていない Amazon AWS EC2 インスタンスを見つけるにはどうすればよいですか?

実行中の EC2 インスタンスが 20 個あり、アクティブなリザーブドインスタンス予約が 10 個あると仮定します。

AWSコンソールを使用するか、AWS CLI実行中のEC2インスタンスのうちどれがないリザーブドインスタンスの予約でカバーされますか?

望ましい結果をより明確にするために、次のことを考慮してください (私が知る限り、AWS コンソールでは不可能です)。

  1. runningリージョン内のすべてのインスタンスのリストを取得します。これは、AWS コンソールまたは AWS CLI 経由で今すぐ実行できます。
  2. 同じリージョン内のすべてのリザーブドインスタンス予約のリストを取得しますactive。これはAWSコンソールで今すぐ実行できます。AWS CLI経由
  3. 2 つのリストを相互に確認します。ゾーン Y にサイズ X のインスタンスが表示されrunning、ゾーン Y にサイズ X の予約インスタンスの予約がある場合は、それをrunningリストから削除します。
  4. 変更されたリスト内の残りのインスタンスはrunningすべて、リザーブドインスタンスの予約の対象とならないインスタンスです。

AWS コンソールで利用可能な 2 つのリストを手動で Excel にコピーしたり、running対応する RI 予約が表示されたときに手動でインスタンスを消したりすることなく、#4 を取得する方法を探しています。これを行うために CLI を使用するスクリプトを作成することもできますが、これはコスト効率を分析する明らかな方法であるため、すでに存在するものがあるのではないかと想定していました。

答え1

すべての EC2 インスタンスが同じタイプで同じリージョンにある場合、予約済みインスタンスは単なる課金の概念であるため、どのインスタンスがカバーされ、どのインスタンスがカバーされていないかを知る方法はないと思います。予約済みインスタンスは、実際には特定の EC2 インスタンスに割り当てられることはありません。

AWS は、実行中のインスタンスの数と購入した予約インスタンスの数を確認し、それに応じて請求します。したがって、予約インスタンスでカバーされていない EC2 インスタンスがあるかどうかを判断する最善の方法は、AWS の請求書の詳細を分析し、予約インスタンスとして請求されていない EC2 の使用状況を探すことです。

関連情報