Analizar las dependencias de red

En esta página se describe cómo generar y analizar el informe de dependencias de red en Migration Center.

Información general

El informe de dependencias de red proporciona datos agregados mensuales sobre las conexiones a tus servidores y bases de datos. El informe de dependencias de red le permite ver todas las conexiones a los recursos de su infraestructura y el número de veces que Migration Center observa la conexión, agregadas mensualmente.

Para recoger datos de dependencias de red, deje que el cliente de detección se ejecute durante un periodo y habilite la sincronización de los datos con Migration Center. Cuanto más tiempo ejecutes la recogida, más datos tendrá Migration Center para analizar las estadísticas sobre las dependencias de tu red. Centro de Migración identifica todas las conexiones de red de los recursos analizados. Los recursos de destino de una conexión pueden ser recursos de tu inventario de Migration Center que hayas descubierto con el cliente de descubrimiento, recursos que hayas importado manualmente o incluso recursos desconocidos que sean externos a tu entorno.

El informe de dependencias de red es útil en los siguientes casos:

  • Recoger datos sobre las conexiones a servidores y bases de datos para identificar los recursos que pertenecen a la misma aplicación
  • Identificar las conexiones de red de interés en un grupo de recursos, como todos los servidores que usan el puerto estándar de MySQL
  • Identificar los recursos que faltan en su inventario

Puedes descargar el informe de dependencias de red como un archivo CSV desde Migration Center. Después, puede realizar el análisis con BigQuery y las consultas de ejemplo que proporciona Migration Center, o bien usar cualquier otra herramienta de terceros.

Limitaciones

  • Para recoger datos de conexión en tu infraestructura, debes usar el cliente de descubrimiento.
  • Los datos de conexiones de red solo se recogen con el método de análisis del SO. El análisis de vSphere no admite la recogida de datos de red.

Antes de empezar

  • Antes de crear un informe de dependencias de red, debe tener la recogida de datos de rendimiento funcionando con el cliente de descubrimiento.

  • Antes de analizar el informe de dependencias de red con BigQuery, haga lo siguiente:

Generar el informe de dependencias de red

Para generar un informe de dependencias de red, sigue estos pasos:

  1. En la Google Cloud consola, ve a la página Crear informes.

    Ir a Crear informes

  2. Haz clic en Exportaciones de dependencias de red.

  3. En la lista de grupos, seleccione los grupos de los que quiera generar el informe y, a continuación, haga clic en Exportar.

  4. En el cuadro de diálogo que aparece, haz clic en Exportar.

    El informe exportado puede tardar hasta una hora en generarse. Una vez que se haya generado el informe, se abrirá la página Dependencias de la red.

  5. Para descargar un informe específico, haga clic en Descargar.

Analizar el informe de dependencias de red en BigQuery

En las siguientes secciones se incluyen algunas consultas de ejemplo para analizar situaciones habituales en BigQuery. Para poder ejecutar una consulta, debe subir su archivo CSV a BigQuery.

Para usar BigQuery, se te factura según los precios de BigQuery.

Identificar los recursos con más conexiones

La siguiente consulta es útil para identificar los recursos que tienen el mayor número de conexiones en el grupo.

SELECT
 LocalVMName, SUM(ConnectionCount) as TotalCount
FROM
 PROJECT.DATASET.TABLE
GROUP BY ALL
ORDER BY TotalCount DESC

Haz los cambios siguientes:

  • PROJECT: el proyecto Google Cloud en el que has subido el archivo CSV.
  • DATASET: el conjunto de datos de BigQuery.
  • TABLE: la tabla de BigQuery.

A continuación se muestra un ejemplo de resultado de esta consulta:

LocalVMName TotalCount
VM-x5ua3o2w 9970
VM-glg5np3w 9763
VM-q3z4zfp8 9557
VM-2nnsrt37 9372
VM-1oah56hn 9350

Identificar conexiones por profundidad del grafo

La siguiente consulta es útil para identificar todos los recursos que se conectan a uno determinado con un número específico de conexiones intermedias. Por ejemplo:

  • Si la profundidad del gráfico es 1, se encontrarán todos los recursos conectados directamente al recurso principal.
  • Si la profundidad del gráfico es 2, encontrarás todos los recursos conectados directamente a otros recursos, que a su vez están conectados directamente al recurso principal.
DECLARE
 local_vm_name STRING DEFAULT MAIN_ASSET;
DECLARE
 depth INT64 DEFAULT DEPTH;
CREATE TEMP FUNCTION
 recursiveConnections(localVmName STRING,
   connectionsArray ARRAY<STRING>,
   depth INT64)
 RETURNS STRING
 LANGUAGE js AS r"""
 const connections = connectionsArray.map(connection => connection.split('|||'))
   .filter(connectionTuple => connectionTuple[1] !== 'Unscanned Device');
 const connectedAssets = new Set([localVmName]);
 for (let i = 0; i < depth; i++) {
   const currentSet = new Set(connectedAssets);
   for (const connection of connections) {
     /* Look for connections where the asset is the local asset */
     if (currentSet.has(connection[0])) {
       connectedAssets.add(connection[1]);
     }
     /* Look for connections where the asset is the remote asset */
     if (currentSet.has(connection[1])) {
       connectedAssets.add(connection[0]);
     }
   }
 }
 connectedAssets.delete(localVmName);
 return Array.from(connectedAssets).sort().join(', ');
""";
SELECT
 local_vm_name AS LocalVMName,
 recursiveConnections(local_vm_name,
   ARRAY_AGG(CONCAT(LocalVMName, '|||', RemoteVMName)),
   depth) AS Connections
