Auto Scaling グループとインスタンスのCloudWatchメトリクスをモニタリングする - Amazon EC2 Auto Scaling (日本語)

Auto Scaling グループとインスタンスのCloudWatchメトリクスをモニタリングする

メトリクスは CloudWatch での基本的な概念です。メトリクスは、CloudWatch に発行された時系列のデータポイントのセットを表します。メトリクスは監視対象の変数と考え、データポイントは時間の経過と共に変数の値を表します。これらのメトリクスを使用して、システムが正常に実行されていることを確認できます。

Amazon EC2 Auto Scaling は、Auto Scaling グループに関するデータポイントを CloudWatch に公開します。メトリクスは、追加料金なしで 1 分単位で利用できますが、有効にする必要があります。これにより、Auto Scaling グループのオペレーションを継続的に把握できるため、ワークロードの変化に迅速に対応できます。AWS Management Console、AWS CLI、または SDK を使用して、メトリクスを有効または無効にすることができます。

Amazon EC2 は、Auto Scaling インスタンスを記述するデータポイントを CloudWatch に公開します。Amazon EC2 インスタンスのモニタリング間隔は設定可能です。1~5 分の詳細度を選択できます。詳細については、「Auto Scaling インスタンスのモニタリングを設定するには」を参照してください。

Auto Scaling グループ メトリクスを有効にするには(コンソール)

Auto Scaling グループメトリクスを有効にすると、Auto Scaling グループは毎分、サンプルデータを CloudWatch に送信します。これらのメトリクスの有効化には料金はかかりません。

