Conectarse a Datadog a través de AWS PrivateLink

Datadog PrivateLink no admite el sitio de Datadog seleccionado.

Esta guía te orienta para configurar AWS PrivateLink para su uso con Datadog.

Información general

El proceso general consiste de configurar un endpoint interno en tu VPC a la que los Datadog Agents pueden enviar datos. Tu endpoint de VPC se interconecta con el endpoint dentro de la VPC de Datadog.

Esquema de diagrama de VPC

Configuración

Datadog expone endpoints de AWS PrivateLink en .

Sin embargo, para dirigir el tráfico a la oferta de PrivateLink de Datadog en desde otras regiones, utiliza la [interconexión de Amazon VPC] entre regiones2. La interconexión de VPC entre regiones te permite establecer conexiones entre VPCs en diferentes regiones de AWS. Esto permite que los recursos de la VPC en diferentes regiones se comuniquen entre sí usando direcciones IP privadas. Para obtener más detalles, consulta interconexión de Amazon VPC.

  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. Completa el cuadro de texto Service Name (Nombre de servicio) según para qué servicio deseas establecer AWS PrivateLink:

    Nombre de servicio de VPC
DatadogNombre de servicio de PrivateLinkNombre de DNS privado
Logs (entrada HTTP del Agent)
Logs (entrada HTTP del usuario)
APIapi.
Métricasmetrics.agent.
Contenedoresorchestrator.
Procesoprocess.
Perfiladointake.profile.
Trazastrace.agent.
Database Monitoringdbm-metrics-intake.
Configuración remotaconfig.
  1. Haz clic en Verify (Verificar). Si esto no devuelve Service name found (Nombre de servicio encontrado), contacta con el soporte de Datadog.

  2. Elige la VPC y las subredes que deberían interconectarse con el endpoint de servicio de Datadog VPC.

  3. Asegúrate de que en Enable DNS name (Habilitar nombre de DNS), Enable for this endpoint (Habilitar para este endpoint) esté marcado:

    Habilitar DNS privado
  4. Elige el grupo de seguridad de tu preferencia para controlar qué puede enviar tráfico a este endpoint de VPC.

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

  5. Haz clic en Create endpoint (Crear endpoint) en la parte inferior de la pantalla. Si es correcto, se mostrará lo siguiente:

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

  7. Espera que el estado cambie de Pending (Pendiente) a Available (Disponible). Esto puede tomar hasta 10 minutos. Una vez que el estado es Available (Disponible), puedes usar AWS PrivateLink.

    Estado de VPC
  8. Si ejecutas una versión del Datadog Agent anterior a v6.19 o v7.19 para recopilar datos de logs, asegúrate de que el Agent esté configurado para enviar logs por HTTPS. Si los datos aún no están allí, añade lo siguiente al archivo de configuración datadog.yaml del Agent:

    logs_config:
        force_use_http: true
    

    Si estás utilizando el Agent en contenedores, establece la siguiente variable de entorno en su lugar:

    DD_LOGS_CONFIG_FORCE_USE_HTTP=true
    

    Esta configuración es obligatoria para enviar logs a Datadog con AWS PrivateLink y el Datadog Agent y no es obligatoria para la extensión de Lambda. Para más detalles, consulta Recopilación de logs del Agent.

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

  10. Reinicia tu Agent para enviar datos a Datadog mediante AWS PrivateLink.

Interconexión de Amazon VPC

  1. Conecta la consola de AWS a la región y crea un endpoint de VPC.
Crear un endpoint de VPC
  1. Selecciona Find service by name (Buscar servicio por nombre).
  2. Completa el cuadro de texto Service Name (Nombre de servicio) según el servicio para el que quieres establecer AWS PrivateLink:
Nombre de servicio de VPC
DatadogNombre de servicio de PrivateLink
Logs (entrada HTTP del Agent)
Logs (entrada HTTP del usuario)
API
Métricas
Contenedores
Proceso
Perfilado
Traces
Database Monitoring
Configuración remota
  1. Haz clic en Verify (Verificar). Si no devuelve Service name found (Nombre de servicio encontrado), conecta con el soporte de Datadog.

  2. A continuación, elige la VPC y las subredes que deberían interconectarse con el endpoint de servicio de Datadog VPC. No selecciones Enable DNS name (Habilitar nombre de DNS), ya que interconexión de VPC requiere que el DNS se configure manualmente.

  3. Elige el grupo de seguridad de tu preferencia para controlar qué puede enviar tráfico a este endpoint de VPC.

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

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

Endpoint de VPC creado
  1. Haz clic en el ID de endpoint de VPC para comprobar el estado.
  2. Espera que el estado cambie de Pending (Pendiente) a Available (Disponible). Esto puede tomar hasta 10 minutos.
  3. Después de crear el endpoint, utiliza la interconexión de VPC para hacer que el endpoint de PrivateLink esté disponible en otra región a fin de enviar telemetría a Datadog mediante PrivateLink. Para obtener más información, lee la página Work With VPC Peering connections en AWS.
Estado de la VPC

Amazon Route53

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

Usa la lista a continuación para asignar el servicio y nombre de DNS a diferentes partes de Datadog:

DatadogNombre de servicio de PrivateLinkNombre de DNS privado
Logs (entrada HTTP del Agent)agent-http-intake.logs.
Logs (entrada HTTP del usuario)http-intake.logs.
APIapi.
Métricasmetrics.agent.
Contenedoresorchestrator.
Procesoprocess.
Perfiladointake.profile.
Trazastrace.agent.
Database Monitoringdbm-metrics-intake.
Configuración remotaconfig.

También puedes encontrar esta información al consultar a la API de AWS, DescribeVpcEndpointServices, o mediante el siguiente comando

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

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

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

Esto devuelve metrics.agent. el nombre de la 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 los 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 la VPC), e introduce el nombre del DNS del endpoint de la VPC asociado al nombre del DNS.

    Notas:

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

  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 la 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, el SDK o la API de AWS.

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

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

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

Solucionar problemas de resolución y conectividad del DNS

Los nombres del 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 para salir 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 de las VPC a las que está asociada la PHZ. Consulta la Configuración de la VPC de Amazon.

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, establece la siguiente variable de entorno en su lugar:

    DD_LOGS_CONFIG_FORCE_USE_HTTP=true
    

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

  2. Si tu extensión Lambda carga la clave de API de Datadog desde el administrador de secretos de AWS utilizando el ARN especificado por la variable de entorno DD_API_KEY_SECRET_ARN, es necesario crear un endpoint de la VPC para el administrador de secretos.

  3. Reinicia el Agent.

Referencias adicionales