Conectarse a Datadog a través de PrivateLink de AWS

Datadog PrivateLink no admite el sitio Datadog seleccionado.

Esta guía te explica cómo configurar AWS PrivateLink para su uso con Datadog.

Resumen

El proceso general consiste en configurar un endpoint interno en tu VPC al que los Agents de Datadog locales puedan enviar datos. El endpoint de tu VPC se interconecta entonces con el endpoint de la VPC de Datadog.

Esquema gráfico de la VPC

Configuración

Datadog expone endpoints PrivateLink de AWS en .

Sin embargo, para dirigir el tráfico a la oferta PrivateLink de Datadog en desde otras regiones, utiliza la interconexión de VPC de Amazon interregional. La interconexión de VPC interregional te permite establecer conexiones entre VPC de diferentes regiones de AWS. Esto permite que los recursos de VPC de diferentes regiones se comuniquen entre sí utilizando direcciones IP privadas. Para obtener más información, consulta ¿Qué es una interconexión de VPC de Amazon?.

  1. Conecta la consola de AWS a la región y crea un endpoint de VPC.

    Crear un endpoint de VPC
  2. Selecciona Find service by name (Buscar servicio por nombre).

  3. Rellena el cuadro de texto Service Name (Nombre del servicio), según el servicio para el que quieras establecer PrivateLink de AWS:

    Nombre del servicio de VPC
DatadogNombre del servicio PrivateLinkNombre del DNS privado
Logs (Consumo HTTP del Agent)
Logs (Consumo HTTP del usuario)
APIapi.
Métricasmetrics.agent.
Contenedores orchestrator.
Procesoprocess.
Perfiles intake.profile.
Trazas (traces)trace.agent.
Monitorización de bases de datosdbm-metrics -intake .
Configuración remotaconfig.
  1. Haz clic en Verify (Verificar). Si el resultado no es Service Name found (Nombre del servicio encontrado), ponte en contacto con el servicio de soporte de Datadog.

  2. Elige la VPC y las subredes que deben ser interconectadas con el servicio del endpoint de VPC de Datadog.

  3. Asegúrate de que en Enable DNS Name (Habilitar nombre del DNS), Enable this endpoint (Habilitar para este endpoint) está seleccionado:

    Habilitar DNS privado
  4. Selecciona el grupo de seguridad que quieres que controle qué instancia puede enviar tráfico a este endpoint de la VPC.

    Nota: El grupo de seguridad debe aceptar tráfico entrante en el puerto TCP 443.

  5. Haz clic en Create endpoint (Crear endpoint), en la parte inferior de la pantalla. Si todo sale bien, se muestra lo siguiente:

    Se ha creado el endpoint de la VPC
  6. Haz clic en el ID del endpoint de la VPC para comprobar su estado.

  7. Espera a que el estado pase de Pending (Pendiente) a Available (Disponible). Esto puede tardar hasta 10 minutos. Una vez que muestre Available, puedes utilizar PrivateLink de AWS.

    Estado de la VPC
  8. Si estás recopilando datos de logs, asegúrate de que tu Agent está configurado para enviar logs a través de HTTPS. Si los datos ya no están ahí, añade lo siguiente al archivo de configuración del Agent datadog.yaml:

logs_config: use_http: true ```

Si estás utilizando un contenedor del Agent, establece la siguiente variable de entorno en su lugar:
DD_LOGS_CONFIG_USE_HTTP=true

Esta configuración es necesaria cuando se envían logs a Datadog con PrivateLink de AWS y Datadog Agent, y no es necesaria para la extensión Lambda. Para obtener más información, consulta la [colección de logs del Agent][3].

  1. Si tu extensión Lambda carga la clave de API de Datadog desde AWS Secrets Manager utilizando el ARN especificado por la variable de entorno DD_API_KEY_SECRET_ARN, necesitas crear un endpoint de VPC para Secrets Manager.

  2. Reinicia tu Agent para enviar datos a Datadog a través de PrivateLink de AWS.

Interconexión de VPC de Amazon

  1. Conecta la consola de AWS a la región y crea un endpoint de VPC.
Crear endpoint de VPC
  1. Selecciona Search Service by Name (Buscar servicio por nombre).
  2. Rellena el cuadro de texto Service Name (Nombre del servicio), según el servicio para el que quieras establecer PrivateLink de AWS:
Nombre del servicio de VPC
DatadogNombre del servicio PrivateLink
Logs (Consumo HTTP del Agent)
Logs (Consumo HTTP del usuario)
API
Métricas
Contenedores
Proceso
Perfiles
Trazas (traces)
Monitorización de bases de datos
Configuración remota
  1. Haz clic en Verify (Verificar). Si no obtienes Service Name found (Nombre del servicio encontrado), ponte en contacto con el soporte de Datadog.

  2. A continuación, selecciona la VPC y las subredes que se deben interconectar con el servicio del endpoint de VPC de Datadog. No selecciones Enable DNS Name (Habilitar nombre del DNS), ya que la interconexión de VPC requiere que el DNS se configure manualmente.

  3. Selecciona el grupo de seguridad de tu elección para controlar qué instancia puede enviar tráfico a este endpoint de VPC.

    **Nota El grupo de seguridad debe aceptar tráfico entrante en el puerto TCP 443.

  4. Haz clic en Create endpoint (Crear endpoint) en la parte inferior de la pantalla. Si todo sale bien, se muestra lo siguiente:

Se ha creado el endpoint de la VPC
  1. Haz clic en el ID del endpoint de la VPC para comprobar su estado.
  2. Espera a que el estado pase de Pending (Pendiente) a Available (Disponible). Esto puede tardar hasta 10 minutos.
  3. Luego de crear el endpoint, utiliza la interconexión de VPC para que el endpoint de PrivateLink esté disponible en otra región para enviar telemetría a Datadog a través de PrivateLink. Para obtener más información, lee la página Trabajar con interconexiones de VPC en AWS.
Estado de la VPC

Amazon Route53

  1. Crea una zona alojada privada de Route53 para cada servicio para el que hayas creado un endpoint PrivateLink de AWS. Adjunta la zona privada alojada a la VPC en .
Crear una zona alojada privada de Route53

Utiliza el siguiente lista para asignar el servicio y el nombre del DNS a diferentes partes de Datadog:

DatadogNombre del servicio PrivateLinkNombre del DNS privado
Logs (Consumo HTTP del Agent)agent-http-intake .logs.
Logs (Consumo HTTP del usuario)http-intake.logs.
API api.{{ < region-param key=“dd_site” >}}
metrics metrics.agent.
Contenedores orchestrator.
Procesoprocess.
Perfiles intake.profile.
Trazas (traces)trace.agent.
Monitorización de bases de datosdbm-metrics-intake.
Configuración remotaconfig.

También puedes encontrar esta información enviando una consulta a la API de AWS, DescribeVpcEndpointServices, o utilizando el siguiente comando:

aws ec2 describe-vpc-endpoint-services --service-names <service-name>`

