

# EC2 およびセルフマネージド Kubernetes インスタンスに Network Flow Monitor エージェントをインストールする
<a name="CloudWatch-NetworkFlowMonitor-agents"></a>

AWS ワークロード内のネットワークフローのパフォーマンスメトリクスを提供するために、Network Flow Monitor は、メトリックを Network Flow Monitor に送信するインストールした*エージェント*に依存します。Network Flow Monitor のエージェントをインスタンスにインストールし、エージェントが Network Flow Monitor バックエンドにメトリクスを送信できるように、エージェントに適切なアクセス許可を設定します。

エージェントは、VPC EC2 インスタンスなどの リソースにインストールする軽量ソフトウェアアプリケーションです。エージェントは、パフォーマンスメトリクスを継続的に Network Flow Monitor バックエンドに送信します。次に、Network Flow Monitor コンソールの **[ワークロードインサイト]** ページでメトリクスを表示できます。モニターを作成することで、特定のネットワークフローまたはフローのセットの詳細なメトリックを追跡することもできます。

インスタンスにエージェントをデプロイする手順は、インスタンスタイプ (Amazon EKS Kubernetes インスタンス、VPC EC2 インスタンス、またはセルフマネージド (非 EKS) Kubernetes インスタンス) によって異なります。
+ EKS にエージェントをインストールするなど、Amazon EKS を操作する方法については、「[EKS の操作](CloudWatch-NetworkFlowMonitor-work-with-eks.md)」を参照してください。
+ VPC EC2 インスタンスとセルフマネージド Kubernetes インスタンスにエージェントをインストールする方法については、この章の該当するセクションを参照してください。

AWS PrivateLink を使用して、VPC と Network Flow Monitor エージェント間のプライベート接続を確立できます。詳細については、「[インターフェイス VPC エンドポイントでの CloudWatch、CloudWatch Synthetics、および CloudWatch Network Monitoring の使用](cloudwatch-and-interface-VPC.md)」を参照してください。

**Topics**
+ [Network Flow Monitor エージェントでサポートされている Linux バージョン](CloudWatch-NetworkFlowMonitor-agents-versions.md)
+ [EC2 インスタンスのエージェントをインストールして管理する](CloudWatch-NetworkFlowMonitor-agents-ec2.md)
+ [セルフマネージド Kubernetes インスタンス用の エージェントをインストールする](CloudWatch-NetworkFlowMonitor-agents-kubernetes-non-eks.md)

# Network Flow Monitor エージェントでサポートされている Linux バージョン
<a name="CloudWatch-NetworkFlowMonitor-agents-versions"></a>

エージェントをインストールするインスタンスは、サポートされている Linux のバージョンとディストリビューションを実行している必要があります。Network Flow Monitor のサポートするエージェントは Linux のみで実行可能で、Linux カーネルのバージョンは 5.8 以降である必要があります。次の Linux ディストリビューションがサポートされています。エージェントは、これらのディストリビューションの最新バージョンで実行するようにテストされていることに注意してください。
+ Amazon Linux
+ Ubuntu
+ Red Hat
+ Suse Linux
+ x86 と aarch64 の両方の Debian ディストリビューション

# EC2 インスタンスのエージェントをインストールして管理する
<a name="CloudWatch-NetworkFlowMonitor-agents-ec2"></a>

このセクションの手順に従って、Amazon EC2 インスタンス上のワークロードに Network Flow Monitor エージェントをインストールします。エージェントをインストールするには、SSM を使用するか、コマンドラインを使用して Network Flow Monitor エージェント用に事前構築済みパッケージをダウンロードしてインストールします。

EC2 インスタンスにエージェントをインストールするために使用する方法にかかわらず、エージェントが Network Flow Monitor バックエンドにパフォーマンスメトリクスを送信できるようにするには、エージェントのアクセス許可を設定する必要があります。

**Topics**
+ [エージェントのアクセス許可を設定する](CloudWatch-NetworkFlowMonitor-agents-ec2-permissions.md)
+ [SSM を使用する EC2 インスタンスエージェント](CloudWatch-NetworkFlowMonitor-agents-ec2-install-ssm.md)
+ [エージェントをダウンロードしてインストールする](CloudWatch-NetworkFlowMonitor-agents-download-agent-commandline.md)

# エージェントのアクセス許可を設定する
<a name="CloudWatch-NetworkFlowMonitor-agents-ec2-permissions"></a>

エージェントが Network Flow Monitor 取り込みバックエンドにメトリクスを送信できるようにするには、エージェントが実行される EC2 インスタンスで、適切なアクセス許可がアタッチされたポリシーを持つロールを使用する必要があります。必要なアクセス許可を付与するには、[CloudWatchNetworkFlowMonitorAgentPublishPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchNetworkFlowMonitorAgentPublishPolicy.html) という AWS 管理ポリシーがアタッチされたロールを使用します。Network Flow Monitor エージェントをインストールする EC2 インスタンスの IAM ロールにこのポリシーをアタッチします。

EC2 インスタンスにエージェントをインストールする前に、アクセス許可を追加することをお勧めします。エージェントをインストールするまで待つことを選択できますが、エージェントはアクセス許可が設定されるまでサービスにメトリクスを送信できません。