グループメトリクスを有効にするには

  1. (https://console.aws.amazon.com/ec2autoscaling/)で Amazon EC2 Auto Scaling コンソール を開きます。

  2. Auto Scaling グループの隣にあるチェックボックスを選択します。

    ページの下部に分割ウィンドウが開き、選択したグループに関する情報が表示されます。

  3. [モニタリング]タブで、ページ上部の [Auto Scaling]の下にある[Auto Scaling グループ メトリクス コレクション]、[有効」チェックボックスを選択します。

グループメトリクスを無効にするには

  1. (https://console.aws.amazon.com/ec2autoscaling/)で Amazon EC2 Auto Scaling コンソール を開きます。

  2. Auto Scaling グループを選択します。

  3. [モニタリング] タブで、[Auto Scaling group metrics collection (Auto Scaling グループメトリクスの収集)] の [Enable (有効)] チェックボックスをオフにします。

Auto Scaling グループメトリクスを有効にするには(AWS CLI)

グループメトリクスを有効にするには

enable-metrics-collection コマンドを使用して、1 つ以上のグループメトリクスを有効にします。たとえば、次のコマンドは GroupDesiredCapacity メトリクスを有効にします。

aws autoscaling enable-metrics-collection --auto-scaling-group-name my-asg \ --metrics GroupDesiredCapacity --granularity "1Minute"

--metrics メトリクスを省略した場合、すべてのメトリクスが有効になります。

aws autoscaling enable-metrics-collection --auto-scaling-group-name my-asg \ --granularity "1Minute"

グループメトリクスを無効にするには

disable-metrics-collection コマンドを実行します。たとえば、次のコマンドはすべての Auto Scaling グループ メトリクスを無効にします。

aws autoscaling disable-metrics-collection --auto-scaling-group-name my-asg

使用できるメトリクスとディメンション

Auto Scaling グループ メトリクス

AWS/AutoScaling 名前空間には、次のメトリクスが含まれます。

メトリクス 説明
GroupMinSize

Auto Scaling グループの最小サイズ。

レポート基準: メトリクス収集が有効になっている場合に報告されます。

GroupMaxSize

Auto Scaling グループの最大サイズ。

レポート基準: メトリクス収集が有効になっている場合に報告されます。

GroupDesiredCapacity

Auto Scaling グループが保持しようとするインスタンスの数。

レポート基準: メトリクス収集が有効になっている場合に報告されます。

GroupInServiceInstances

Auto Scaling グループの一部として実行するインスタンスの数。このメトリクスには保留中もしくは終了処理中のインスタンスは含まれません。

レポート基準: メトリクス収集が有効になっている場合に報告されます。

GroupPendingInstances

保留中のインスタンスの数。保留中のインスタンスは、稼働状態ではありません。このメトリクスには稼働中もしくは終了処理中のインスタンスは含まれません。

レポート基準: メトリクス収集が有効になっている場合に報告されます。

GroupStandbyInstances

Standby 状態にあるインスタンスの数。この状態のインスタンスはまだ実行中ですが、実際には使用されていません。

レポート基準: メトリクス収集が有効になっている場合に報告されます。

GroupTerminatingInstances

終了処理中のインスタンスの数。このメトリクスには稼働中もしくは保留中のインスタンスは含まれません。

レポート基準: メトリクス収集が有効になっている場合に報告されます。

GroupTotalInstances

Auto Scaling グループに含まれるインスタンスの合計数。このメトリクスは稼働中、保留中、および終了処理中のインスタンスの数を特定します。

レポート基準: メトリクス収集が有効になっている場合に報告されます。

AWS/AutoScaling 名前空間には、インスタンスの重み付け機能を使用するAuto Scalingグループに関する以下のメトリクスが含まれます。インスタンスの重み付けが適用されない場合、次のメトリクスが入力されますが、前の表で定義されたメトリクスと等しくなります。

メトリクス 説明
GroupInServiceCapacity

Auto Scaling グループのパートとして実行されている容量単位の数。

レポート基準: メトリクス収集が有効になっている場合に報告されます。

GroupPendingCapacity

保留中のキャパシティーユニットの数。

レポート基準: メトリクス収集が有効になっている場合に報告されます。

GroupStandbyCapacity

Standby 状態にあるキャパシティーユニットの数。

レポート基準: メトリクス収集が有効になっている場合に報告されます。

GroupTerminatingCapacity

終了処理中のキャパシティーユニットの数。

レポート基準: メトリクス収集が有効になっている場合に報告されます。

GroupTotalCapacity

Auto Scaling グループ内の容量単位の合計数。

レポート基準: メトリクス収集が有効になっている場合に報告されます。

Auto Scaling グループ メトリクスのディメンション

グループ名で Auto Scaling グループのメトリクスをフィルターするには、AutoScalingGroupName ディメンションを使用します。

Auto Scaling グループおよびインスタンスのグラフ化されたメトリクスの表示

Auto Scaling グループを作成したら、そのグループを開き、[モニタリング] タブに一連のモニタリンググラフを表示できます。各グラフは、Auto Scaling グループおよびインスタンスで使用可能な CloudWatch メトリクスの 1 つに基づいています。モニタリンググラフには、メトリクスが有効になっている場合、Auto Scaling グループ のデータポイントが表示されます。

グループでは、次のグラフ化されたメトリクスを使用できます。

  • 最小グループサイズGroupMinSize

  • 最大グループサイズGroupMaxSize

  • 希望する容量GroupDesiredCapacity

  • 実行中のインスタンスGroupInServiceInstances

  • 保留中のインスタンスGroupPendingInstances

  • スタンバイインスタンスGroupStandbyInstances

  • インスタンスの削除GroupTerminatingInstances

  • 合計インスタンスGroupTotalInstances

以下のグラフ化されたメトリクスは、各インスタンスがグループの希望する容量に影響するユニット数を定義する重みを持つインスタンスがあるグループで使用できます。

  • In Service Capacity Units (サービス容量ーユニット内)GroupInServiceCapacity

  • Pending Capacity Units (保留中の容量ーユニット)GroupPendingCapacity

  • Standby Capacity Units (スタンバイ容量ーユニット)GroupStandbyCapacity

  • Terminating Capacity Units (終了中の容量ーユニット)GroupTerminatingCapacity

  • Total Capacity Units (合計キ容量ーユニット)GroupTotalCapacity

インスタンスでは、次のメトリクスを使用できます。

  • CPU 使用率 (%)CPUUtilization

  • ディスク読み取りDiskReadBytes

  • ディスク読み取り操作DiskReadOps

  • ディスク書き込みDiskWriteBytes

  • ディスク書き込み操作DiskWriteOps

  • ネットワーク入力NetworkIn

  • ネットワーク出力NetworkOut

  • ステータスチェックに失敗 (すべて)StatusCheckFailed

  • ステータスチェックに失敗 (インスタンス)StatusCheckFailed_Instance

  • ステータスチェックに失敗 (システム)StatusCheckFailed_System

Amazon EC2メトリクスとそれらがグラフに提供するデータの詳細については、「Linux インスタンス用Amazon EC2 qユーザーガイド」の「インスタンスで使用可能なCloudWatchメトリクスを一覧表示する」を参照してください。

Amazon CloudWatch との連携

CloudWatch メトリクスの表示

コンソールとコマンドラインツールを使用して、CloudWatch Auto Scaling グループ メトリクスを表示できます。

CloudWatch コンソールを使用してメトリクスを表示するには

詳細については、「Auto Scaling グループ別に統計を集計する」を参照してください。

CloudWatch メトリクスを表示するには(AWS CLI)

すべての Auto Scaling グループのメトリクスをすべて表示するには、以下の list-metrics コマンドを使用します。

aws cloudwatch list-metrics --namespace "AWS/AutoScaling"

1 つの Auto Scaling グループのメトリクスを表示するには、次のように AutoScalingGroupName ディメンションを指定します。

aws cloudwatch list-metrics --namespace "AWS/AutoScaling" --dimensions Name=AutoScalingGroupName,Value=my-asg

すべての Auto Scaling グループ に 1 つのメトリクスを表示するには、次のようにメトリクスの名前を指定します。

aws cloudwatch list-metrics --namespace "AWS/AutoScaling" --metric-name GroupDesiredCapacity

Amazon CloudWatch アラームの作成

メトリクスを監視する目的の 1 つは、アプリケーションが正常に動作しているかどうかを確認することです。Amazon CloudWatch では、特定のメトリクスの値が許容可能なしきい値を超えた場合に通知を送信するアラームを作成できます。

まず、監視するメトリクスを特定します。たとえば、Auto Scaling グループの EC2 インスタンスの平均 CPU 使用率を監視するアラームを設定できます。このアクションは、グループのインスタンスの平均的な CPU 使用率が特定の連続する期間に指定したしきい値に違反したときに送信する通知にすることができます。たとえば、それぞれが 1 分間の連続した 4 つの期間でメトリクスが 70 以上になる場合です。

詳細については、「Amazon CloudWatch ユーザーガイド」の「Amazon CloudWatch アラームの使用」を参照してください。

Auto Scaling グループの CloudWatch アラームを作成するには

  1. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

  2. 必要に応じてリージョンを変更します。ナビゲーションバーから、Auto Scaling グループがあるリージョンを選択します。

  3. ナビゲーションペインで、[アラーム] を選択し、[アラームの作成] を選択します。

  4. [メトリクスの選択] を選択します。

  5. [すべてのメトリクス] タブで、メトリクスを次のように選択します。

    • Auto Scaling グループについて報告されたメトリクスのみを表示するには、[EC2] を選択し、[Auto Scaling グループ別] を選択します。1 つの Auto Scaling グループのメトリクスを表示するには、検索フィールドにその名前を入力します。

    • アラームを作成する Auto Scaling グループのメトリクスを含む行を選択します。

    • [メトリクスの選択] を選択します。[Specify metric and conditions (メトリクスと条件の指定)] ページに、メトリクスに関するグラフや他の情報が表示されます。

  6. [期間] でアラームの評価期間 (1 分など) を選択します。アラームを評価する場合、各期間は 1 つのデータポイントに集約されます。

    注記

    期間が短いほど、作成されるアラームの感度が高くなります。

  7. [条件] で、次の操作を行います。

    • [Threshold type (しきい値タイプ)] で [静的] を選択します。

    • [metric が次の時] で、アラームをトリガーするためにメトリクスの値をしきい値より大きい、以上、未満、または以下のどれにするかを指定します。次に、[than (よりも)] にアラームをトリガーするしきい値を入力します。

  8. [追加設定] で、次の操作を行います。

    • [Datapoints to alarm (アラームを発生させるデータポイント)] に、アラームをトリガーするためにメトリクス値がしきい値を満たす必要があるデータポイント (評価期間) 数を入力します。たとえば、連続する期間の数が 2、その期間が 5 分であれば、アラームがトリガーされるまでに 10 分かかります。

    • [Missing data treatment (欠落データの処理)] では、一部のデータポイントが欠落している場合のアラームの処理を選択します。詳細については、「Amazon CloudWatch ユーザーガイド」の「CloudWatch アラームが欠落データを処理する方法の設定」を参照してください。

  9. [Next] を選択します。

  10. [通知] で、通知を受け取るために使用する Amazon SNS トピックを選択または作成できます。それ以外の場合は、通知を削除し、準備ができたら後で追加できます。

  11. [Next] を選択します。

  12. 名前を入力し、必要に応じてアラームの説明を入力して [次へ] を選択します。

  13. [Create Alarm] を選択します。