【AWS入门】将AWS流日志发布到Amazon CloudWatch Logs,实时监控经由VPC的流量

本文介绍了VPC流日志的概念,包括它如何捕获和监控VPC的网络流量,并详细阐述了如何设置流日志发布到CloudWatchLogs的步骤,涉及创建IAM角色、日志组,以及在VPC和EC2实例上的操作,以实现流量监控和诊断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 概念

1.1 什么是 VPC 的流日志?

利用 VPC 流日志这项功能,您可以捕获有关传入和传出您的 VPC 中网络接口的 IP 流量
的信息。流日志数据可发布到以下位置:Amazon CloudWatch Logs、Amazon S3 或
Amazon Kinesis Data Firehose。创建流日志后,您可以在配置的日志组、存储桶或传输流
中检索和查看流日志记录。
流日志可帮助您处理多种任务,例如:
• 诊断过于严格的安全组规则
• 监控达到您实例的流量
• 确定在网络接口上往返的流量的方向
流日志数据的收集在您网络流量路径之外,因此不会影响网络吞吐量或延迟。您可以创建
或删除流日志,而不会对网络性能造成任何有风险的影响

1.2. VPC 创建位置

您可以为 VPC、子网或网络接口创建流日志。如果您为子网或 VPC 创建流日志,则
会监视该子网或 VPC 中的每个网络接口.您可以为其他 AWS 创建的网络接口创建流
日志,例如:Elastic Load Balancing, Amazon RDS, Amazon ElastiCache, Amazon
Redshift, Amazon WorkSpaces, NAT 网关, 中转网关.

1.3. 架构图

1)在以下示例中,您创建一个流日志,用于捕获私有子网中某个 EC2 实例的网络接口
的已接受流量,并将流日志记录发布到 Amazon S3 存储桶.
在这里插入图片描述
2) 在以下示例中,流日志会捕获子网的所有流量,并将流日志记录发布到
Amazon CloudWatch Logs。流日志将捕获子网中所有网络接口的流量
在这里插入图片描述

2. Lab: 将流日志发布到 CloudWatch Logs

通过流日志与CloudWatch进行结合,可以监控经过VPC的日志的记录,可以用于分析业务流量有多少,都有什么样的IP可以传入等,这些IP哪些是拒绝的,哪些是接收的,都可以通过流日志来进行监控。

2.1 创建IAM角色

1.进入 IAM 服务,选择创建 role,选择 EC2 Service,选择 Next,直到 Name, review, and create
页面
2.给角色一个名字,选择创建角色
在这里插入图片描述
3. 当角色创建好后,选择此角色,然后,选择添加 create inline policy,在下一个窗口选择
JSON,接下来复制如下内容后,点击 Review policy

{ 
 "Version": "2012-10-17",
 "Statement": [
 {
 "Effect": "Allow",
 "Action": [
 "logs:CreateLogGroup",
 "logs:CreateLogStream",
 "logs:PutLogEvents",
 "logs:DescribeLogGroups",
 "logs:DescribeLogStreams"
 ],
 "Resource": "*"
 }
 ]
} 

在这里插入图片描述
4.给 policy 一个名字后,选择创建 policy
在这里插入图片描述
5. 开始编辑信任关系(Trust Relationships),复制如下内容替换已有内容,选择 update policy

{
 "Version": "2012-10-17",
 "Statement": [
 {
 "Effect": "Allow",
 "Principal": {
 "Service": "vpc-flow-logs.amazonaws.com"
 },
 "Action": "sts:AssumeRole"
 }
 ]
}

在这里插入图片描述

2.2 CloudWatch下创建日志组

CloudWatch 》 日志组 》创建日志组
在这里插入图片描述

2.3 VPC下创建流日志

进入到 VPC 流日志 console,选择默认 VPC 即可,选择创建 VPC Flow log
在这里插入图片描述
Flow log settings 设置选项如下,接下来点击创建 flow log
・名称:自定义
・筛选条件选择接受
・目标日志组选择上一步骤中创建的日志组
・IAM角色选择事先创建好的带有内联策略的角色

在这里插入图片描述

2.4 创建EC2实例

接下来创建一个 ec2 实例,进行 ssh 链接,安装 apache 进行页面访问
安装apache可通过编辑用户数据来实现

#!/bin/bash
sudo -i
yum install httpd -y
systemctl start httpd
systemctl enable httpd

做一些动作,产生些数据流,可以通过web访问apache等,等待大约 5 分钟

2.5 实验结果

查看cloudwatch,成功生成日志流
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值