

# AWS CLI を使用した CloudWatch Network Monitoring の例
<a name="cli_networkmonitor_code_examples"></a>

次のコード例は、CloudWatch Network Monitoring で AWS Command Line Interface を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

*アクション*はより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。

各例には完全なソースコードへのリンクが含まれており、コードの設定方法と実行方法に関する手順を確認できます。

**Topics**
+ [アクション](#actions)

## アクション
<a name="actions"></a>

### `create-monitor`
<a name="networkmonitor_CreateMonitor_cli_topic"></a>

次のコード例は、`create-monitor` を使用する方法を示しています。

**AWS CLI**  
**例 1: 集計期間付きのネットワークモニターを作成するには**  
次の `create-monitor` の例では、`aggregationPeriod` を `30` 秒に設定した `Example_NetworkMonitor` という名前のモニターを作成します。関連するプローブがないため、モニターのイニシャル `state` は `INACTIVE` となります。状態は、プローブが追加された場合にのみ `ACTIVE` に変わります。[update-monitor](https://docs.aws.amazon.com/cli/latest/reference/networkmonitor/update-monitor.html) コマンドまたは [create-probe](https://docs.aws.amazon.com/cli/latest/reference/networkmonitor/create-probe.html) コマンドを使用して、このモニターにプローブを追加できます。  

```
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 User Guide*」の「[How Amazon CloudWatch Network Monitor Works](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/nw-monitor-how-it-works.html)」を参照してください。  
**例 2: TCP を使用してプローブ付きのネットワークモニターを作成し、タグを含めるには**  
次の `create-monitor` の例では、`Example_NetworkMonitor` という名前のモニターを作成します。コマンドは、`ICMP` プロトコルを使用して 1 つのプローブも作成し、タグを含めます。リクエストで `aggregationPeriod` が渡されないため、デフォルトとして `60` 秒が設定されます。プローブ付きのモニターの `state` は、モニターが `ACTIVE` になるまで `PENDING` になります。これには数分かかる場合があります。その時点で、`state` は `ACTIVE` に変わり、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 User Guide*」の「[How Amazon CloudWatch Network Monitor Works](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/nw-monitor-how-it-works.html)」を参照してください。  
**例 3: ICMP を使用してプローブ付きのネットワークモニターを作成し、タグを含めるには**  
次の `create-monitor` の例では、`aggregationPeriod` が `30` 秒の `Example_NetworkMonitor` という名前のモニターを作成します。コマンドは、`ICMP` プロトコルを使用して 1 つのプローブも作成し、タグを含めます。リクエストで `aggregationPeriod` が渡されないため、デフォルトとして `60` 秒が設定されます。プローブ付きのモニターの `state` は、モニターが `ACTIVE` になるまで `PENDING` になります。これには数分かかる場合があります。その時点で、`state` は `ACTIVE` に変わり、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 User Guide*」の「[How Amazon CloudWatch Network Monitor Works](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/nw-monitor-how-it-works.html)」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[CreateMonitor](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/networkmonitor/create-monitor.html)」を参照してください。

### `create-probe`
<a name="networkmonitor_CreateProbe_cli_topic"></a>

次のコード例は、`create-probe` を使用する方法を示しています。

**AWS CLI**  
**例 1: TCP を使用するプローブを作成し、ネットワークモニターに追加するには**  
次の `create-probe` の例では、`TCP` `protocol` を使用するプローブを作成し、プローブを `Example_NetworkMonitor` という名前のモニターに追加します。作成されると、プローブ付きのモニターの `state` は、モニターが `ACTIVE` になるまで `PENDING` になります。これには数分かかる場合があります。その時点で state は `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` になります。これには数分かかる場合があります。その時点で state は `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 User Guide*」の「[How Amazon CloudWatch Network Monitor Works](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/nw-monitor-how-it-works.html)」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[CreateProbe](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/networkmonitor/create-probe.html)」を参照してください。

### `delete-monitor`
<a name="networkmonitor_DeleteMonitor_cli_topic"></a>

次のコード例は、`delete-monitor` を使用する方法を示しています。

**AWS CLI**  
**モニターを削除するには**  
次の `delete-monitor` の例では、`Example_NetworkMonitor` という名前のモニターを削除します。  

```
aws networkmonitor delete-monitor \
    --monitor-name Example_NetworkMonitor
```
このコマンドでは何も出力されません。  
詳細については、「*Amazon CloudWatch User Guide*」の「[How Amazon CloudWatch Network Monitor Works](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/nw-monitor-how-it-works.html)」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[DeleteMonitor](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/networkmonitor/delete-monitor.html)」を参照してください。

### `delete-probe`
<a name="networkmonitor_DeleteProbe_cli_topic"></a>

次のコード例は、`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 User Guide*」の「[How Amazon CloudWatch Network Monitor Works](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/nw-monitor-how-it-works.html)」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[DeleteProbe](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/networkmonitor/delete-probe.html)」を参照してください。

### `get-monitor`
<a name="networkmonitor_GetMonitor_cli_topic"></a>

次のコード例は、`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 User Guide*」の「[How Amazon CloudWatch Network Monitor Works](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/nw-monitor-how-it-works.html)」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[GetMonitor](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/networkmonitor/get-monitor.html)」を参照してください。

### `get-probe`
<a name="networkmonitor_GetProbe_cli_topic"></a>

次のコード例は、`get-probe` を使用する方法を示しています。

**AWS CLI**  
**プローブの詳細を表示するには**  
次の `get-probe` の例では、`Example_NetworkMonitor` という名前のモニターに関連付けられた `probeID` `probe-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 User Guide*」の「[How Amazon CloudWatch Network Monitor Works](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/nw-monitor-how-it-works.html)」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[GetProbe](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/networkmonitor/get-probe.html)」を参照してください。

### `list-monitors`
<a name="networkmonitor_ListMonitors_cli_topic"></a>

次のコード例は、`list-monitors` を使用する方法を示しています。

**AWS CLI**  
**例 1: すべてのモニター (単一モニター) を一覧表示するには**  
次の `list-monitors` の例では、単一モニターのみのリストを返します。モニター `state` は `ACTIVE` で、`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 User Guide*」の「[How Amazon CloudWatch Network Monitor Works](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/nw-monitor-how-it-works.html)」を参照してください。  
**例 2: すべてのモニターを一覧表示するには (複数のモニター)**  
次の `list-monitors` の例では、3 台のモニターのリストを返します。1 台のモニターの `state` は `ACTIVE` であり、CloudWatch メトリクスを生成します。他の 2 台のモニターの状態は `INACTIVE` であり、CloudWatch メトリクスを生成しません。3 台のモニターはすべて 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 User Guide*」の「[How Amazon CloudWatch Network Monitor Works](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/nw-monitor-how-it-works.html)」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[ListMonitors](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/networkmonitor/list-monitors.html)」を参照してください。

### `list-tags-for-resource`
<a name="networkmonitor_ListTagsForResource_cli_topic"></a>

次のコード例は、`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 User Guide*」の「[How Amazon CloudWatch Network Monitor Works](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/nw-monitor-how-it-works.html)」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[ListTagsForResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/networkmonitor/list-tags-for-resource.html)」を参照してください。

### `tag-resource`
<a name="networkmonitor_TagResource_cli_topic"></a>

次のコード例は、`tag-resource` を使用する方法を示しています。

**AWS CLI**  
**リソースにタグを付けるには**  
次の `tag-resource` の例では、`Example_NetworkMonitor` という名前のモニターに `Environment=Dev` と `Application=PetStore` のタグを付けます。  

```
aws networkmonitor tag-resource \
    --resource-arn arn:aws:networkmonitor:region:012345678910:monitor/Example_NetworkMonitor \
    --tags Environment=Dev,Application=PetStore
```
このコマンドでは何も出力されません。  
詳細については、「*Amazon CloudWatch User Guide*」の「[How Amazon CloudWatch Network Monitor Works](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/nw-monitor-how-it-works.html)」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[TagResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/networkmonitor/tag-resource.html)」を参照してください。

### `untag-resource`
<a name="networkmonitor_UntagResource_cli_topic"></a>

次のコード例は、`untag-resource` を使用する方法を示しています。

**AWS CLI**  
**リソースのタグを削除するには**  
次の `untag-resource` の例では、`Example_NetworkMonitor` という名前のモニターとの関連付けから、`Environment Application` のキーと値のペアを持つ `tag-keys` パラメータを削除します。  

```
aws networkmonitor untag-resource \
    --resource-arn arn:aws:networkmonitor:region:012345678910:monitor/Example_NetworkMonitor \
    --tag-keys Environment Application
```
このコマンドでは何も出力されません。  
詳細については、「*Amazon CloudWatch User Guide*」の「[How Amazon CloudWatch Network Monitor Works](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/nw-monitor-how-it-works.html)」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[UntagResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/networkmonitor/untag-resource.html)」を参照してください。

### `update-monitor`
<a name="networkmonitor_UpdateMonitor_cli_topic"></a>

次のコード例は、`update-monitor` を使用する方法を示しています。

**AWS CLI**  
**モニターを更新するには**  
次の `update-monitor` の例では、モニターの `aggregationPeriod` を `60` 秒から `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 User Guide*」の「[How Amazon CloudWatch Network Monitor Works](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/nw-monitor-how-it-works.html)」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[UpdateMonitor](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/networkmonitor/update-monitor.html)」を参照してください。

### `update-probe`
<a name="networkmonitor_UpdateProbe_cli_topic"></a>

次のコード例は、`update-probe` を使用する方法を示しています。

**AWS CLI**  
**プローブを更新するには**  
次の `update-probe` の例では、プローブの元の `destination` IP アドレスを更新し、`packetSize` を `60` に更新します。  

```
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 User Guide*」の「[How Amazon CloudWatch Network Monitor Works](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/nw-monitor-how-it-works.html)」を参照してください。  
+  API の詳細については、「*AWS CLI コマンドリファレンス*」の「[UpdateProbe](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/networkmonitor/update-probe.html)」を参照してください。