를 사용한 CloudWatch Network Monitoring 예제 AWS CLI - AWS SDK 코드 예제

Doc AWS SDK 예제 GitHub 리포지토리에서 더 많은 SDK 예제를 사용할 수 있습니다. AWS

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

를 사용한 CloudWatch Network Monitoring 예제 AWS CLI

다음 코드 예제에서는 CloudWatch Network Monitoring과 AWS Command Line Interface 함께를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 관련 시나리오의 컨텍스트에 따라 표시되며, 개별 서비스 함수를 직접적으로 호출하는 방법을 보여줍니다.

각 예시에는 전체 소스 코드에 대한 링크가 포함되어 있으며, 여기에서 컨텍스트에 맞춰 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있습니다.

주제

작업

다음 코드 예시에서는 create-monitor의 사용 방법을 보여줍니다.

AWS CLI

예시 1: 집계 기간이 있는 네트워크 모니터 생성

다음 create-monitor 예시에서는 aggregationPeriod30초로 설정된 Example_NetworkMonitor라는 모니터를 생성합니다. 모니터에 연결된 프로브가 없기 때문에 모니터의 초기 stateINACTIVE가 됩니다. 프로브가 추가될 때에만 상태가 ACTIVE로 변경됩니다. update-monitor 또는 create-probe 명령을 사용하여 이 모니터에 프로브를 추가할 수 있습니다.

aws networkmonitor create-monitor \ --monitor-name Example_NetworkMonitor \ --aggregation-period 30

출력:

{ "monitorArn": "arn:aws:networkmonitor:region:111122223333:monitor/Example_NetworkMonitor", "monitorName": "Example_NetworkMonitor", "state": "INACTIVE", "aggregationPeriod": 30, "tags": {} }

자세한 내용은 Amazon CloudWatch 사용자 안내서Amazon CloudWatch Network Monitor 작동 방식을 참조하세요.

예시 2: TCP를 사용하고 태그도 포함하는 프로브 및 네트워크 모니터 생성

다음 create-monitor 예시에서는 Example_NetworkMonitor라는 모니터를 생성합니다. 또한 명령은 ICMP 프로토콜을 사용하고 태그를 포함하는 하나의 프로브를 생성합니다. aggregationPeriod가 요청에 전달되지 않으므로 60초가 기본값으로 설정됩니다. 프로브가 있는 모니터의 state는 모니터가 ACTIVE가 될 때까지 PENDING으로 유지됩니다. 이 작업은 몇 분 정도 걸릴 수 있으며, 이때 stateACTIVE로 변경되면 CloudWatch 지표를 볼 수 있습니다.

aws networkmonitor create-monitor \ --monitor-name Example_NetworkMonitor \ --probes sourceArn=arn:aws:ec2:region:111122223333:subnet/subnet-id,destination=10.0.0.100,destinationPort=80,protocol=TCP,packetSize=56,probeTags={Name=Probe1} \ --tags Monitor=Monitor1

출력:

{ "monitorArn": "arn:aws:networkmonitor:region111122223333:monitor/Example_NetworkMonitor", "monitorName": "Example_NetworkMonitor", "state": "PENDING", "aggregationPeriod": 60, "tags": { "Monitor": "Monitor1" } }

자세한 내용은 Amazon CloudWatch 사용자 안내서Amazon CloudWatch Network Monitor 작동 방식을 참조하세요.

예시 3: ICMP를 사용하고 태그도 포함하는 프로브 및 네트워크 모니터 생성

다음 create-monitor 예시에서는 aggregationPeriod30초인 Example_NetworkMonitor라는 모니터를 생성합니다. 또한 명령은 ICMP 프로토콜을 사용하고 태그를 포함하는 하나의 프로브를 생성합니다. aggregationPeriod가 요청에 전달되지 않으므로 60초가 기본값으로 설정됩니다. 프로브가 있는 모니터의 state는 모니터가 ACTIVE가 될 때까지 PENDING으로 유지됩니다. 이 작업은 몇 분 정도 걸릴 수 있으며, 이때 stateACTIVE로 변경되면 CloudWatch 지표를 볼 수 있습니다.

aws networkmonitor create-monitor \ --monitor-name Example_NetworkMonitor \ --aggregation-period 30 \ --probes sourceArn=arn:aws:ec2:region111122223333:subnet/subnet-id,destination=10.0.0.100,protocol=ICMP,packetSize=56,probeTags={Name=Probe1} \ --tags Monitor=Monitor1