**Network Flow Monitor エージェントのアクセス許可を追加するには**

1. AWS マネジメントコンソール の Amazon EC2 コンソールで、Network Flow Monitor エージェントをインストールする予定の EC2 インスタンスを見つけます。

1. [CloudWatchNetworkFlowMonitorAgentPublishPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchNetworkFlowMonitorAgentPublishPolicy.html) を各インスタンスの IAM ロールにアタッチします。

   インスタンスに IAM ロールがアタッチされていない場合は、次の手順を実行してロールを選択します。

   1. **[アクション]** で、**[セキュリティ]** を選択します。

   1. **[IAM ロールを変更]** を選択するか、**[IAM ロールを新規作成]** を選択して新しいロールを作成します。

   1. インスタンスのロールを選択し、[CloudWatchNetworkFlowMonitorAgentPublishPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchNetworkFlowMonitorAgentPublishPolicy.html) ポリシーをアタッチします。

# SSM を使用して EC2 インスタンスにエージェントをインストールする
<a name="CloudWatch-NetworkFlowMonitor-agents-ec2-install-ssm"></a>

Network Flow Monitor エージェントは、ネットワークフローに関するパフォーマンスメトリクスを提供します。このセクションの手順に従って、AWS Systems Manager を使用して、EC2 インスタンスの Network Flow Monitor エージェントをインストールして操作します。Kubernetes を使用する場合は、Amazon EKS クラスターまたは自己管理型 Kubernetes クラスターを使用したエージェントのインストールに関する情報について、次のセクションを参照してください。

Network Flow Monitor はエージェントのインストールまたはアンインストールに使用できるディストリビューター パッケージを Systems Manager に提供します。さらに、Network Flow Monitor には、Document Type コマンドを使用してエージェントをアクティブ化または非アクティブ化するためのドキュメントが用意されています。パッケージとドキュメントを使用するには、標準の Systems Manager の手順を使用するか、詳細なガイダンスについては、ここに記載されている手順に従ってください。

Systems Manager の使用に関する詳細については、次のドキュメントを参照してください。
+ [AWS Systems Manager Run Command](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html)
+ [AWS Systems Manager ディストリビューター](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html)

次のセクションの手順を完了して、アクセス許可を設定し、Network Flow Monitor エージェントをインストールして操作します。

