分析混合云专线中VPC的流量

混合云架构下,企业将不同业务部署在各部门独立的VPC或同一VPC的不同交换机中,与本地IDC连通,从而实现高效且安全的数据传输。您可以使用流日志分析VPC与云下的互访流量,监控独立VPC或不同交换机对物理专线资源的使用情况,进而采取相应的优化措施,合理规划网络资源,确保关键业务的网络性能。

功能简介

高速通道物理专线

阿里云高速通道可在本地IDC与阿里云之间建立高速、稳定、安全的私网通信通道。

高速通道的物理专线数据传输过程可信可控,避免网络质量不稳定问题,同时也可避免数据在传输过程中被窃取。

流日志

VPC流日志可以采集指定弹性网卡(Elastic Network Interfaces,ENI)、指定VPC或者交换机中所有弹性网卡的流量。

说明

混合云架构下采集VPC与云下的互访流量时,VPC流日志仅采集ECS实例弹性网卡的流量,暂不支持采集未经过ECS实例弹性网卡的流量。例如云下通过物理专线直接访问云上OSS、DTS等云服务的流量。

适用场景

使用流日志分析混合云专线中VPC的流量,主要适用于以下场景:

  • 网络优化:通过分析流日志,您可了解VPC中不同业务对物理专线资源的使用情况,为网络资源规划提供依据,确保关键业务的网络性能。

  • 安全审计:流日志可以帮助您检测潜在的安全威胁、发现网络异常行为,提前采取措施避免故障发生,或在发生安全风险后快速排查网络故障。

  • 成本管理:混合云架构下,了解不同业务对资源的使用情况有助于精确地计算云服务成本,帮助您优化成本结构。

场景示例

本文以下图场景为例。某企业在华东1(杭州)地域,使用两个VPC部署不同业务,且共用物理专线与本地IDC相连。IT部门使用流日志监控分析VPC中不同业务流量对物理专线资源的占用情况,为网络资源规划、改善网络性能提供指导。

image

准备工作

  • 在阿里云华东1(杭州)地域,通过高速通道物理专线实现本地IDC接入阿里云,并通过云企业网实现本地IDC服务器对云上VPCECS实例的访问。具体操作,请参见本地IDC通过专线访问云服务器ECS

    说明

    本文示例中需要将VBR、VPC1VPC2加入同一个云企业网中。加入后,VPCVBR实例的路由条目会自动发布到云企业网中,VPCVBR实例能从云企业网中学习对方的路由,实现本地IDCVPC之间的网络互通。

  • 本文示例中的网段规划如下表所示。您也可以自行规划网段,请确保网段之间没有重叠。

    资源

    网段规划

    服务器或客户端地址

    本地IDC

    10.1.1.0/24

    客户端地址:10.1.1.70

    VPC1

    192.168.20.0/24

    ECS01实例:192.168.20.5

    ECS02实例:192.168.20.6

    ECS03实例:192.168.20.7

    VPC2

    192.168.10.0/24

    ECS04实例:192.168.10.75

    ECS05实例:192.168.10.76

    ECS06实例:192.168.10.77

    VBR

    VLAN:1

    阿里云侧IPv4互联IP10.0.0.1

    客户侧IPv4互联IP10.0.0.2

    IPv4子网掩码255.255.255.252

    不涉及

  • 创建流日志前,您需要在日志服务产品页开通日志服务。

操作步骤

步骤一:创建流日志

按照以下步骤分别为VPC1VPC2创建流日志,捕获VPC中所有弹性网卡的流量。

  1. 登录专有网络管理控制台
  2. 在左侧导航栏,单击运维与监控>流日志。在顶部菜单栏,选择华东1(杭州)地域

  3. 流日志页面,单击创建流日志,根据以下信息配置流日志。

    以下仅列举本文强相关的配置项,其余配置项保持默认值。更多信息,请参见创建或删除流日志

    配置项

    说明

    资源类型

    选择要捕获流量的资源类型,本文选择专有网络

    资源实例

    选择要捕获流量的资源实例。本文分别选择VPC1VPC2。

    流量类型

    选择要捕获流量的类型,本文选择全部流量

    项目(Project)

    选择存储捕获流量的项目,VPC1选择新建 Project,VPC2选择VPC1所属的项目。

    本文将VPC1VPC2的日志投递到同一个项目(Project)和同一个日志库(Logstore)中,以便后续查询分析日志。

    日志库(Logstore)

    选择存储捕获流量的日志库,VPC1选择新建 Logstore,VPC2选择VPC1所属的日志库。

    开启流日志分析报表功能

    本文选择开启该功能。

