利用 VPC 流日志这项功能,您可以捕获有关传入和传出您的 VPC 中网络接口的 IP 流量
的信息。流日志数据可发布到以下位置:Amazon CloudWatch Logs、Amazon S3 或
Amazon Kinesis Data Firehose。创建流日志后,您可以在配置的日志组、存储桶或传输流
中检索和查看流日志记录。
流日志可帮助您处理多种任务,例如:
• 诊断过于严格的安全组规则
• 监控达到您实例的流量
• 确定在网络接口上往返的流量的方向
流日志数据的收集在您网络流量路径之外,因此不会影响网络吞吐量或延迟。您可以创建
或删除流日志,而不会对网络性能造成任何有风险的影响
您可以为 VPC、子网或网络接口创建流日志。如果您为子网或 VPC 创建流日志,则
会监视该子网或 VPC 中的每个网络接口.您可以为其他 AWS 创建的网络接口创建流
日志,例如:Elastic Load Balancing, Amazon RDS, Amazon ElastiCache, Amazon
Redshift, Amazon WorkSpaces, NAT 网关, 中转网关.
1)在以下示例中,您创建一个流日志,用于捕获私有子网中某个 EC2 实例的网络接口
的已接受流量,并将流日志记录发布到 Amazon S3 存储桶.
2) 在以下示例中,流日志会捕获子网的所有流量,并将流日志记录发布到
Amazon CloudWatch Logs。流日志将捕获子网中所有网络接口的流量
通过流日志与CloudWatch进行结合,可以监控经过VPC的日志的记录,可以用于分析业务流量有多少,都有什么样的IP可以传入等,这些IP哪些是拒绝的,哪些是接收的,都可以通过流日志来进行监控。
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"
}
]
}
进入到 VPC 流日志 console,选择默认 VPC 即可,选择创建 VPC Flow log
Flow log settings 设置选项如下,接下来点击创建 flow log
・名称:自定义
・筛选条件选择接受
・目标日志组选择上一步骤中创建的日志组
・IAM角色选择事先创建好的带有内联策略的角色
接下来创建一个 ec2 实例,进行 ssh 链接,安装 apache 进行页面访问
安装apache可通过编辑用户数据来实现
#!/bin/bash
sudo -i
yum install httpd -y
systemctl start httpd
systemctl enable httpd
做一些动作,产生些数据流,可以通过web访问apache等,等待大约 5 分钟