출력:

{ "monitorArn": "arn:aws:networkmonitor:region:111122223333:monitor/Example_NetworkMonitor", "monitorName": "Example_NetworkMonitor", "state": "PENDING", "aggregationPeriod": 30, "tags": { "Monitor": "Monitor1" } }

자세한 내용은 Amazon CloudWatch 사용자 안내서Amazon CloudWatch Network Monitor 작동 방식을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조CreateMonitor를 참조하세요.

다음 코드 예시에서는 create-probe의 사용 방법을 보여줍니다.

AWS CLI

예시 1: TCP를 사용하는 프로브를 생성하고 네트워크 모니터에 추가

다음 create-probe 예시에서는 TCP protocol을 사용하는 프로브를 생성하고 Example_NetworkMonitor라는 모니터에 프로브를 추가합니다. 일단 생성되면 프로브가 있는 모니터의 state는 모니터가 ACTIVE가 될 때까지 PENDING으로 유지됩니다. 이 작업은 몇 분 정도 걸릴 수 있으며, 이때 상태가 ACTIVE로 변경되면 CloudWatch 지표를 볼 수 있습니다.

aws networkmonitor create-probe \ --monitor-name Example_NetworkMonitor \ --probe sourceArn=arn:aws:ec2:region:111122223333:subnet/subnet-id,destination=10.0.0.100,destinationPort=80,protocol=TCP,packetSize=56,tags={Name=Probe1}

출력:

{ "probeId": "probe-12345", "probeArn": "arn:aws:networkmonitor:region:111122223333:probe/probe-12345", "destination": "10.0.0.100", "destinationPort": 80, "packetSize": 56, "addressFamily": "IPV4", "vpcId": "vpc-12345", "state": "PENDING", "createdAt": "2024-03-29T12:41:57.314000-04:00", "modifiedAt": "2024-03-29T12:41:57.314000-04:00", "tags": { "Name": "Probe1" } }

예시 2: ICMP를 사용하는 프로브를 생성하고 네트워크 모니터에 추가

다음 create-probe 예시에서는 ICMP protocol을 사용하는 프로브를 생성하고 Example_NetworkMonitor라는 모니터에 프로브를 추가합니다. 일단 생성되면 프로브가 있는 모니터의 state는 모니터가 ACTIVE가 될 때까지 PENDING으로 유지됩니다. 이 작업은 몇 분 정도 걸릴 수 있으며, 이때 상태가 ACTIVE로 변경되면 CloudWatch 지표를 볼 수 있습니다.

aws networkmonitor create-probe \ --monitor-name Example_NetworkMonitor \ --probe sourceArn=arn:aws:ec2:region:012345678910:subnet/subnet-id,destination=10.0.0.100,protocol=ICMP,packetSize=56,tags={Name=Probe1}

출력:

{ "probeId": "probe-12345", "probeArn": "arn:aws:networkmonitor:region:111122223333:probe/probe-12345", "destination": "10.0.0.100", "packetSize": 56, "addressFamily": "IPV4", "vpcId": "vpc-12345", "state": "PENDING", "createdAt": "2024-03-29T12:44:02.452000-04:00", "modifiedAt": "2024-03-29T12:44:02.452000-04:00", "tags": { "Name": "Probe1" } }

자세한 내용은 Amazon CloudWatch 사용자 안내서Amazon CloudWatch Network Monitor 작동 방식을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조CreateProbe를 참조하세요.

다음 코드 예시에서는 delete-monitor의 사용 방법을 보여줍니다.

AWS CLI

모니터 삭제

다음 delete-monitor 예시에서는 Example_NetworkMonitor라는 모니터를 삭제합니다.

aws networkmonitor delete-monitor \ --monitor-name Example_NetworkMonitor

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon CloudWatch 사용자 안내서Amazon CloudWatch Network Monitor 작동 방식을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조DeleteMonitor를 참조하세요.

다음 코드 예시에서는 delete-probe의 사용 방법을 보여줍니다.

AWS CLI

프로브 삭제

다음 delete-probe 예시에서는 Example_NetworkMonitor라는 네트워크 모니터에서 ID가 probe-12345인 프로브를 삭제합니다.

