Dedicated Hosts の RI 購入状況の確認の仕方

AWS CLI で Dedicated Hosts の RI を確認した際の実行結果をサンプルとして載せています。
2022.09.12

よく利用する EC2 の RI と、Dedicated Hosts の RI の確認方法の違いをまとめました。同じ RI でも確認方法が異りますので Dedicated Hosts の確認方法を中心にマネージメントコンソールと、AWS CLI からの確認方法を紹介します。

Dedicated Hosts とは

EC2 を物理サーバーとして専有できる Dedicated Hosts という利用方法があります。Dedicated Hosts も RI(Reserved Instance)を利用でき、オンデマンド価格と比べると最大70%割引で購入ができます。

RI 確認方法まとめ

マネージメントコンソールから RI を確認するときはリンクが異なります。

AWS CLI から確認すときはaws ec2 describe-以降が異なるので注意。

  • EC2 の RI 確認コマンド
    • aws ec2 describe-reserved-instances
  • Dedicated Hosts の RI 確認コマンド
    • aws ec2 describe-host-reservations

RI の有効期限を確認したいとき

一般的な方の EC2 の RI の有効期限を確認したいとき、マネージメントコンソールからなら以下のリンクから確認できます。

AWS CLI からの以下のコマンドで確認できます。

aws ec2 describe-reserved-instances

実行結果は以下のリンクを参照ください。

Dedicated Hosts の RI の有効期限は上記2つの方法から確認できません。Dedicated Hosts も EC2 ではあるのですが管理され方が異ります。

マネージメントコンソールから確認

Dedicated Hosts はリザーブドインスタンスと別のリンクが用意されています。

起動中の Dedicated Hosts のインスタンスをこの画面で確認できます。Dedicated Hosts の RI を確認するときはここからDedicated Hosts の予約をクリックして進みます。

すでに期限切れの RI の例になりますが、この画面で Dedicated Host の RI の購入状況を確認できます。

マネージメントコンソールから確認するときの違い

  • Dedicated Hosts の RI 確認は Dedicated Hosts のリンクから確認できる
  • EC2 の RI 確認はリザーブドインスタンスのリンクから確認できる

AWS CLI で確認

EC2 の RI 確認コマンドとは異なりますので注意してください。AWS CLI からの以下のコマンドで確認できます。

$ aws ec2 describe-host-reservations

RI がない場合

Dedicated Hosts の RI がないときの出力例

{
    "HostReservationSet": []
}

RI が期限内で有効の場合

Dedicated Hosts の RI が2つあったときの出力例

{
    "HostReservationSet": [
        {
            "Count": 1,
            "Duration": 31536000,
            "End": "2023-08-01T09:00:00+00:00",
            "HostIdSet": [
                "h-0c12345678901234a"
            ],
            "HostReservationId": "hr-a1234567890123456",
            "HourlyPrice": "0.000",
            "InstanceFamily": "c5d",
            "OfferingId": "hro-o123456789012345a",
            "PaymentOption": "AllUpfront",
            "Start": "2022-08-01T09:00:00+00:00",
            "State": "active",
            "UpfrontPrice": "100000.000",
        },
        {
            "Count": 1,
            "Duration": 31536000,
            "End": "2023-08-01T09:00:30+00:00",
            "HostIdSet": [
                "h-0c12345678901234b"
            ],
            "HostReservationId": "hr-b1234567890123456",
            "HourlyPrice": "0.000",
            "InstanceFamily": "c5d",
            "OfferingId": "hro-o123456789012345b",
            "PaymentOption": "AllUpfront",
            "Start": "2022-08-01T09:00:30+00:00",
            "State": "active",
            "UpfrontPrice": "100000.000",
        }
    ]
}

RI の有効期限切れ

Dedicated Hosts の RI が2つあったが有効期限が切れているときの出力例

{
    "HostReservationSet": [
        {
            "Count": 1,
            "Duration": 31536000,
            "End": "2022-07-01T09:30:15+00:00",
            "HostReservationId": "hr-a1234567890123456",
            "HourlyPrice": "0.000",
            "InstanceFamily": "c5d",
            "OfferingId": "hro-o123456789012345a",
            "PaymentOption": "AllUpfront",
            "Start": "2021-07-01T09:30:15+00:00",
            "State": "retired",
            "UpfrontPrice": "100000.000",
            "Tags": []
        },
        {
            "Count": 1,
            "Duration": 31536000,
            "End": "2022-07-01T09:30:30+00:00",
            "HostReservationId": "hr-b1234567890123456",
            "HourlyPrice": "0.000",
            "InstanceFamily": "c5d",
            "OfferingId": "hro-o123456789012345b",
            "PaymentOption": "AllUpfront",
            "Start": "2021-07-01T09:30:30+00:00",
            "State": "retired",
            "UpfrontPrice": "100000.000",
            "Tags": []
        }
    ]
}

リージョンを変更してみる

Dedicated Hosts の RI 確認はリージョン毎に確認が必要です。 ap-northeast-1で確認していたものをus-east-1に変更しました。us-east-1では Dedicated Hosts の RI は購入しておりません。

$ export AWS_DEFAULT_REGION="us-east-1"
$ aws ec2 describe-host-reservations
{
    "HostReservationSet": []
}

期待どおりの結果です。

AWS CLI から確認するときの違い

  • Dedicated Hosts の RI 確認コマンド
    • aws ec2 describe-host-reservations
  • EC2 の RI 確認コマンド
    • aws ec2 describe-reserved-instances

おわりに

以下のリンクで紹介している RI 期限切れ通知の対象にDedicated Hosts の RI は含まれていません。ご注意ください。

AWS CLI や、SDK を用いた定期確認の仕組みを実装するか、前もってカレンダーに登録など何かしらで Dedicated Hosts の RI を管理すれば適切な運用ができるかと思います。