

# 使用 CDK 为 EC2 实例安装代理
<a name="CloudWatch-NetworkFlowMonitor-agents-ec2-install-cdk"></a>

您可以使用 Amazon Cloud Development Kit (Amazon CDK) 将网络流量监测仪代理作为基础设施即代码部署的一部分进行安装。将代理安装添加到 CDK 堆栈的 EC2 实例用户数据中。

以下示例说明如何使用带 TypeScript 的 CDK 在 Amazon Linux 实例上安装网络流量监测仪代理：

```
// Create an EC2 instance
const ec2Instance = new ec2.Instance(this, 'Instance', {
  vpc,
  instanceType: ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE3, ec2.InstanceSize.MICRO),
  machineImage: ec2.MachineImage.latestAmazonLinux2023(),
  vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS },
});

// Install Network Flow Monitor Agent via RPM on Amazon Linux (x86_64)
ec2Instance.addUserData(
  "sudo yum install https://networkflowmonitoragent.awsstatic.com/latest/x86_64/network-flow-monitor-agent.rpm -y"
);

// Attach the required permissions policy to your EC2 instance role
ec2Instance.role.addManagedPolicy(
  iam.ManagedPolicy.fromAwsManagedPolicyName('CloudWatchNetworkFlowMonitorAgentPublishPolicy')
);
```

对于 ARM64（Graviton）实例，将 RPM URL 替换为 ARM64 变体：

```
ec2Instance.addUserData(
  "sudo yum install https://networkflowmonitoragent.awsstatic.com/latest/arm64/network-flow-monitor-agent.rpm -y"
);
```

对于 Debian/Ubuntu 实例，需改用 DEB 程序包：

```
ec2Instance.addUserData(
  "wget https://networkflowmonitoragent.awsstatic.com/latest/x86_64/network-flow-monitor-agent.deb && sudo apt-get install ./network-flow-monitor-agent.deb -y"
);
```