メニュー
Auto Scaling
ユーザーガイド

Amazon CloudWatch を使用した Auto Scaling グループとインスタンスのモニタリング

Amazon CloudWatch を使用すると、統計を順序付けられた時系列データのセット (メトリクスと呼ばれる) として取得できます。これらのメトリクスを使用して、システムが正常に実行されていることを確認できます。

Amazon EC2 は Auto Scaling インスタンスを説明する CloudWatch にメトリクスを送信します。これらのメトリクスは、Auto Scaling グループにあるものだけでなく、すべての EC2 インスタンスに利用することができます。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「インスタンスメトリクス」を参照してください。

Auto Scaling グループは、グループそのものについて説明する CloudWatch にメトリクスを送信できます。これらのメトリクスを有効にする必要があります。

Auto Scaling グループメトリクス

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

メトリクス 説明
GroupMinSize

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

GroupMaxSize

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

GroupDesiredCapacity

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

GroupInServiceInstances

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

GroupPendingInstances

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

GroupStandbyInstances

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

GroupTerminatingInstances

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

GroupTotalInstances

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

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

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

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

Auto Scaling グループメトリクスを有効にすると、Auto Scaling は毎分 CloudWatch にサンプルデータを送信します。

コンソールを使用してグループメトリクスを有効にするには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインで、[Auto Scaling Groups] を選択します。

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

  4. [Monitoring] タブで、[Auto Scaling Metrics] の [Enable Group Metrics Collection] を選択します。このオプションが表示されない場合は、[Display] の [Auto Scaling] を選択します。

     Auto Scaling グループメトリクスの収集を有効にします。

コンソールを使用してグループメトリクスを無効にするには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインで、[Auto Scaling Groups] を選択します。

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

  4. [Monitoring] タブで、[Auto Scaling Metrics] の [Disable Group Metrics Collection] を選択します。このオプションが表示されない場合は、[Display] の [Auto Scaling] を選択します。

     Auto Scaling グループメトリクスの収集を無効にします。

AWS CLI を使用してグループメトリクスを有効にするには

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

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

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

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

AWS CLI を使用してグループメトリクスを無効にするには

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

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

Auto Scaling インスタンスのモニタリングの設定

デフォルトでは、AWS マネジメントコンソールを使用して起動設定を作成した場合は基本モニタリングが有効になり、AWS CLI または API を使用して起動設定を作成した場合は詳細モニタリングが有効になります。

Auto Scaling グループがあり、Auto Scaling インスタンスに対して有効なモニタリングのタイプの変更が必要な場合、新しい起動設定を作成し、その起動設定を使用するように Auto Scaling グループを更新する必要があります。その後は、Auto Scaling グループが起動するインスタンスは更新されたモニタリングタイプを使用します。Auto Scaling グループ内の既存のインスタンスは、前のモニタリングタイプを継続して使用することに注意してください。これらのインスタンスを削除し、Auto Scaling がそれらのインスタンスを置き換えるか、monitor-instances および unmonitor-instances を使用して各インスタンスを個別に更新するようにします。

Auto Scaling グループに関連付けられた CloudWatch アラームがある場合、put-metric-alarm コマンドを使用して各アラームを更新し、アラームの期間がモニタリングタイプと一致するようにします (基本モニタリングは 300 秒、詳細モニタリングは 60 秒)。詳細モニタリングから基本モニタリングに変更しても、5 分間アラームを更新しないと、1 分ごとに統計を確認し続けますが、5 期間のうち 4 期間で利用可能なデータが検出されない可能性があります。

コンソールを使用して CloudWatch モニタリングを設定するには

AWS マネジメントコンソールを使用して起動設定を作成する場合は、[Configure Details] ページで [Enable CloudWatch detailed monitoring] を選択します。それ以外の場合は、基本モニタリングが有効です。詳細については、「起動設定を作成する」を参照してください。

AWS CLI を使用して CloudWatch モニタリングを設定するには

create-launch-configuration コマンドを --instance-monitoring オプションとともに使用します。このオプションを true に設定して詳細モニタリングを有効に、または false に設定して基本モニタリングを有効にします。

Copy
--instance-monitoring Enabled=true

CloudWatch メトリクスの表示

Amazon EC2 コンソールを使用して、Auto Scaling グループとインスタンスの CloudWatch メトリクスを表示できます。これらのメトリクスは、モニタリング用のグラフのように表示されます。

または、CloudWatch コンソールを使用してこれらのメトリクスを表示できます。

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

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインで、[Auto Scaling Groups] を選択します。

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

  4. [Monitoring] タブを選択します。

  5. (オプション) 結果を時間でフィルタリングするには、[Showing data for] から時間範囲を選択します。

  6. グループのメトリクスを表示するには、[Display] の [Auto Scaling] を選択します。1 つのメトリクスの大きいビューを取得するには、グラフを選択します。グループでは、次のメトリクスを使用できます。

    • 最小グループサイズ — GroupMinSize

    • 最大グループサイズ — GroupMaxSize

    • 希望する容量 — GroupDesiredCapacity

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

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

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

    • インスタンスの削除 — GroupTerminatingInstances

    • 合計インスタンス — GroupTotalInstances

  7. インスタンスのメトリクスを表示するには、[Display] の [EC2] を選択します。1 つのメトリクスの大きいビューを取得するには、グラフを選択します。インスタンスでは、次のメトリクスを使用できます。

    • CPU 使用率(%) — CPUUtilization

    • ディスク読み取り — DiskReadBytes

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

    • ディスク書き込み — DiskWriteBytes

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

    • ネットワーク入力 — NetworkIn

    • ネットワーク出力 — NetworkOut

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

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

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

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

詳細については、「Aggregate Statistics by Auto Scaling Group」を参照してください。

AWS CLI を使って CloudWatch メトリクスを表示するには

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

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

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

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

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

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

Amazon CloudWatch アラームの作成

CloudWatch アラームとは、特定の期間にわたって 1 つのメトリクスをモニタリングするオブジェクトです。メトリクスとは、モニタリングする対象の変数であり、 EC2 インスタンスの平均 CPU 使用率や、多数の異なる EC2 インスタンスからのインバウンドネットワークトラフィックなどがあります。メトリクスの値が定義されている範囲を超えると、アラームの状態が変わり、指定されている数の期間にわたってその変更が維持されます。

アラームには次の 3 つの状態があります。

  • OK - メトリクスの値は指定した範囲内にある。

  • ALARM – メトリクスの値は、指定した期間において指定した範囲外にある。

  • INSUFFICIENT_DATA – メトリクスがまだ使用できないか、データが不足していてアラームの状態を判定できない。

アラームが ALARM 状態に変化し、指定されている数の期間にわたってその状態にあると、1 つ以上のアクションが呼び出されます。たとえば、Auto Scaling グループの希望する容量を変更するように促すメッセージがグループに送信されます。

アラームを設定するには、モニタリングするメトリクスを特定します。たとえば、Auto Scaling グループの EC2 インスタンスの平均 CPU 使用率を監視するアラームを設定できます。

CloudWatch アラームを作成するには

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

  2. ナビゲーションペインで、[Alarms] を選択します。

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

  4. [EC2 Metrics] カテゴリを選択します。

  5. (オプション) 結果をフィルタすることができます。インスタンスのメトリクスを表示するには、[Per-Instance Metrics] を選択します。Auto Scaling グループメトリクスを表示するには、[By Auto Scaling Group] を選択します。

  6. メトリクスを選択して、[Next] を選択します。

  7. アラームと実行するアクションのしきい値を指定します。

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

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