aws networkmonitor delete-probe \ --monitor-name Example_NetworkMonitor \ --probe-id probe-12345

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon CloudWatch 사용자 안내서Amazon CloudWatch Network Monitor 작동 방식을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조DeleteProbe를 참조하세요.

다음 코드 예시에서는 get-monitor의 사용 방법을 보여줍니다.

AWS CLI

모니터 정보 가져오기

다음 get-monitor 예시에서는 Example_NetworkMonitor라는 모니터의 정보를 가져옵니다.

aws networkmonitor get-monitor \ --monitor-name Example_NetworkMonitor

출력:

{ "monitorArn": "arn:aws:networkmonitor:region:012345678910:monitor/Example_NetworkMonitor", "monitorName": "Example_NetworkMonitor", "state": "ACTIVE", "aggregationPeriod": 60, "tags": {}, "probes": [], "createdAt": "2024-04-01T17:58:07.211000-04:00", "modifiedAt": "2024-04-01T17:58:07.211000-04:00" }

자세한 내용은 Amazon CloudWatch 사용자 안내서Amazon CloudWatch Network Monitor 작동 방식을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조GetMonitor를 참조하세요.

다음 코드 예시에서는 get-probe의 사용 방법을 보여줍니다.

AWS CLI

프로브 세부 정보 보기

다음 get-probe 예시에서는 Example_NetworkMonitor라는 모니터에 연결되고 probeIDprobe-12345인 프로브의 세부 정보를 반환합니다.

aws networkmonitor get-probe \ --monitor-name Example_NetworkMonitor \ --probe-id probe-12345

출력:

{ "probeId": "probe-12345", "probeArn": "arn:aws:networkmonitor:region:012345678910:probe/probe-12345", "sourceArn": "arn:aws:ec2:region:012345678910:subnet/subnet-12345", "destination": "10.0.0.100", "destinationPort": 80, "protocol": "TCP", "packetSize": 56, "addressFamily": "IPV4", "vpcId": "vpc-12345", "state": "ACTIVE", "createdAt": "2024-03-29T12:41:57.314000-04:00", "modifiedAt": "2024-03-29T12:42:28.610000-04:00", "tags": { "Name": "Probe1" } }

자세한 내용은 Amazon CloudWatch 사용자 안내서Amazon CloudWatch Network Monitor 작동 방식을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조GetProbe를 참조하세요.

다음 코드 예시에서는 list-monitors의 사용 방법을 보여줍니다.

AWS CLI

예시 1: 모든 모니터 나열(단일 모니터)

다음 list-monitors 예시에서는 단일 모니터의 목록만 반환합니다. 모니터의 stateACTIVE이고 aggregationPeriod는 60초입니다.

aws networkmonitor list-monitors

출력:

{ "monitors": [{ "monitorArn": "arn:aws:networkmonitor:region:012345678910:monitor/Example_NetworkMonitor", "monitorName": "Example_NetworkMonitor", "state": "ACTIVE", "aggregationPeriod": 60, "tags": { "Monitor": "Monitor1" } } ] }

자세한 내용은 Amazon CloudWatch 사용자 안내서Amazon CloudWatch Network Monitor 작동 방식을 참조하세요.

예시 2: 모든 모니터 나열(여러 모니터)

다음 list-monitors 예시에서는 3개의 모니터 목록을 반환합니다. 한 모니터의 stateACTIVE이고 CloudWatch 지표를 생성합니다. 다른 두 모니터의 상태는 INACTIVE이고 CloudWatch 지표를 생성하지 않습니다. 세 모니터 모두 60초의 aggregationPeriod를 사용합니다.

aws networkmonitor list-monitors

출력:

{ "monitors": [ { "monitorArn": "arn:aws:networkmonitor:us-east-1:111122223333:monitor/Example_NetworkMonitor", "monitorName": "Example_NetworkMonitor", "state": "INACTIVE", "aggregationPeriod": 60, "tags": {} }, { "monitorArn": "arn:aws:networkmonitor:us-east-1:111122223333:monitor/Example_NetworkMonitor2", "monitorName": "Example_NetworkMonitor2", "state": "ACTIVE", "aggregationPeriod": 60, "tags": { "Monitor": "Monitor1" } }, { "monitorArn": "arn:aws:networkmonitor:us-east-1:111122223333:monitor/TestNetworkMonitor_CLI", "monitorName": "TestNetworkMonitor_CLI", "state": "INACTIVE", "aggregationPeriod": 60, "tags": {} } ] }

