Saltar al contenido

¿Cómo puedo encontrar los principales contribuyentes al tráfico a través de la puerta de enlace NAT en mi Amazon VPC?

7 minutos de lectura
0

Quiero encontrar los principales contribuyentes al tráfico a través de la puerta de enlace NAT de mi Amazon Virtual Private Cloud (Amazon VPC).

Descripción corta

Para encontrar los principales impulsores de tráfico de la puerta de enlace NAT en tu instancia de Amazon VPC, usa las métricas de Amazon CloudWatch para identificar el momento en que se producen los picos de tráfico.

A continuación, utiliza uno de los métodos siguientes para identificar las instancias de Amazon VPC que provocan picos de tráfico:

  • Si tus registros de flujo de Amazon VPC publican datos en CloudWatch, utiliza Registros de CloudWatch.
  • Si tus registros de flujo de Amazon VPC publican datos en Amazon Simple Storage Service (Amazon S3), utiliza Amazon Athena.

Resolución

Requisito previo: Comprueba que hayas activado los registros de flujo de Amazon VPC en tu interfaz de red elástica de Amazon VPC o puerta de enlace NAT. Si no activaste los registros de flujo de Amazon VPC, crea registros de flujo que se publiquen en Registros de Amazon CloudWatch o Amazon S3.

Utiliza Amazon CloudWatch para ver las métricas de tu puerta de enlace NAT

Utiliza las siguientes métricas de Amazon CloudWatch para las métricas de tu puerta de enlace NAT a fin de identificar los plazos que se corresponden con los picos de tráfico:

  • Usa BytesInFromSource para indicar el tráfico que se carga en las instancias de tu puerta de enlace NAT.
  • Usa BytesInFromDestination para indicar el tráfico que se descarga desde las instancias de tu puerta de enlace NAT.

A continuación, consulta los registros de flujo de Amazon VPC para ver las instancias que experimentan un tráfico elevado durante los períodos de tiempo que identificaste. Puedes usar Información de registros de Amazon CloudWatch o Amazon Athena para consultar los registros de flujo de Amazon VPC. Para obtener más información, consulte Consulta de los registros de flujo de Amazon VPC.

Uso de Información de registros de CloudWatch para identificar las instancias que provocan picos de tráfico

Si tus registros de flujo de Amazon VPC publican datos en CloudWatch, usa Información de registros de CloudWatch para consultar tus registros de flujo de Amazon VPC. En el menú desplegable Seleccionar grupos de registro, elige el grupo de registros de tu puerta de enlace NAT. A continuación, elige Personalizado para establecer el intervalo de tiempo que corresponde a los picos de tráfico que identificaste.

Usa una de las siguientes consultas para mostrar las instancias que provocan picos de tráfico según tu caso práctico. También puedes usar una plantilla de CloudFormation para crear un panel de CloudWatch que incorpore las siguientes consultas. Para ver un ejemplo de plantilla de CloudFormation, consulta aws-cloudformation-templates en el sitio web de Github.

Nota: En las siguientes consultas, sustituye example-NAT-private-IP por la dirección o direcciones IP privadas de la puerta de enlace NAT. Para consultas de una sola IP, usa la dirección IP privada principal de tu puerta de enlace NAT. Sustituye example-VPC-CIDR por el intervalo CIDR de tu instancia de Amazon VPC.

Para identificar las instancias que envían la mayor parte del tráfico a través de la puerta de enlace NAT, ejecuta la siguiente consulta:

filter (dstAddr in ["example-NAT-private-IP", "example-NAT-private-IP", "example-NAT-private-IP"] AND isIpv4InSubnet(srcAddr, "example-VPC-CIDR"))  
| stats sum(bytes) as bytesTransferred by srcAddr, dstAddr  
| sort bytesTransferred desc

Para identificar el tráfico que entra y sale de las instancias, ejecuta la siguiente consulta:

filter (dstAddr in ["example-NAT-private-IP", "example-NAT-private-IP", "example-NAT-private-IP"] AND isIpv4InSubnet(srcAddr, "example-VPC-CIDR"))  
OR (srcAddr in ["example-NAT-private-IP", "example-NAT-private-IP", "example-NAT-private-IP"] AND isIpv4InSubnet(dstAddr, "example-VPC-CIDR"))  
| stats sum(bytes) as bytesTransferred by srcAddr, dstAddr  
| sort bytesTransferred desc

Para identificar los destinos de Internet a los que acceden tus instancias con más frecuencia, ejecuta las siguientes consultas:

  • Para cargas a través de una puerta de enlace NAT:

    filter (srcAddr in ["example-NAT-private-IP", "example-NAT-private-IP", "example-NAT-private-IP"] AND not isIpv4InSubnet(dstAddr, "example-VPC-CIDR"))  
    | stats sum(bytes) as bytesTransferred by srcAddr, dstAddr  
    | sort bytesTransferred desc  
    | limit 10
  • Para descargas a través de una puerta de enlace NAT:

    filter (dstAddr in ["example-NAT-private-IP", "example-NAT-private-IP", "example-NAT-private-IP"] AND not isIpv4InSubnet(srcAddr, "example-VPC-CIDR"))  
    | stats sum(bytes) as bytesTransferred by srcAddr, dstAddr  
    | sort bytesTransferred desc  
    | limit 10