Por ejemplo, en el caso de métricas del endpoint de Datadog para :

aws ec2 describe-vpc-endpoint-services --service-names  | jq '.ServiceDetails[0].PrivateDnsName'

Esto devuelve metrics.agent.}}, el nombre de zona alojada privada que necesitas para asociar con la VPC en la que se origina el tráfico del Agent. Al anular este registro, se obtienen todos los nombres de host de consumos relacionados con métricas.

  1. Dentro de cada nueva zona alojada privada de Route53, crea un registro A con el mismo nombre. Activa la opción Alias y, a continuación, en Route traffic to (Enrutar el tráfico a**), selecciona Alias to VPC endpoint (Alias para endpoint de VPC), , e introduce el nombre del DNS del endpoint de VPC asociado al nombre del DNS.

    Notas:

Crear un registro A
  1. Configura la interconexión de VPC y el enrutamiento entre VPC en una que contenga endpoints PrivateLink de Datadog y la VPC en la región donde se ejecutan los Agents de Datadog.

  2. Si las VPC se encuentran en diferentes cuentas de AWS, la VPC que contiene el Datadog Agent debe estar autorizada para asociarse con las zonas alojadas privadas de Route53 antes de continuar. Crea una autorización de asociación para VPC en cada zona alojada privada de Route53 utilizando la región y el ID de la VPC donde se ejecuta el Datadog Agent. Esta opción no está disponible en la consola de AWS y debe configurarse con la CLI, SDK o API de AWS.

  3. Edita la zona alojada de Route53 para añadir VPC para otras regiones.

Editar una zona alojada privada de Route53
  1. Las VPC que tienen una zona alojada privada (PHZ) adjunta necesitan tener ciertas configuraciones específicas activadas; concretamente, las opciones enableDnsHostnames y enableDnsSupport de las VPC a las que está asociada la PHZ. Consulta Consideraciones sobre el uso de una zona alojada privada.

  2. Reinicia el Agent para enviar datos a Datadog mediante PrivateLink de AWS.

Solucionar problemas de resolución y conectividad del DNS

Los nombres de DNS deberían resolverse en direcciones IP contenidas dentro del bloque CIDR de la VPC en la y las conexiones al port 443 deberían funcionar correctamente.

La conexión con el puerto 443 debería funcionar correctamente

Si el DNS se resuelve en direcciones IP públicas, significa que la zona de Route53 no se ha asociado con la VPC en la región alternativa o que el registro A no existe.

Si el DNS se resuelve correctamente, pero las conexiones al port 443 fallan, es posible que la interconexión o el enrutamiento de la VPC estén mal configurados o que el puerto 443 no tenga permiso de salida del bloque CIDR de la VPC en la .

Las VPC que tienen asociada una zona alojada privada (PHZ) necesitan tener ciertas configuraciones específicas activadas; concretamente, las opciones enableDnsHostnames y enableDnsSupport deben estar activadas en las VPC a las que está asociada la PHZ. Consulta Consideraciones sobre el uso de una zona alojada privada.

Datadog Agent

  1. Si estás recopilando datos de logs, asegúrate de que tu Agent está configurado para enviar logs a través de HTTPS. Si los datos no están ya ahí, añade lo siguiente en el archivo de configuración datadog.yaml del Agent:

    logs_config:
        force_use_http: true
    

    Si estás utilizando el Agent del contenedor, define la siguiente variable de entorno:

    DD_LOGS_CONFIG_FORCE_USE_HTTP=true
    

    Esta configuración es obligatoria cuando se envían logs a Datadog con PrivateLink de AWS y el Datadog Agent, pero no es necesaria para la extensión Lambda. Para obtener más información, consulta la sección sobre la recopilación de logs del Agent.

  2. Si tu extensión Lambda carga la clave de API de Datadog desde AWS Secrets Manager usando el ARN especificado por la variable de entorno DD_API_KEY_SECRET_ARN, tendrás que crear un endpoint de VPC para Secrets Manager.

  3. Reinicia el Agent.

Leer más