자세한 내용은 Amazon CloudWatch 사용자 안내서Amazon CloudWatch Network Monitor 작동 방식을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조ListMonitors를 참조하세요.

다음 코드 예시에서는 list-tags-for-resource의 사용 방법을 보여줍니다.

AWS CLI

리소스의 태그 나열

다음 list-tags-for-resource 예시에서는 Example_NetworkMonitor라는 모니터의 태그 목록을 반환합니다.

aws networkmonitor list-tags-for-resource \ --resource-arn arn:aws:networkmonitor:region:012345678910:monitor/Example_NetworkMonitor

출력:

{ "tags": { "Environment": "Dev", "Application": "PetStore" } }

자세한 내용은 Amazon CloudWatch 사용자 안내서Amazon CloudWatch Network Monitor 작동 방식을 참조하세요.

다음 코드 예시에서는 tag-resource의 사용 방법을 보여줍니다.

AWS CLI

리소스에 태그 지정

다음 tag-resource 예시에서는 Example_NetworkMonitor라는 모니터에 Environment=DevApplication=PetStore 태그를 지정합니다.

aws networkmonitor tag-resource \ --resource-arn arn:aws:networkmonitor:region:012345678910:monitor/Example_NetworkMonitor \ --tags Environment=Dev,Application=PetStore

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon CloudWatch 사용자 안내서Amazon CloudWatch Network Monitor 작동 방식을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조TagResource를 참조하세요.

다음 코드 예시에서는 untag-resource 코드를 사용하는 방법을 보여줍니다.

AWS CLI

리소스에서 태그 제거

다음 untag-resource 예시에서는 키와 값 페어가 Environment Applicationtag-keys 파라미터를 Example_NetworkMonitor라는 모니터와의 연결에서 제거합니다.

aws networkmonitor untag-resource \ --resource-arn arn:aws:networkmonitor:region:012345678910:monitor/Example_NetworkMonitor \ --tag-keys Environment Application

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon CloudWatch 사용자 안내서Amazon CloudWatch Network Monitor 작동 방식을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조UntagResource를 참조하세요.

다음 코드 예시에서는 update-monitor의 사용 방법을 보여줍니다.

AWS CLI

모니터 업데이트

다음 update-monitor 예시에서는 모니터의 aggregationPeriod60초에서 30초로 변경합니다.

aws networkmonitor update-monitor \ --monitor-name Example_NetworkMonitor \ --aggregation-period 30

출력:

{ "monitorArn": "arn:aws:networkmonitor:region:012345678910:monitor/Example_NetworkMonitor", "monitorName": "Example_NetworkMonitor", "state": "PENDING", "aggregationPeriod": 30, "tags": { "Monitor": "Monitor1" } }

자세한 내용은 Amazon CloudWatch 사용자 안내서Amazon CloudWatch Network Monitor 작동 방식을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조UpdateMonitor를 참조하세요.

다음 코드 예시에서는 update-probe의 사용 방법을 보여줍니다.

AWS CLI

프로브 업데이트

다음 update-probe 예시에서는 프로브의 원래 destination IP 주소를 업데이트하고 packetSize60으로 업데이트합니다.

aws networkmonitor update-probe \ --monitor-name Example_NetworkMonitor \ --probe-id probe-12345 \ --destination 10.0.0.150 \ --packet-size 60

출력:

{ "probeId": "probe-12345", "probeArn": "arn:aws:networkmonitor:region:012345678910:probe/probe-12345", "sourceArn": "arn:aws:ec2:region:012345678910:subnet/subnet-12345", "destination": "10.0.0.150", "destinationPort": 80, "protocol": "TCP", "packetSize": 60, "addressFamily": "IPV4", "vpcId": "vpc-12345", "state": "PENDING", "createdAt": "2024-03-29T12:41:57.314000-04:00", "modifiedAt": "2024-03-29T13:52:23.115000-04:00", "tags": { "Name": "Probe1" } }

자세한 내용은 Amazon CloudWatch 사용자 안내서Amazon CloudWatch Network Monitor 작동 방식을 참조하세요.

  • API 세부 정보는 AWS CLI 명령 참조UpdateProbe를 참조하세요.