Para identificar las instancias que envían la mayor parte del tráfico a destinos de Internet a través de la puerta de enlace NAT, ejecuta la siguiente consulta:

  • Para cargas a través de una puerta de enlace NAT:

    parse @message "* * * * * * * * * * * * * * * " as version, account_id, interface_id, srcaddr, dstaddr, srcport, dstport, protocol, packets, bytes, start, end, action, log_status, pkt_srcaddr, pkt_dstaddr| filter (dstaddr like 'example-NAT-private-IP' and isIpv4InSubnet(pkt_srcaddr, 'example-VPC-CIDR'))   
    | stats sum(bytes) as bytesTransferred by pkt_srcaddr, pkt_dstaddr  
    | sort bytesTransferred desc  
    | limit 10
  • Para descargas a través de una puerta de enlace NAT:

    parse @message " * * * * * * * * * * * * * * *" as version, account_id, interface_id, srcaddr, dstaddr, srcport, dstport, protocol, packets, bytes, start, end, action, log_status, pkt_srcaddr, pkt_dstaddr| filter (srcaddr like 'example-NAT-private-IP' and !isIpv4InSubnet(pkt_srcaddr, 'example-VPC-CIDR'))   
    | stats sum(bytes) as bytesTransferred by pkt_srcaddr, pkt_dstaddr  
    | sort bytesTransferred desc  
    | limit 10

Para identificar las instancias que se comunican con los destinos de Internet, usa registros de flujo de VPC personalizados. Asegúrate de que los registros de flujo de la VPC incluyan los campos pkt-srcaddr y pkt-dstaddr. Para obtener más información, consulta Tráfico a través de una puerta de enlace NAT.

Uso de Amazon Athena para identificar las instancias que provocan picos de tráfico

Si tus registros de flujo de Amazon VPC publican datos en Amazon S3, usa Amazon Athena para crear una tabla para tus registros de flujo. Asegúrate de agregar los siguientes filtros a la tabla para establecer el intervalo de tiempo que corresponde a los picos de tráfico que identificaste:

start>= (example-timestamp-start)  
end>= (example-timestamp-end)

Nota: Sustituye example-timestamp-start por el inicio del período que corresponde a tu pico de tráfico. Sustituye example-timestamp-end por el final del período que corresponde a tu pico de tráfico.

A continuación, consulta la tabla para ver si hay instancias que provoquen picos de tráfico.

Nota: En las siguientes consultas, sustituye example-NAT-private-IP por la dirección IP privada de la puerta de enlace NAT. Sustituye example-VPC-CIDR por el intervalo CIDR de tu instancia de Amazon VPC. Sustituye example-database-name.example-table-name por el nombre de la base de datos y la tabla. Sustituye example-octets por los dos primeros octetos del intervalo de CIDR de tu instancia de Amazon VPC. Por ejemplo, si el intervalo de CIDR es 10.24.34.0/23, sustituye example-octets por 10.24.

Para identificar las instancias que envían la mayor parte del tráfico a través de la puerta de enlace NAT, ejecuta la siguiente consulta:

SELECT srcaddr,dstaddr,sum(bytes) FROM example-database-name.example-table-name WHERE srcaddr like example-octets AND dstaddr like example-NAT-private-IP group by 1,2 order by 3 desclimit 10;

Para identificar el tráfico que entra y sale de las instancias, ejecuta la siguiente consulta:

SELECT srcaddr,dstaddr,sum(bytes) FROM example-database-name.example-table-name WHERE (srcaddr like example-octets AND dstaddr like example-NAT-private-IP) or (srcaddr like example-NAT-private-IP AND dstaddr like example-octets) group by 1,2 order by 3 desclimit 10;

Para identificar los destinos de Internet a los que acceden tus instancias con más frecuencia, ejecuta las siguientes consultas:

  • Para cargas a través de una puerta de enlace NAT:

    SELECT srcaddr,dstaddr,sum(bytes) FROM example-database-name.example-table-name WHERE (srcaddr like example-NAT-private-IP AND dstaddr not like example-octets) group by 1,2 order by 3 desclimit 10;0
  • Para descargas a través de una puerta de enlace NAT:

    SELECT srcaddr,dstaddr,sum(bytes) FROM example-database-name.example-table-name WHERE (srcaddr not like example-octets AND dstaddr like example-NAT-private-IP) group by 1,2 order by 3 desclimit 10;

Información relacionada

Consultas de ejemplo

Funciones booleanas, de comparación, numéricas, de fecha y hora y otras

¿Cómo puedo usar Athena para analizar los registros de flujo de VPC?

Using AWS Cost Explorer to analyze data transfer costs (Uso del Explorador de costes de AWS para analizar los costes de transferencia de datos)