本文为您介绍如何通过流日志排查通过SNAT形式访问公网的高流量云服务器ECS(Elastic Compute Service)实例。
前提条件
本文以华北5(呼和浩特)地域为例创建专有网络VPC(Virtual Private Cloud),并在该VPC中创建一个交换机。具体操作,请参见搭建IPv4专有网络。
您已经在交换机内创建了3台ECS实例。具体操作,请参见自定义购买实例。
背景信息
本文以下图场景为例。VPC内同一个交换机下的多台ECS实例,通过公网NAT网关以SNAT形式访问公网。现需排查出流量占比较高的ECS实例。
配置步骤
步骤一:创建公网NAT网关
登录NAT网关管理控制台。
在公网NAT网关页面,单击创建公网NAT网关。
首次使用NAT网关时,在创建公网NAT网关页面关联角色创建区域,单击创建关联角色。角色创建成功后即可创建NAT网关。
关于NAT网关服务关联角色的更多信息,请参见服务关联角色。
在创建页面,配置以下购买信息,然后单击立即购买。
配置
说明
付费模式
默认选择为按量付费,即一种先使用后付费的付费模式。更多信息,请参见公网NAT网关计费。
资源组
选择VPC所属的资源组。更多信息,请参见什么是资源组。
标签
标签键:选择或输入完整的标签键。
最多支持输入20个标签键。一个标签键最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。
标签值:选择或输入完整的标签值。
最多支持输入20个标签值。一个标签值最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。
所属地域
选择需要创建公网NAT网关的地域。
所属专有网络
选择公网NAT网关所属的VPC。创建后,不能修改公网NAT网关所属的VPC。
关联交换机
选择公网NAT网关实例所属的交换机。
计费类型
默认选择为按使用量计费,即按公网NAT网关实际使用量收费。更多信息,请参见公网NAT网关计费。
计费周期
默认选择为按小时,即按使用量计费公网NAT网关的计费周期为1小时,不足1小时按1小时计算。
实例名称
设置公网NAT网关实例的名称。
实例名称长度为2~128个字符,以英文大小写字母或中文开头,可包含数字、下划线(_)和短划线(-)。
访问模式
选择公网NAT网关的访问模式。支持以下两种模式:
VPC全通模式(SNAT):选择了VPC全通模式,在公网NAT网关创建成功后当前VPC内所有实例即可通过该公网NAT网关访问公网。
选择VPC全通模式(SNAT)后,您需要配置弹性公网IP(Elastic IP Address,简称EIP)的相关信息。
稍后配置:如需稍后配置或有更多配置需求,可在购买完成后,前往控制台进行配置。
选择稍后配置,则只购买公网NAT网关实例。
本文选择稍后配置。
在确认订单页面确认公网NAT网关的配置信息,选中服务协议并单击确认订单。
当出现恭喜,购买成功!的提示后,说明您创建成功。
步骤二:创建并绑定EIP
步骤三:创建SNAT条目
在SNAT管理页签,单击创建SNAT条目。
在创建SNAT条目页面,配置以下参数,然后单击确定创建。
SNAT条目配置成功后,您可以登录ECS实例访问公网。
步骤四:创建流日志
创建流日志前,您需要登录日志服务产品页开通日志服务功能。
- 登录专有网络管理控制台。
- 在左侧导航栏,选择 。
在顶部菜单栏处,选择华北5(呼和浩特)地域。
在流日志页面,单击创建流日志。
在创建流日志对话框,根据以下信息配置流日志,然后单击确定。
名称:输入流日志名称,本文输入排查高ECS实例流量。
资源类型:选择要捕获流量的资源类型,然后选择相应的资源,本文选择交换机。
流量类型:选择要捕获流量的类型,本文选择全部流量。
项目(Project):选择存储捕获流量的项目(Project)的类型,本文选择新建Project。
日志库(Logstore):选择存储捕获流量的日志库(Logstore)的类型,本文选择新建 Logstore。
开启流日志分析报表功能:选择该功能后,所选的LogStore会开启索引并建立仪表盘,支持对数据进行SQL与可视化分析。日志服务索引功能按流量收费,仪表盘不收费。更多信息,请参见日志服务计费说明。本文选择开启该功能。
采样间隔(分钟):选择流日志采样的时间间隔,当前支持1分钟、5分钟和10分钟的采样间隔。本文选择采用10分钟的采样间隔。
描述:输入流日志的描述。
步骤五:查看流日志
- 登录专有网络管理控制台。
- 在左侧导航栏,选择 。
在顶部菜单栏处,选择华北5(呼和浩特)地域。
在流日志页面,找到目标流日志,然后在 日志服务列单击日志库(Logstore)名称的链接。
根据下图示例顺序,查看通过公网NAT网关SNAT条目访问公网的ECS实例的流量情况。
序号
步骤描述
①
输入以下SQL语句对日志进行聚合和排列,筛选去往某一特定公网IP地址的流量较高ECS实例的图表:
dstaddr: "X.X.X.X" and action: ACCEPT and srcaddr: 10.0.0.* | select date_format(from_unixtime(__time__ - __time__% 60), '%H:%i:%S') as time, srcaddr,sum(bytes*8/(case WHEN "end"-start=0 THEN 1 else "end"-start end)) as bandwidth group by time,srcaddr order by time asc limit 1000
该SQL语句定义了时间time、带宽bandwidth(bps)、源地址srcaddr三个参数,time和srcaddr为聚合列,并按time从小到大排序,取1000条日志。其中参数说明如下:
dstaddr
:公网地址。srcaddr
:私网网段。其余字段请参照示例值输入。
说明输入以下SQL语句,筛选某一特定公网IP到ECS实例的入流量图表:
srcaddr: "X.X.X.X" and action: ACCEPT and dstaddr: 10.0.0.* | select date_format(from_unixtime(__time__ - __time__% 60), '%H:%i:%S') as time, dstaddr,sum(bytes*8/(case WHEN "end"-start=0 THEN 1 else "end"-start end)) as bandwidth group by time,dstaddr order by time asc limit 1000
srcaddr:公网地址。
dstaddr:私网地址。
生成流图时,聚合列选择dstaddr。
输入以下SQL语句,筛选ECS实例去往所有公网IP的流量图表:
srcaddr: 10.0.0.* and action: ACCEPT | select date_format(from_unixtime(__time__ - __time__% 60), '%H:%i:%S') as time, srcaddr,sum(bytes*8/(case WHEN "end"-start=0 THEN 1 else "end"-start end)) as bandwidth from log where ip_to_domain(dstaddr)!='intranet' group by time,srcaddr order by time asc limit 1000
srcaddr:私网地址。
dstaddr:公网地址。
生成流图时,聚合列选择srcaddr。
②
选择要查看流日志的时间。
③
单击统计图表页签,然后单击选择流图格式。
④
在通用配置区域,设置以下参数信息:
x轴字段:设置为time。
y轴字段:设置为bandwidth。
聚合列:设置为srcaddr。
格式化:设置为bps, Kbps, Mbps。
其余参数保持默认值。
⑤
单击添加到仪表盘,在弹出的对话框中设置以下参数信息:
操作类型:本文以新建仪表盘为例进行说明。
布局模式:本文以网格布局为例进行说明。
仪表盘名称:填写仪表盘的名称,本文输入ECS走NAT网关出流量。
您可以在仪表盘查看流日志信息。
⑥
单击查询/分析,即可查看各个ECS实例出公网的流量情况,排查出高流量的ECS实例。