Amazon CloudWatch Internet Monitor での CLI の使用例
このセクションでは、Amazon CloudWatch Internet Monitor のオペレーションで、AWS Command Line Interface を使用する例を示します。
開始する前に、モニタリングする Amazon 仮想プライベートクラウド (VPC)、Network Load Balancers、Amazon CloudFront ディストリビューション、または Amazon WorkSpaces ディレクトリがある AWS アカウントと同じアカウントで AWS CLI を使用するようにログインする必要があります。Internet Monitor はアカウントをまたいだリソースへのアクセスをサポートしていません。AWS CLI の使用の詳細については、「AWS CLI コマンドリファレンス」を参照してください。Amazon CloudWatch Internet Monitorで API アクションを使用する方法の詳細については、「Amazon CloudWatch Internet Monitor API Reference Guide」(Amazon CloudWatch Internet Monitor API リファレンスガイド) を参照してください。
モニターを作成する
Internet Monitor でモニタを作成する際は、アプリケーションのインターネットトラフィックがある場所を表示するために、モニタに名前を付けてリソースを関連付けます。監視するアプリケーショントラフィックの量を定義するトラフィックの割合を指定します。これにより、監視対象となる都市ネットワーク、つまりクライアントの場所やASN (通常はインターネットサービスプロバイダーや ISP) の数も決まります。また、アプリケーションリソースをモニタリングする都市ネットワークの最大数に上限を設定して、請求額を抑えることができます。詳細については、「都市ネットワークの最大限度を選択する」を参照してください。
さらに、アプリケーションのすべてのインターネット測定値を、Amazon S3 にパブリッシュするかどうかを選択できます。上位 500 位 の都市ネットワーク (トラフィック量で判断) のインターネット測定値は、Internet Monitor によって CloudWatch Logs に自動的に公開されますが、すべての測定値を S3 に公開することも選択できます。
AWS CLI を使用してモニタを作成するには、create-monitor
コマンドを使用します。次のコマンドでは、トラフィックを 100% 監視するモニターを作成していますが、都市ネットワークの最大制限は 10,000 に設定されており、VPC リソースを追加して、インターネット測定値は Amazon S3 にパブリッシュする選択になっています。
注記
Internet Monitor は、インターネット測定値を 5 分ごとに CloudWatch Logs にパブリッシュします。対象は、各モニタにトラフィックを送信する上位 500 の都市ネットワーク (クライアントロケーションと ASN、通常はインターネットサービスプロバイダー (ISP)) です。必要に応じて、モニタリング対象の都市ネットワークすべてのインターネット測定値を Amazon S3 バケットにパブリッシュする選択ができます (ただし、サービスの上限数は 500,000 の都市ネットワークです)。詳細については、「Amazon CloudWatch Internet Monitor で Amazon S3 にインターネット測定値を発行する」を参照してください。
aws internetmonitor --create-monitor monitor-name "TestMonitor" \ --traffic-percentage-to-monitor 100 \ --max-city-networks-to-monitor 10000 \ --resources "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-11223344556677889" \ --internet-measurements-log-delivery S3Config="{BucketName=amzn-s3-demo-bucket,LogDeliveryStatus=ENABLED}"
{ "Arn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor", "Status": "ACTIVE" }
注記
モニタの名前は変更できないことに注意してください。
モニターの詳細の表示
AWS CLI を使用してモニタに関する情報を表示するには、get-monitor
コマンドを使用します。
aws internetmonitor get-monitor --monitor-name "TestMonitor"
{ "ClientLocationType": "city", "CreatedAt": "2022-09-22T19:27:47Z", "ModifiedAt": "2022-09-22T19:28:30Z", "MonitorArn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor", "MonitorName": "TestMonitor", "ProcessingStatus": "OK", "ProcessingStatusInfo": "The monitor is actively processing data", "Resources": [ "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-11223344556677889" ], "MaxCityNetworksToMonitor": 10000, "Status": "ACTIVE" }
ヘルスイベントを一覧表示する
アプリケーションのインターネットトラフィックについてのパフォーマンスが低下した場合、Internet Monitor はモニタでヘルスイベントを作成します。AWS CLI を使用して現在のヘルスイベントの一覧を表示するには、list-health-events
コマンドを使用します。
aws internetmonitor list-health-events --monitor-name "TestMonitor"
{ "HealthEvents": [ { "EventId": "2022-06-20T01-05-05Z/latency", "Status": "RESOLVED", "EndedAt": "2022-06-20T01:15:14Z", "ServiceLocations": [ { "Name": "us-east-1" } ], "PercentOfTotalTrafficImpacted": 1.21, "ClientLocations": [ { "City": "Lockport", "PercentOfClientLocationImpacted": 60.370000000000005, "PercentOfTotalTraffic": 2.01, "Country": "United States", "Longitude": -78.6913, "AutonomousSystemNumber": 26101, "Latitude": 43.1721, "Subdivision": "New York", "NetworkName": "YAHOO-BF1" } ], "StartedAt": "2022-06-20T01:05:05Z", "ImpactType": "PERFORMANCE", "EventArn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor/health-event/2022-06-20T01-05-05Z/latency" }, { "EventId": "2022-06-20T01-17-56Z/latency", "Status": "RESOLVED", "EndedAt": "2022-06-20T01:30:23Z", "ServiceLocations": [ { "Name": "us-east-1" } ], "PercentOfTotalTrafficImpacted": 1.29, "ClientLocations": [ { "City": "Toronto", "PercentOfClientLocationImpacted": 75.32, "PercentOfTotalTraffic": 1.05, "Country": "Canada", "Longitude": -79.3623, "AutonomousSystemNumber": 14061, "Latitude": 43.6547, "Subdivision": "Ontario", "CausedBy": { "Status": "ACTIVE", "Networks": [ { "AutonomousSystemNumber": 16509, "NetworkName": "Amazon.com" } ], "NetworkEventType": "AWS" }, "NetworkName": "DIGITALOCEAN-ASN" }, { "City": "Lockport", "PercentOfClientLocationImpacted": 22.91, "PercentOfTotalTraffic": 2.01, "Country": "United States", "Longitude": -78.6913, "AutonomousSystemNumber": 26101, "Latitude": 43.1721, "Subdivision": "New York", "NetworkName": "YAHOO-BF1" }, { "City": "Hangzhou", "PercentOfClientLocationImpacted": 2.88, "PercentOfTotalTraffic": 0.7799999999999999, "Country": "China", "Longitude": 120.1612, "AutonomousSystemNumber": 37963, "Latitude": 30.2994, "Subdivision": "Zhejiang", "NetworkName": "Hangzhou Alibaba Advertising Co.,Ltd." } ], "StartedAt": "2022-06-20T01:17:56Z", "ImpactType": "PERFORMANCE", "EventArn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor/health-event/2022-06-20T01-17-56Z/latency" }, { "EventId": "2022-06-20T01-34-20Z/latency", "Status": "RESOLVED", "EndedAt": "2022-06-20T01:35:04Z", "ServiceLocations": [ { "Name": "us-east-1" } ], "PercentOfTotalTrafficImpacted": 1.15, "ClientLocations": [ { "City": "Lockport", "PercentOfClientLocationImpacted": 39.45, "PercentOfTotalTraffic": 2.01, "Country": "United States", "Longitude": -78.6913, "AutonomousSystemNumber": 26101, "Latitude": 43.1721, "Subdivision": "New York", "NetworkName": "YAHOO-BF1" }, { "City": "Toronto", "PercentOfClientLocationImpacted": 29.770000000000003, "PercentOfTotalTraffic": 1.05, "Country": "Canada", "Longitude": -79.3623, "AutonomousSystemNumber": 14061, "Latitude": 43.6547, "Subdivision": "Ontario", "CausedBy": { "Status": "ACTIVE", "Networks": [ { "AutonomousSystemNumber": 16509, "NetworkName": "Amazon.com" } ], "NetworkEventType": "AWS" }, "NetworkName": "DIGITALOCEAN-ASN" }, { "City": "Hangzhou", "PercentOfClientLocationImpacted": 2.88, "PercentOfTotalTraffic": 0.7799999999999999, "Country": "China", "Longitude": 120.1612, "AutonomousSystemNumber": 37963, "Latitude": 30.2994, "Subdivision": "Zhejiang", "NetworkName": "Hangzhou Alibaba Advertising Co.,Ltd." } ], "StartedAt": "2022-06-20T01:34:20Z", "ImpactType": "PERFORMANCE", "EventArn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor/health-event/2022-06-20T01-34-20Z/latency" } ] }
特定のヘルスイベントを表示する
CLI を使用して特定のヘルスイベントに関する詳細な情報を表示するには、get-health-event
コマンドにモニタ名とヘルスイベント ID を指定して実行します。
aws internetmonitor get-monitor --monitor-name "TestMonitor" --event-id "health-event/TestMonitor/2021-06-03T01:02:03Z/latency"
{ "EventId": "2022-06-20T01-34-20Z/latency", "Status": "RESOLVED", "EndedAt": "2022-06-20T01:35:04Z", "ServiceLocations": [ { "Name": "us-east-1" } ], "EventArn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor/health-event/2022-06-20T01-34-20Z/latency", "LastUpdatedAt": "2022-06-20T01:35:04Z", "ClientLocations": [ { "City": "Lockport", "PercentOfClientLocationImpacted": 39.45, "PercentOfTotalTraffic": 2.01, "Country": "United States", "Longitude": -78.6913, "AutonomousSystemNumber": 26101, "Latitude": 43.1721, "Subdivision": "New York", "NetworkName": "YAHOO-BF1" }, { "City": "Toronto", "PercentOfClientLocationImpacted": 29.770000000000003, "PercentOfTotalTraffic": 1.05, "Country": "Canada", "Longitude": -79.3623, "AutonomousSystemNumber": 14061, "Latitude": 43.6547, "Subdivision": "Ontario", "CausedBy": { "Status": "ACTIVE", "Networks": [ { "AutonomousSystemNumber": 16509, "NetworkName": "Amazon.com" } ], "NetworkEventType": "AWS" }, "NetworkName": "DIGITALOCEAN-ASN" }, { "City": "Shenzhen", "PercentOfClientLocationImpacted": 4.07, "PercentOfTotalTraffic": 0.61, "Country": "China", "Longitude": 114.0683, "AutonomousSystemNumber": 37963, "Latitude": 22.5455, "Subdivision": "Guangdong", "NetworkName": "Hangzhou Alibaba Advertising Co.,Ltd." }, { "City": "Hangzhou", "PercentOfClientLocationImpacted": 2.88, "PercentOfTotalTraffic": 0.7799999999999999, "Country": "China", "Longitude": 120.1612, "AutonomousSystemNumber": 37963, "Latitude": 30.2994, "Subdivision": "Zhejiang", "NetworkName": "Hangzhou Alibaba Advertising Co.,Ltd." } ], "StartedAt": "2022-06-20T01:34:20Z", "ImpactType": "PERFORMANCE", "PercentOfTotalTrafficImpacted": 1.15 }
モニタの一覧を表示する
CLI を使用してアカウント内のすべてのモニタを一覧表示するには、list-monitors
コマンドを実行します。
aws internetmonitor list-monitors
{ "Monitors": [ { "MonitorName": "TestMonitor", "ProcessingStatus": "OK", "Status": "ACTIVE" } ], "NextToken": " zase12" }
モニタを編集する
CLI を使用してモニタに関する情報を更新するには、update-monitor
コマンドを使用して更新するモニタの名前を指定します。例えば、モニタリングするトラフィックの割合や、モニタリングする都市ネットワーク数の上限の更新、Internet Monitor がトラフィックをモニタリングするために使用するリソースの追加または削除、モニタリングステータスの ACTIVE
から INACTIVE
(またはその逆) への変更を行うことができます。モニタの名前は変更できないことに注意してください。
update-monitor
の呼び出しに対する応答では、MonitorArn
と Status
だけを返します。
以下に、update-monitor
コマンドを使用してモニタリングする都市ネットワークの最大数を 50000
に変更する方法の例を示します。
aws internetmonitor update-monitor --monitor-name "TestMonitor" --max-city-networks-to-monitor 50000
{ "MonitorArn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor", "Status": " ACTIVE " }
次の例で、リソースを追加および削除する方法を示します。
aws internetmonitor update-monitor --monitor-name "TestMonitor" \ --resources-to-add "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-11223344556677889" \ --resources-to-remove "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-2222444455556666"
{ "MonitorArn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor", "Status": "ACTIVE" }
次の例で、update-monitor
コマンドを使用してモニタのステータスを INACTIVE
に変更する方法を示します。
aws internetmonitor update-monitor --monitor-name "TestMonitor" --status "INACTIVE"
{ "MonitorArn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor", "Status": "INACTIVE" }
モニタを削除する
CLI の delete-monitor
コマンドでモニタを削除できます。まず、モニタを無効化する必要があります。そのためには、update-monitor
コマンドを使用してステータスを INACTIVE
に変更します。get-monitor
コマンドを使用してステータスをチェックし、モニタが無効化されたことを確認します。
モニタのステータスが INACTIVE
であれば、 CLI を使用して delete-monitor
コマンドを実行し、そのモニタを削除できます。delete-monitor
の呼び出しが成功した場合の応答は空です。
aws internetmonitor delete-monitor --monitor-name "TestMonitor"
{}