Amazon CloudWatch Internet Monitor에서 CLI를 사용하는 예
이 섹션에는 Amazon CloudWatch Internet Monitor 운영에 AWS Command Line Interface를 사용하는 예가 포함되어 있습니다.
시작하기 전에 모니터하려는 Amazon Virtual Private Cloud(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 참조 안내서를 참조하세요.
모니터 생성
Internet Monitor에서 모니터를 생성할 때 이름을 제공하고 리소스를 모니터와 연결하여 애플리케이션의 인터넷 트래픽 위치를 표시합니다. 모니터링할 애플리케이션 트래픽의 양을 정의하는 트래픽 백분율을 지정합니다. 또한 모니터되는 도시-네트워크, 즉 클라이언트 위치 및 ASN(일반적으로 인터넷 서비스 공급업체(ISP))의 수에 따라 모니터 대상도 결정됩니다. 또한 애플리케이션 리소스를 모니터링할 최대 도시-네트워크 수에 대한 한도를 설정하여 요금을 관리할 수도 있습니다. 자세한 내용은 도시-네트워크 최대 한도 선택 단원을 참조하십시오.
마지막으로 애플리케이션에 대한 모든 인터넷 측정값을 Amazon S3에 게시할지 여부를 선택할 수 있습니다. 상위 500개 도시-네트워크(트래픽 양 기준)에 대한 인터넷 측정값은 Internet Monitor별 CloudWatch 로그에 자동으로 게시되지만, 모든 측정값을 S3에도 게시하도록 선택할 수 있습니다.
AWS CLI를 통해 모니터를 생성하려면 create-monitor
명령을 사용합니다. 다음 명령은 트래픽을 100% 모니터하지만 최대 도시-네트워크 제한을 10,000으로 설정하고, VPC 리소스를 추가하고, 인터넷 측정값을 Amazon S3에 게시하도록 선택하는 모니터를 생성합니다.
참고
Internet Monitor는 각 모니터에 트래픽을 전송하는 상위 500개 도시-네트워크(클라이언트 위치 및 ASN, 일반적으로 인터넷 서비스 공급업체(ISP))에 대한 인터넷 측정값을 5분마다 CloudWatch 로그에 게시합니다. 원하는 경우, 모니터링되는 모든 도시-네트워크(최대 500,000개의 도시-네트워크 서비스 제한)에 대한 인터넷 측정값을 Amazon S3 버킷에 게시하도록 선택할 수 있습니다. 자세한 내용은 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를 사용하여 특정 상태 이벤트에 대한 자세한 정보를 보려면 모니터 이름과 상태 이벤트 ID를 사용하여 get-health-event
명령을 실행합니다.
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" }
모니터 삭제
delete-monitor
명령을 사용하여 CLI로 모니터를 삭제할 수 있습니다. 먼저 모니터를 비활성으로 설정해야 합니다. 이렇게 하려면 update-monitor
명령을 사용하여 상태를 INACTIVE
로 변경합니다. get-monitor
명령을 사용하고 상태를 확인하여 모니터가 비활성 상태인지 확인합니다.
모니터 상태가 INACTIVE
이면 CLI를 사용하여 delete-monitor
명령을 실행하여 모니터를 삭제할 수 있습니다. 성공적인 delete-monitor
호출에 대한 응답은 비어 있습니다.
aws internetmonitor delete-monitor --monitor-name "TestMonitor"
{}