步骤二:查看流日志

  1. 流日志页面,找到目标流日志,单击日志库名称的链接。

  2. 根据下图示例顺序,查看不同业务(不同VPC)流入本地IDC的流量情况。flowlog.png

    序号

    步骤描述

    输入以下SQL语句对日志进行聚合和排列,查看不同VPC流入本地IDC流量的占比情况:

    action: ACCEPT and srcaddr: 192.168.* and dstaddr:10.1.* | 
    WITH 
        vpc1_traffic AS (
            SELECT 
                date_trunc('minute',__time__) AS minute,
                SUM(bytes*8/(case WHEN "end"-start=0 THEN 1 else "end"-start end)) AS total_vpc1_traffic
            FROM 
                log
            WHERE 
                srcaddr LIKE '192.168.20.%'
            GROUP BY 
                date_trunc('minute',__time__)
        ),
        vpc2_traffic AS (
            SELECT 
                date_trunc('minute',__time__) AS minute,
                SUM(bytes*8/(case WHEN "end"-start=0 THEN 1 else "end"-start end)) AS total_vpc2_traffic
            FROM 
                log
            WHERE 
                srcaddr LIKE '192.168.10.%'
            GROUP BY 
                date_trunc('minute',__time__)
        )
    SELECT 
        COALESCE(vpc1_traffic.minute, vpc2_traffic.minute) AS minute,
        (COALESCE(vpc1_traffic.total_vpc1_traffic, 0) * 100/ NULLIF((COALESCE(vpc1_traffic.total_vpc1_traffic, 0) + COALESCE(vpc2_traffic.total_vpc2_traffic, 0)), 0)) AS vpc1_percentage, 
        (COALESCE(vpc2_traffic.total_vpc2_traffic, 0) * 100/ NULLIF((COALESCE(vpc1_traffic.total_vpc1_traffic, 0) + COALESCE(vpc2_traffic.total_vpc2_traffic, 0)), 0)) AS vpc2_percentage
    FROM vpc1_traffic FULL OUTER JOIN vpc2_traffic ON vpc1_traffic.minute = vpc2_traffic.minute 
    ORDER BY minute

    SQL语句定义了时间minute、VPC1流量占比vpc1_percentage、VPC2流量占比vpc2_percentage三个参数,并按minute从小到大排序。SQL语句过滤条件取值说明如下,其余字段可参照示例值输入。

    • dstaddr:本地IDC的网段。

    • srcaddr:源地址网段,可以匹配两个VPC的网段。

    • action:筛选允许通过(ACCEPT)的流量信息。

    • vpc1_traffic子查询中,srcaddr指定为VPC1的网段。

    • vpc2_traffic子查询中,srcaddr指定为VPC2的网段。

    单击查看SQL语句详细说明。

    • 过滤条件:

      • srcaddr:192.168.*,过滤源地址以192.168.*开头的日志。

      • dstaddr:10.1.*,过滤目的地址以10.1.*开头的日志。

      • action:ACCEPT,过滤action字段取值为ACCEPT的日志。

    • 主查询

      • 使用FULL OUTER JOINvpc1_trafficvpc2_traffic的结果根据minute字段连接在一起。

      • 计算每分钟内两个VPC流量的百分比:

        • vpc1_percentage表示VPC1的流量在总流量中的占比。

        • vpc2_percentage表示VPC2的流量在总流量中的占比。

      • 查询结果按minute升序排序。

    • WITH子查询:

      SQL语句中包含vpc1_trafficvpc2_traffic两个子查询,以vpc1_traffic子查询为例进行说明:

      • 使用date_trunc函数将Unix 时间戳(__time__字段)的精度降低为分钟,并命名为minute

      • 使用SUM函数得到某一分钟内总的流量速率,单位bit/s,并命名为total_vpc1_traffic

      • 过滤源地址为192.168.20.*(VPC1下的网段)的流量记录。

      • 按照分钟进行分组。

    选择要查看流日志的时间。

    单击统计图表页签,单击FC4CF495-8D94-49A7-855E-787226E92CAF.png图标选择线图 Pro格式。

    查询分析配置区域,设置以下参数信息:

    • x轴字段:设置为minute

    • y轴字段:设置为vpc1_percentagevpc2_percentage

    标准配置区域,设置格式化percent(1-100)

    其余参数保持默认值。

    单击查询/分析,即可查看不同业务(不同VPC)流入本地IDC的流量情况。

相关文档