**目次**
+ [パッケージをインストールまたはアンインストールする](#CloudWatch-NetworkFlowMonitor-agents-ec2-install)
+ [エージェントをアクティブ化または非アクティブ化する](#CloudWatch-NetworkFlowMonitor-agents-ec2-manage)

## Systems Manager を使用してエージェントをインストールまたはアンインストールする
<a name="CloudWatch-NetworkFlowMonitor-agents-ec2-install"></a>

Network Flow Monitor には、Network Flow Monitor エージェントをインストールするために、AWS Systems Manager にディストリビューターパッケージ **AmazonCloudWatchNetworkFlowMonitorAgent** が用意されています。パッケージにアクセスし、実行してエージェントをインストールするには、ここに示すステップに従います。

**EC2 インスタンスにエージェントをインストールするには**

1. AWS マネジメントコンソール にある AWS Systems Manager の **[ノードツール]** で、**[ディストリビューター]** を選択します。

1. **[Amazon が所有]** で、Network Flow Monitor パッケージ **AmazonCloudWatchNetworkFlowMonitorAgent** を見つけて選択します。

1. **[コマンドを実行]** フローで、**[1 回限りのインストール]** または **[スケジュールへのインストール]** を選択します。

1. **[ターゲットの選択]** セクションで、エージェントをインストールする EC2 インスタンスを選択する方法を選択します。タグに基づいてインスタンスを選択したり、手動でインスタンスを選択したり、リソースグループに基づいて選択したりできます。

1. **[コマンドパラメータ]** セクションの **[アクション]** で、**[インストール]** を選択します。

1. 必要に応じて下にスクロールし、**[実行]** を選択してインストールを開始します。

インストールが成功し、インスタンスに Network Flow Monitor エンドポイントへのアクセス許可がある場合、エージェントはメトリクスの収集を開始し、Network Flow Monitor バックエンドにレポートを送信します。

アクティブな (メトリクスデータを送信する) エージェントには、請求コストが発生します。Network Flow Monitor と Amazon CloudWatch の料金の詳細については、「[Amazon CloudWatch の料金](https://aws.amazon.com//cloudwatch/pricing/)」ページの「Network Monitoring」を参照してください。メトリクスデータを一時的に必要としない場合は、エージェントを非アクティブ化することができます。詳細については、[「Systems Manager を使用して、エージェントをアクティブ化または非アクティブ化する](#CloudWatch-NetworkFlowMonitor-agents-ec2-manage)」を参照してください。Network Flow Monitor エージェントが不要になった場合は、EC2 インスタンスからアンインストールできます。

**EC2 インスタンスからエージェントをアンインストールするには**

1. AWS マネジメントコンソール にある AWS Systems Manager の **[ノードツール]** で、**[ディストリビューター]** を選択します。

1. **[Amazon が所有]** で、Network Flow Monitor パッケージ **AmazonCloudWatchNetworkFlowMonitorAgent** を見つけて選択します。

1. **[コマンドパラメータ]** セクションの **[アクション]** で、**[アンインストール]** を選択します。

1. エージェントをアンインストールする EC2 インスタンスを選択します。

1. 必要に応じて下にスクロールし、**[実行]** を選択してインストールを開始します。

## Systems Manager を使用して、エージェントをアクティブ化または非アクティブ化する
<a name="CloudWatch-NetworkFlowMonitor-agents-ec2-manage"></a>

SSM で Network Flow Monitor エージェントをインストールした後、インストール先のインスタンスからネットワークフローメトリクスを受信するためにエージェントをアクティブ化する必要があります。アクティブな (メトリクスデータを送信する) エージェントには、請求コストが発生します。Network Flow Monitor と Amazon CloudWatch の料金の詳細については、「[Amazon CloudWatch の料金](https://aws.amazon.com//cloudwatch/pricing/)」ページの「Network Monitoring」を参照してください。メトリクスデータを一時的に必要としない場合は、エージェントを非アクティブ化してエージェントに対する課金を防ぐことができます。

Network Flow Monitor には、EC2 インスタンスにインストールしたエージェントを有効または無効にできる AWS Systems Manager のドキュメントが用意されています。このドキュメントを実行してエージェントを管理することで、エージェントをアクティブ化してパフォーマンスメトリクスの受信を開始できます。または、エージェントをアンインストールせずに、エージェントを非アクティブ化してメトリクスの送信を一時的に停止することもできます。

エージェントをアクティブ化または非アクティブ化するために使用できる SSM のドキュメントは、**AmazonCloudWatch-NetworkFlowMonitorManageAgent** と呼ばれます。ドキュメントにアクセスして実行するには、手順のステップに従ってください。

**Network Flow Monitor エージェントを有効または無効にするには**

1. AWS マネジメントコンソール にある AWS Systems Manager の **[変更管理ツール]** で、**[ドキュメント]** を選択します。

1. **[Amazon が所有]** で、Network Flow Monitor ドキュメント **NetworkFlowMonitorManageAgent** を見つけて選択します。

1. **[ターゲットの選択]** セクションで、エージェントをインストールする EC2 インスタンスを選択する方法を選択します。タグに基づいてインスタンスを選択したり、手動でインスタンスを選択したり、リソースグループに基づいて選択したりできます。

1. **[コマンドパラメータ]** セクションの **[アクション]** で、エージェントに対して行うアクションに応じて **[アクティブ化]** または **[非アクティブ化]** を選択します。

1. 必要に応じて下にスクロールし、**[実行]** を選択してインストールを開始します。

# コマンドラインを使用して Network Flow Monitor エージェントの事前構築済みパッケージをダウンロードする
<a name="CloudWatch-NetworkFlowMonitor-agents-download-agent-commandline"></a>

コマンドラインを使用して、Network Flow Monitor エージェントを Amazon Linux 2023 のパッケージとしてインストールするか、Network Flow Monitor エージェントの事前構築済みパッケージをダウンロードしてインストールできます。

事前構成済みパッケージをダウンロードする前またはダウンロードした後に、必要に応じてパッケージの署名を確認できます。詳細については、「[Network Flow Monitor エージェントパッケージの署名を確認する](#CloudWatch-NetworkFlowMonitor-agents-download-agent-commandline-verify-sig)」を参照してください。

使用している Linux オペレーティングシステムとインストールのタイプに応じて、次の手順から選択します。

**Amazon Linux AMI**  
Network Flow Monitor エージェントは、Amazon Linux 2023 でパッケージとして利用できます。このオペレーティングシステムを使用している場合は、以下のコマンドを入力してパッケージをインストールできます。  
`sudo yum install network-flow-monitor-agent`  
また、インスタンスにアタッチされた IAM ロールに [CloudWatchNetworkFlowMonitorAgentPublishPolicy](security-iam-awsmanpol-network-flow-monitor.md#security-iam-awsmanpol-CloudWatchNetworkFlowMonitorAgentPublishPolicy) ポリシーがアタッチされていることを確認する必要もあります。詳細については、「[エージェントのアクセス許可を設定する](CloudWatch-NetworkFlowMonitor-agents-ec2-permissions.md)」を参照してください。

**Amazon Linux 2023**  
次のいずれかのコマンドを使用して、アーキテクチャのパッケージをインストールします。  
+ **x86\$164**: `sudo yum install https://networkflowmonitoragent.awsstatic.com/latest/x86_64/network-flow-monitor-agent.rpm` 
+ **ARM64 (Graviton)**: `sudo yum install https://networkflowmonitoragent.awsstatic.com/latest/arm64/network-flow-monitor-agent.rpm` 
次のコマンドを実行して、Network Flow Monitor エージェントが正常にインストールされたことを確認し、エージェントが有効でアクティブであることがレスポンスに表示されることを確認します。  

```
service network-flow-monitor status
network-flow-monitor.service - Network Flow Monitor Agent
     Loaded: loaded (/usr/lib/systemd/system/network-flow-monitor.service; enabled; preset: enabled)
     Active: active (running) since Wed 2025-04-23 19:17:16 UTC; 1min 9s ago
```

**DEB ベースのディストリビューション (Debian、Ubuntu)**  
次のいずれかのコマンドを使用して、アーキテクチャのパッケージをインストールします。  
+ **x86\$164**: `wget https://networkflowmonitoragent.awsstatic.com/latest/x86_64/network-flow-monitor-agent.deb` 
+ **ARM64 (Graviton)**: `wget https://networkflowmonitoragent.awsstatic.com/latest/arm64/network-flow-monitor-agent.deb` 
次のコマンドを使用してパッケージをインストールします: `$ sudo apt-get install ./network-flow-monitor-agent.deb`  
次のコマンドを実行して、Network Flow Monitor エージェントが正常にインストールされたことを確認し、エージェントが有効でアクティブであることがレスポンスに表示されることを確認します。  

```
service network-flow-monitor status
network-flow-monitor.service - Network Flow Monitor Agent
     Loaded: loaded (/usr/lib/systemd/system/network-flow-monitor.service; enabled; preset: enabled)
     Active: active (running) since Wed 2025-04-23 19:17:16 UTC; 1min 9s ago
```

## Network Flow Monitor エージェントパッケージの署名を確認する
<a name="CloudWatch-NetworkFlowMonitor-agents-download-agent-commandline-verify-sig"></a>

Linux インスタンス用の Network Flow Monitor エージェント rpm および deb インストーラーパッケージは、暗号化で署名されています。パブリックキーを使用して、エージェントのパッケージがオリジナルであり、変更されていないことを確認できます。ファイルが損傷していたり、改変されていた場合、検証は失敗します。RPM または GPG を使用して、インストーラーパッケージの署名を確認できます。次の情報は、Network Flow Monitor エージェントバージョン 0.1.3 以降に関するものです。

各アーキテクチャとオペレーティングシステムに適した署名ファイルを検索するには、次の表を使用してください。


| アーキテクチャ | プラットフォーム | ダウンロードリンク | 署名ファイルリンク | 
| --- | --- | --- | --- | 
|  x86-64 |  Amazon Linux 2023  |  https://networkflowmonitoragent.awsstatic.com/latest/x86\$164/network-flow-monitor-agent.rpm  |  https://networkflowmonitoragent.awsstatic.com/latest/x86\$164/network-flow-monitor-agent.rpm.sig  | 
|  ARM64 |  Amazon Linux 2023  |  https://networkflowmonitoragent.awsstatic.com/latest/arm64/network-flow-monitor-agent.rpm  |  https://networkflowmonitoragent.awsstatic.com/latest/arm64/network-flow-monitor-agent.rpm.sig  | 
|  x86-64 |  Debian/Ubuntu  |  https://networkflowmonitoragent.awsstatic.com/latest/x86\$164/network-flow-monitor-agent.deb  |  https://networkflowmonitoragent.awsstatic.com/latest/x86\$164/network-flow-monitor-agent.deb.sig  | 
|  ARM64 |  Debian/Ubuntu  |  https://networkflowmonitoragent.awsstatic.com/latest/arm64/network-flow-monitor-agent.deb  |  https://networkflowmonitoragent.awsstatic.com/latest/arm64/network-flow-monitor-agent.deb.sig  | 

以下の手順に従って、Network Flow Monitor エージェントの署名を確認します。

**Amazon S3 パッケージの Network Flow Monitor エージェントの署名を確認するには**

1. GnuPG をインストールして、gpg コマンドを実行できるようにします。GnuPG は、Amazon S3 パッケージ用にダウンロードした Network Flow Monitor エージェントの信頼性と整合性を検証するために必要です。GnuPG は、Amazon Linux Amazon マシンイメージ (AMI) にデフォルトでインストールされています。

1. 次のパブリックキーをコピーし、`nfm-agent.gpg` という名前のファイルに保存します。

   ```
   -----BEGIN PGP PUBLIC KEY BLOCK-----
   
   mQINBGf0b5IBEAC6YQc0aYrTbcHNWWMbLuqsqfspzWrtCvoU0yQ62ld7nvCGBha9
   lu4lbhtiwoDawC3h6Xsxc3Pmm6kbMQfZdbo4Gda4ahf6zDOVI5zVHs3Yu2VXC2AU
   5BpKQJmYddTb7dMI3GBgEodJY05NHQhq1Qd2ptdh03rsX+96Fvi4A6t+jsGzMLJU
   I+hGEKGif69pJVyptJSibK5bWCDXh3eS/+vB/CbXumAKi0sq4rXv/VPiIhn6bsCI
   A2lmzFd3vMJQUM/T7m7skrqetZ4mWHr1LPDFPK/H/81s8TJawx7MACsK6kIRUxu+
   oicW8Icmg9S+BpIgONT2+Io5P1tYO5a9AyVF7X7gU0VgHUA1RoLnjHQHXbCmnFtW
   cYEuwhUuENMl+tLQCZ+fk0kKjOlIKqeS9AVwhks92oETh8wpTwTE+DTBvUBP9aHo
   S39RTiJCnUmA6ZCehepgpwW9AYCc1lHv/xcahD418E0UHV22qIw943EwAkzMDA4Q
   damdRm0Nud0OmilCjo9oogEB+NUoy//5XgQMH1hhfsHquVLU/tneYexXYMfo/Iu5
   TKyWL2KdkjKKP/dMR4lMAXYi0RjTJJ5tg5w/VrHhrHePFfKdYsgN6pihWwj2Px/M
   ids3W1Ce50LOEBc2MOKXYXGd9OZWyR8l15ZGkySvLqVlRGwDwKGMC/nS2wARAQAB
   tEJOZXR3b3JrIEZsb3cgTW9uaXRvciBBZ2VudCA8bmV0d29yay1mbG93LW1vbml0
   b3ItYWdlbnRAYW1hem9uLmNvbT6JAlcEEwEIAEEWIQR2c2ypl63T6dJ3JqjvvaTM
   vJX60QUCZ/RvkgIbAwUJBaOagAULCQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAK
   CRDvvaTMvJX60euSD/9cIu2BDL4+MFFHhyHmG3/se8+3ibW0g8SyP3hsnq7qN+bm
   ZzLAhll7DVoveNmEHI1VC7Qjwb30exgLcyK2Ld6uN6lwjjK0qiGGz943t230pJ3z
   u7V2fVtAN+vgDVmD7agE6iqrRCWu3WfcgzFlEkE/7nkhtbWzlaK+NkdEBzNZ+W7/
   FmLClzIbMjIBW2M8LdeZdQX0SWljy18x7NGNukWeNTJxmkDsjAeKl+zkXYk9h7ay
   n3AVl1KrLZ5P9vQ5XsV5e4T6qfQ3XNY1lm54cpa+eD7NyYcTGRDK+vIxO4xD8i2M
   yl1iNf2+84Tt6/SAgR/P9SJ5tbKD0iU9n4g1eBJVGmHDuXTtDR4H/Ur7xRSxtuMl
   yZP/sLWm8p7+Ic7aQJ5OVw36MC7Oa7/K/zQEnLFFPmgBwGGiNiw5cUSyCBHNvmtv
   FK0Q2XMXtBEBU9f44FMyzNJqVdPywg8Y6xE4wc/68uy7G6PyqoxDSP2ye/p+i7oi
   OoA+OgifchZfDVhe5Ie0zKR0/nMEKTBV0ecjglb/WhVezEJgUFsQcjfOXNUBesJW
   a9kDGcs3jIAchzxhzp/ViUBmTg6SoGKh3t+3uG/RK2ougRObJMW3G+DI7xWyY+3f
   7YsLm0eDd3dAZG3PdltMGp0hKTdslvpws9qoY8kyR0Fau4l222JvYP27BK44qg==
   =INr5
   -----END PGP PUBLIC KEY BLOCK-----
   ```

1. パブリックキーをキーリングにインポートし、返された値をメモします。

   ```
   PS>  rpm --import nfm-agent.gpg
   gpg: key 3B789C72: public key "Network Flow Monitor Agent" imported
   gpg: Total number processed: 1
   gpg: imported: 1 (RSA: 1)
   ```

   次の手順で必要になるため、キーの値を書きとめておきます。この例では、値は `3B789C72` です。

1. 次のコマンドを実行して、フィンガープリントを検証します。*key-value* は、前の手順の値に置き換えてください。RPM を使用してインストーラーパッケージを確認する場合でも、GPG を使用してフィンガープリントを確認することをお勧めします。

   ```
   PS>  gpg --fingerprint key-value
   pub   rsa4096 2025-04-08 [SC] [expires: 2028-04-07]
         7673 6CA9 97AD D3E9 D277  26A8 EFBD A4CC BC95 FAD1
   uid   Network Flow Monitor Agent <network-flow-monitor-agent@amazon.com>
   ```

   フィンガープリントは、次のものと同一になる必要があります。

   `7673 6CA9 97AD D3E9 D277 26A8 EFBD A4CC BC95 FAD1`

   フィンガープリント文字列が一致しない場合は、エージェントをインストールしないでください。Amazon Web Services にお問い合わせください。

   フィンガープリントを確認したら、それを使用して、Network Flow Monitor エージェントパッケージの署名を確認できます。

1. インスタンスのアーキテクチャとオペレーティングシステムに基づいてパッケージ署名ファイルをダウンロードします (まだ実行していない場合)。

1. インストーラパッケージの署名を確認します。`signature-filename` および `agent-download-filename` は、このトピックの表で前述したように、署名ファイルとエージェントをダウンロードしたときに指定した値に置き換えてください。

   ```
   PS> gpg --verify sig-filename agent-download-filename
   gpg: Signature made Tue Apr  8 00:40:02 2025 UTC
   gpg:                using RSA key 77777777EXAMPLEKEY
   gpg:                issuer "network-flow-monitor-agent@amazon.com"
   gpg: Good signature from "Network Flow Monitor Agent <network-flow-monitor-agent@amazon.com>" [unknown]
   gpg: WARNING: Using untrusted key!
   ```

   出力結果に「`BAD signature`」という句が含まれる場合、手順が正しいことを確認してください。このレスポンスが続く場合は、[AWS サポート](https://aws.amazon.com/premiumsupport/)に連絡し、ダウンロードしたファイルは使用しないでください。

   信頼性に関する警告に注意します。キーは、自分や信頼する人が署名した場合にのみ信頼できます。つまり、署名が無効であるわけではなく、パブリックキーを確認していないことになります。

次に、以下の手順に従って RPM パッケージを確認します。

**RPM パッケージの署名を確認するには**

1. 次のパブリックキーをコピーし、`nfm-agent.gpg` という名前のファイルに保存します。

   ```
   -----BEGIN PGP PUBLIC KEY BLOCK-----
   
   mQINBGf0b5IBEAC6YQc0aYrTbcHNWWMbLuqsqfspzWrtCvoU0yQ62ld7nvCGBha9
   lu4lbhtiwoDawC3h6Xsxc3Pmm6kbMQfZdbo4Gda4ahf6zDOVI5zVHs3Yu2VXC2AU
   5BpKQJmYddTb7dMI3GBgEodJY05NHQhq1Qd2ptdh03rsX+96Fvi4A6t+jsGzMLJU
   I+hGEKGif69pJVyptJSibK5bWCDXh3eS/+vB/CbXumAKi0sq4rXv/VPiIhn6bsCI
   A2lmzFd3vMJQUM/T7m7skrqetZ4mWHr1LPDFPK/H/81s8TJawx7MACsK6kIRUxu+
   oicW8Icmg9S+BpIgONT2+Io5P1tYO5a9AyVF7X7gU0VgHUA1RoLnjHQHXbCmnFtW
   cYEuwhUuENMl+tLQCZ+fk0kKjOlIKqeS9AVwhks92oETh8wpTwTE+DTBvUBP9aHo
   S39RTiJCnUmA6ZCehepgpwW9AYCc1lHv/xcahD418E0UHV22qIw943EwAkzMDA4Q
   damdRm0Nud0OmilCjo9oogEB+NUoy//5XgQMH1hhfsHquVLU/tneYexXYMfo/Iu5
   TKyWL2KdkjKKP/dMR4lMAXYi0RjTJJ5tg5w/VrHhrHePFfKdYsgN6pihWwj2Px/M
   ids3W1Ce50LOEBc2MOKXYXGd9OZWyR8l15ZGkySvLqVlRGwDwKGMC/nS2wARAQAB
   tEJOZXR3b3JrIEZsb3cgTW9uaXRvciBBZ2VudCA8bmV0d29yay1mbG93LW1vbml0
   b3ItYWdlbnRAYW1hem9uLmNvbT6JAlcEEwEIAEEWIQR2c2ypl63T6dJ3JqjvvaTM
   vJX60QUCZ/RvkgIbAwUJBaOagAULCQgHAgIiAgYVCgkICwIEFgIDAQIeBwIXgAAK
   CRDvvaTMvJX60euSD/9cIu2BDL4+MFFHhyHmG3/se8+3ibW0g8SyP3hsnq7qN+bm
   ZzLAhll7DVoveNmEHI1VC7Qjwb30exgLcyK2Ld6uN6lwjjK0qiGGz943t230pJ3z
   u7V2fVtAN+vgDVmD7agE6iqrRCWu3WfcgzFlEkE/7nkhtbWzlaK+NkdEBzNZ+W7/
   FmLClzIbMjIBW2M8LdeZdQX0SWljy18x7NGNukWeNTJxmkDsjAeKl+zkXYk9h7ay
   n3AVl1KrLZ5P9vQ5XsV5e4T6qfQ3XNY1lm54cpa+eD7NyYcTGRDK+vIxO4xD8i2M
   yl1iNf2+84Tt6/SAgR/P9SJ5tbKD0iU9n4g1eBJVGmHDuXTtDR4H/Ur7xRSxtuMl
   yZP/sLWm8p7+Ic7aQJ5OVw36MC7Oa7/K/zQEnLFFPmgBwGGiNiw5cUSyCBHNvmtv
   FK0Q2XMXtBEBU9f44FMyzNJqVdPywg8Y6xE4wc/68uy7G6PyqoxDSP2ye/p+i7oi
   OoA+OgifchZfDVhe5Ie0zKR0/nMEKTBV0ecjglb/WhVezEJgUFsQcjfOXNUBesJW
   a9kDGcs3jIAchzxhzp/ViUBmTg6SoGKh3t+3uG/RK2ougRObJMW3G+DI7xWyY+3f
   7YsLm0eDd3dAZG3PdltMGp0hKTdslvpws9qoY8kyR0Fau4l222JvYP27BK44qg==
   =INr5
   -----END PGP PUBLIC KEY BLOCK-----
   ```

1. 公開鍵をキーリングにインポートします。

   ```
   PS>  rpm --import nfm-agent.gpg
   ```

1. インストーラパッケージの署名を確認します。`agent-download-filename` は、このトピックの表で前述したように、エージェントをダウンロードしたときに指定した値に置き換えてください。

   ```
   PS>  rpm --checksig agent-download-filename
   ```

   例えば、Amazon Linux 2023 の x86\$164 アーキテクチャの場合、次のコマンドを使用します。

   ```
   PS>  rpm --checksig network-flow-monitor-agent.rpm
   ```

   このコマンドは、次のような出力を返します。

   ```
   network-flow-monitor-agent.rpm: digests signatures OK
   ```

   出力に「`NOT OK (MISSING KEYS: (MD5) key-id)`」という句が含まれる場合、手順が正しいことを確認してください。このレスポンスが続く場合は、[AWS サポート](https://aws.amazon.com/premiumsupport/)に連絡し、エージェントをインストールしないでください。

# セルフマネージド Kubernetes インスタンス用の エージェントをインストールする
<a name="CloudWatch-NetworkFlowMonitor-agents-kubernetes-non-eks"></a>

このセクションの手順に従って、セルフマネージド Kubernetes クラスターにワークロード用の Network Flow Monitor エージェントをインストールします。ステップを完了すると、Network Flow Monitor エージェントポッドはすべてのセルフマネージド Kubernetes クラスターノードで実行されます。

Amazon Elastic Kubernetes Service (Amazon EKS) を使用する場合、実行するインストール手順については、次のセクションの「[EKS AWS Network Flow Monitor Agent アドオンをインストールする](CloudWatch-NetworkFlowMonitor-agents-kubernetes-eks.md)」を参照してください。

**Topics**
+ [[開始する前に]](CloudWatch-NetworkFlowMonitor-agents-kubernetes-before-you-begin.md)
+ [Helm チャートをダウンロードしてエージェントをインストールする](CloudWatch-NetworkFlowMonitor-agents-kubernetes-install-agents.md)
+ [エージェントがメトリクスを配信するためのアクセス許可を設定する](CloudWatch-NetworkFlowMonitor-agents-kubernetes-permissions.md)

# [開始する前に]
<a name="CloudWatch-NetworkFlowMonitor-agents-kubernetes-before-you-begin"></a>

インストールプロセスを開始する前に、このセクションのステップに従って、適切な Kubernetes クラスターにエージェントを正常にインストールするように環境が設定されていることを確認します。

**お使いの Kubernetes のバージョンが対応していることを確認します。**  
Network Flow Monitor エージェントのインストールには、Kubernetes バージョン 1.25 またはこれ以降のバージョンが必要です。

**必要なツールがインストールされていることを確認する**  
このインストールプロセスで使用するスクリプトでは、次のツールをインストールする必要があります。ツールがまだインストールされていない場合は、提供されているリンクで詳細を確認してください。  
+ AWS Command Line Interface (CLI)。詳細については、AWS Command Line Interface リファレンスガイドの「[AWS Command Line Interface の最新バージョンをインストールまたは更新](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」を参照してください。
+ Helm パッケージマネージャー。詳細については、Helm ウェブサイトの「[Helm のインストール](https://helm.sh/docs/intro/install/)」を参照してください。
+ `kubectl` コマンドラインツール 詳細については、Kubernetes ウェブサイトの「[Kubernetes のインストール](https://kubernetes.io/docs/tasks/tools/#kubectl)」を参照してください。
+ `make` Linux コマンドの依存関係。詳細については、次のブログ記事「[Linux コマンドを作成するための入門: インストールと使用](https://ioflood.com/blog/install-make-command-linux/)」を参照してください。例として、以下のいずれかを実行します。
  + Ubuntu などの Debian ベースのディストリビューションの場合は、コマンド `sudo apt-get install make` を使用します。
  + CentOS などの RPM ベースのディストリビューションの場合は、コマンド `sudo yum install make` を使用します。

**KubeConfig 環境変数が有効で正しく設定されていることを確認します。**  
Network Flow Monitor エージェントのインストールでは、Helm パッケージマネージャーツールを使用します。このツールでは、kubeconfig 変数 `$HELM_KUBECONTEXT` を使用して、使用するターゲット Kubernetes クラスターを決定します。また、Helm がインストールスクリプトを実行すると、デフォルトで標準 `~/.kube/config` ファイルを参照することに注意してください。設定の環境変数を変更して、別の設定ファイルを使用するか (`$KUBECONFIG` を更新することによる)、連携するターゲットクラスターを定義できます (`$HELM_KUBECONTEXT` を更新することによる)。

**Network Flow Monitor Kubernetes 名前空間を作成する**  
Network Flow Monitor エージェントの Kubernetes アプリケーションは、そのリソースを特定の名前空間にインストールします。インストールを成功させるには、名前空間が存在している必要があります。必要な名前空間を確実に設定するには、次のいずれかを実行します。  
+ 開始する前に、デフォルトの名前空間 `amazon-network-flow-monitor` を作成します。
+ 別の名前空間を作成し、インストールを実行してターゲットを作成するときに `$NAMESPACE` 環境変数で定義します。

# Helm チャートをダウンロードしてエージェントをインストールする
<a name="CloudWatch-NetworkFlowMonitor-agents-kubernetes-install-agents"></a>

次のコマンドを使用して、AWS パブリックリポジトリから Network Flow Monitor エージェント Helm チャートをダウンロードできます。まず、GitHub アカウントで確実に認証してください。

`git clone https://github.com/aws/network-flow-monitor-agent.git`

`./charts/amazon-network-flow-monitor-agent` ディレクトリでは、Network Flow Monitor エージェントの Helm チャートとエージェントのインストールに使用するインストールの make ターゲットを含む Makefile があります。Network Flow Monitor のエージェントをインストールするには、Makefile ターゲット `helm/install/customer` を使用します。

インストールをカスタマイズするには、たとえば、次の操作を行います。

```
# Overwrite the kubeconfig files to use
KUBECONFIG=<MY_KUBECONFIG_ABS_PATH> make helm/install/customer
 
# Overwrite the Kubernetes namespace to use
NAMESPACE=<MY_K8S_NAMESPACE> make helm/install/customer
```

Network Flow Monitor エージェントの Kubernetes アプリケーションポッドが正常に作成され、デプロイされたことを確認するには、それらの状態が `Running` であることを確認します。コマンド `kubectl get pods -o wide -A | grep amazon-network-flow-monitor` を実行すれば、エージェントのステータスを確認できます。

# エージェントがメトリクスを配信するためのアクセス許可を設定する
<a name="CloudWatch-NetworkFlowMonitor-agents-kubernetes-permissions"></a>

Network Flow Monitor のエージェントをインストールしたら、エージェントが Network Flow Monitor の取り込み API にネットワークメトリクスを送信できるようにする必要があります。Network Flow Monitor のエージェントは、インスタンスごとに収集したネットワークフローメトリクスを配信できるように、Network Flow Monitor の取り込み API にアクセスするための許可を持っている必要があります。このアクセス許可は、サービスアカウント (IRSA) の IAM ロールを実装することによって付与されます。

エージェントがネットワークメトリクスを Network Flow Monitor に配信できるようにするには、このセクションのステップに従います。

1. **サービスアカウントの IAM ロールを実行**

   サービスアカウントの IAM ロールには、Amazon EC2 インスタンスプロファイルから Amazon EC2 インスタンスに認証情報を提供する場合と同じような方法で、アプリケーションの認証情報を管理する機能があります。IRSA の実装は、Network Flow Monitor エージェントが Network Flow Monitor 取り込み API に正常にアクセスするために必要なすべてのアクセス許可を付与するために推奨される方法です。詳細については、「Amazon EKS ユーザーガイド」の「[サービスアカウントの IAM ロール](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html)」を参照してください。

   Network Flow Monitor エージェントに IRSA を設定するときは、次の情報を使用します。
   + **[ServiceAccount:]** IAM ロールの信頼ポリシーを定義するときに、`ServiceAccount` に `aws-network-flow-monitor-agent-service-account` を指定します。
   + **[名前空間:]** `namespace` には、`amazon-network-flow-monitor` を指定します。
   + **[一時的な認証情報のデプロイ:]** Network Flow Monitor エージェントポッドをデプロイした後にアクセス許可を設定する場合、IAM ロールで `ServiceAccount` を更新すると、Kubernetes は IAM ロールの認証情報をデプロイしません。Network Flow Monitor エージェントが、指定した IAM ロールの認証情報を確実に取得するには、`DaemonSet` の再起動をロールアウトする必要があります。例えば、以下のようなコマンドを使用します。

     `kubectl rollout restart daemonset -n amazon-network-flow-monitor aws-network-flow-monitor-agent`

1. **Network Flow Monitor エージェントが Network Flow Monitor 取り込み API に正常にアクセスしていることを確認する**

   Network Flow Monitor エージェントポッドの HTTP 200 ログを使用して、エージェントの設定が正しく動作していることを確認できます。まず、Network Flow Monitor エージェントポッドを検索してから、ログファイルを検索して、成功した HTTP 200 リクエストを見つけます。例えば、次のオペレーションを実行できます。

   1. Network Flow Monitor エージェントのポッド名を見つけます。例えば、次のコマンドを使用できます。

      ```
      RANDOM_AGENT_POD_NAME=$(kubectl get pods -o wide -A | grep amazon-network-flow-monitor | grep Running | head -n 1 | tr -s ' ' | cut -d " " -f 2)
      ```

   1. 指定したポッド名の HTTP ログをすべてグレップします。NAMESPACE を変更した場合は、新しいものを使用してください。

      ```
      NAMESPACE=amazon-network-flow-monitor
      kubectl logs $RANDOM_AGENT_POD_NAME -\-namespace ${NAMESPACE} | grep HTTP
      ```

   アクセスが正常に許可されると、次のようなログエントリが表示されます。

   ```
   ...
   {"level":"INFO","message":"HTTP request complete","status":200,"target":"amzn_nefmon::reports::publisher_endpoint","timestamp":1737027525679}
   {"level":"INFO","message":"HTTP request complete","status":200,"target":"amzn_nefmon::reports::publisher_endpoint","timestamp":1737027552827}
   ```

   Network Flow Monitor エージェントは、Network Flow Monitor 取り込み API を呼び出して、30 秒ごとにネットワークフローレポートを発行することに注意してください。