FROM
 PROJECT.DATASET.TABLE

Haz los cambios siguientes:

  • MAIN_ASSET: el nombre del recurso del que quieres identificar las conexiones.
  • DEPTH: la profundidad del gráfico.

A continuación se muestra un ejemplo de resultado de esta consulta:

LocalVMName Conexiones
VM-lv8s148f VM-2z8wp3ey,
VM-66rq2x2y,
VM-94uwyy8h,
VM-ccgmqqmb,
VM-ctqddf0u,
VM-og4n77lb,
...

Filtrar conexiones por intervalos de IP y puertos

La siguiente consulta le permite identificar los recursos que usan direcciones IP y puertos en los intervalos que defina.

CREATE TEMP FUNCTION
 ipBetween(value STRING,
   low STRING,
   high STRING) AS ( NET.IPV4_TO_INT64(NET.IP_FROM_STRING(value)) BETWEEN NET.IPV4_TO_INT64(NET.IP_FROM_STRING(low))
   AND NET.IPV4_TO_INT64(NET.IP_FROM_STRING(high)) );
SELECT
 *
FROM
 PROJECT.DATASET.TABLE
WHERE
 ((LocalPort BETWEEN PORT_START
     AND PORT_END)
   OR (RemotePort BETWEEN PORT_START
     AND PORT_END))
 AND (ipBetween(LocalIP,
     IP_START,
     IP_END)
   OR ipBetween(RemoteIP,
     IP_START,
     IP_END))

Haz los cambios siguientes:

  • PORT_START: el puerto inicial del intervalo de puertos. Por ejemplo, 0.
  • PORT_END: el puerto final del intervalo de puertos. Por ejemplo, 1024.
  • IP_START: la dirección IP inicial del intervalo, por ejemplo, "10.26.0.0".
  • IP_END: la dirección IP final del intervalo, por ejemplo, "10.26.255.255".

A continuación se muestra un ejemplo de resultado de esta consulta:

SampleRange LocalVMName LocalAssetID LocalGroups LocalIP LocalPort Protocolo LocalProcessName RemoteVMName RemoteAssetID RemoteGroups RemoteIP RemotePort ConnectionCount
2025-06-02T05:59:53Z-2025-06-02T05:59:53Z VM-0lf60off projects/982941055174/locations/us-central1/assets/0lf60off Grupo 1 10.0.45.138 272 tcp bash VM-0spdofr9 projects/982941055174/locations/us-central1/assets/0spdofr9 144.35.88.1 272 499
2025-07-02T05:59:53Z-2025-07-02T05:59:53Z VM-goa5uxhi projects/982941055174/locations/us-central1/assets/goa5uxhi Grupo 3 10.187.175.82 781 tcp bash VM-27i5d2uj projects/982941055174/locations/us-central1/assets/27i5d2uj 22.99.72.109 781 980
2025-08-02T05:59:53Z-2025-08-02T05:59:53Z VM-7vwy31hg projects/982941055174/locations/us-central1/assets/7vwy31hg Grupo 1 10.58.166.132 21 tcp bash VM-2gq0fl37 projects/982941055174/locations/us-central1/assets/2gq0fl37 147.19.84.135 21 514

Identificar recursos no analizados en la red

La siguiente consulta le permite identificar cualquier recurso no analizado de su red. Un recurso no analizado es una conexión a una dirección IP remota que no está asociada a ningún recurso de su inventario de Migration Center. De esta forma, puede identificar los recursos que faltan y que necesita para realizar la evaluación.

CREATE TEMP FUNCTION
 ipBetween(value STRING,
   low STRING,
   high STRING) AS ( NET.IPV4_TO_INT64(NET.IP_FROM_STRING(value)) BETWEEN NET.IPV4_TO_INT64(NET.IP_FROM_STRING(low))
   AND NET.IPV4_TO_INT64(NET.IP_FROM_STRING(high)) );
SELECT
 STRING_AGG(LocalIP, ', ') AS LocalIPs,
 RemoteIP
FROM
 PROJECT.DATASET.TABLE
WHERE
 RemoteVMName = 'Unscanned Device'
 AND ipBetween(LocalIP,
   IP_START,
   IP_END)
 AND ipBetween(RemoteIP,
   IP_START,
   IP_END)
GROUP BY
 RemoteIP

Haz los cambios siguientes:

  • IP_START: la dirección IP inicial del intervalo, por ejemplo, "10.26.0.0".
  • IP_END: la dirección IP final del intervalo, por ejemplo, "10.26.255.255".