Conectarse a Datadog a través de AWS PrivateLink

Datadog PrivateLink no admite el sitio Datadog seleccionado.

Información general

Esta guía te muestra la configuración de AWS PrivateLink para su uso con Datadog. El proceso general consiste en configurar un endpoint interno en tu VPC al que los Datadog Agents locales puedan enviar datos. A continuación, el endpoint de tu VPC se vincula con el endpoint de la VPC de Datadog.

Esquema del diagrama de VPC

Datadog expone endpoints de AWS PrivateLink en .

Conectarse desde la misma región

  1. Conecta la consola de gestión AWS a la región de tu elección.

  2. En el panel de control de la VPC, en PrivateLink y Lattice, selecciona Endpoints.

  3. Haz clic en Create Endpoint (Crear endpoint):

    Página de endpoints en el dashboard de la VPC
  4. Selecciona Find service by name (Buscar servicio por nombre).

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

    Nombre del servicio de VPC
DatadogNombre del servicio PrivateLinkNombre de DNS privado
Logs (Entrada HTTP del Agent)
Logs (Entrada HTTP del usuario)
API
Métricas
Contenedores
Proceso
Generación de perfiles
Trazas (Traces)
Database Monitoring
Configuración remota
  1. Haz clic en Verify (Verificar). Si el resultado no es Service name found (Nombre de servicio encontrado), ponte en contacto con el servicio de asistencia de Datadog.

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

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

    Habilitar DNS privado
  4. Selecciona el grupo de seguridad deseado para controlar qué puede enviar tráfico al endpoint de esta 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:

    Endpoint de VPC creado
  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 AWS PrivateLink.

    Estado de la VPC
  8. Si estás ejecutando una versión del Datadog Agent anterior a v6.19 o v7.19, para recopilar 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 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 de contenedor, configura la siguiente variable de entorno:

    DD_LOGS_CONFIG_FORCE_USE_HTTP=true
    

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

  9. Si tu extension Lambda carga la clave de API 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.

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

Conectarse desde otras regiones

  1. Conecta la consola de gestión AWS a la región de tu elección.

  2. En el panel de control de la VPC, en PrivateLink y Lattice, selecciona Endpoints.

  3. Haz clic en Create Endpoint (Crear endpoint):

    Página de endpoints en el dashboard de la VPC
  4. Configura los parámetros del endpoint de la interfaz de la VPC

    1. Opcionalmente, rellena la Etiqueta de nombre.
    2. En Type (Tipo), selecciona Servicios de socio PrivateLink listos.
  5. Detecta y configura el endpoint de la interfaz con soporte entre regiones:

    1. En Service name (Nombre de servicio), rellena el nombre de servicio con un nombre de servicio PrivateLink válido de la tabla que aparece a continuación.
    2. En Service region (Región de servicio), haz clic en Enable Cross Region endpoint (Habilitar endpoint entre regiones) y selecciona .
    3. Haz clic en Verify service (Verificar servicio) y espera a recibir una notificación de Service name verified (Nombre de servicio verificado). Nota: Si no puedes verificar el servicio después de realizar los pasos anteriores, ponte en contacto con el servicio de asistencia de Datadog.
  6. En Network Settings (Configuración de red), selecciona una VPC con la que desplegar el endpoint de la interfaz de VPC.

  7. Asegúrate de que la opción Enable DNS name (Habilitar nombre de DNS) está seleccionada.

  8. En Subnets (Subredes), selecciona una o más subredes en tu VPC para el endpoint de la interfaz.

  9. En Security Groups (Grupos de seguridad), selecciona un grupo de seguridad para controlar qué puede enviar tráfico al endpoint de la VPC.

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

  10. Opcionalmente, proporciona una etiqueta de nombre y haz clic en Create endpoint (Crear endpoint).

  11. Espera unos minutos para que el estado del endpoint se actualice de Pending (Pendiente) a Available (Disponible). Puede tardar hasta 10 minutos. Si tarda más de lo esperado, ponte en contacto con el servicio de asistencia de Datadog.

Después de que el estado del endpoint se actualice a Available, puedes utilizar este endpoint para enviar telemetría a Datadog utilizando el endpoint PrivateLink de AWS.

DatadogNombre de servicio PrivateLinkNombre DNS privado
Logs (Entrada HTTP del Agent)
Logs (Entrada HTTP del usuario)
API
Métricas
Contenedores
Proceso
Generación de perfiles
Trazas (Traces)
Database Monitoring
Configuración remota

Nota: PrivateLink entre regiones no emite métricas de CloudWatch. Consulta Métricas de CloudWatch para AWS PrivateLink para obtener más información.

  1. Conecta la consola AWS a la región y crea un endpoint de VPC.
Crear endpoint de VPC
  1. Selecciona Find 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 AWS PrivateLink:
Nombre de servicio de VPC
DatadogNombre del servicio PrivateLink
Logs (Entrada HTTP del Agent)
Logs (Entrada HTTP del usuario)
API
Métricas
Contenedores
Proceso
Generación de perfiles
Trazas
Database Monitoring
Configuración remota
  1. Haz clic en Verifiy (Verificar). Si el resultado no es Service name found (Nombre de servicio encontrado), ponte en contacto con el servicio de asistencia de Datadog.

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

  3. Elige el grupo de seguridad deseado para controlar qué puede enviar tráfico al endpoint de esta VPC.

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

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

Endpoint de VPC creado
  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. Tras crear el endpoint, utiliza el emparejamiento 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, consulta la página Trabajar con conexiones de emparejamiento de VPC en AWS.
Estado de VPC

Amazon Route53

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

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

DatadogNombre de servicio PrivateLinkNombre de DNS privado
Logs (Entrada HTTP del Agent)
Logs (Entrada HTTP del usuario)
API
Métricas
Contenedores
Proceso
Generación de perfiles
Trazas
Database Monitoring
Configuración remota

También puedes encontrar esta información interrogando a la API AWS, DescribeVpcEndpointServices, o utilizando 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.

Después de configurar PrivateLink, para comprobar que los datos se envían utilizando PrivateLink, ejecuta el comando dig en una máquina que esté en esa VPC. Por ejemplo, ejecuta este comando si has configurado un PrivateLink para el endpoint http-intake.logs.datadoghq.com:

dig http-intake.logs.datadoghq.com

Si se están enviando logs a través de PrivateLink, la sección ANSWER Section de la salida muestra http-intake.logs.datadoghq.com como en el siguiente ejemplo. Nota: Las direcciones IP que recibas deben estar en un espacio IP privado.

;; ANSWER SECTION:
http-intake.logs.datadoghq.com. 60 IN   A   172.31.57.3
http-intake.logs.datadoghq.com. 60 IN   A   172.31.3.10
http-intake.logs.datadoghq.com. 60 IN   A   172.31.20.174
http-intake.logs.datadoghq.com. 60 IN   A   172.31.34.135

Si no se están enviando logs a través de PrivateLink, la sección ANSWER SECTION de la salida muestra el balanceador de carga (4-logs-http-s1-e721f9c2a0e65948.elb.us-east-1.amazonaws.com) al que se están enviando los logs.

;; ANSWER SECTION:
http-intake.logs.datadoghq.com. 177 IN  CNAME   http-intake-l4.logs.datadoghq.com.
http-intake-l4.logs.datadoghq.com. 173 IN CNAME l4-logs-http-s1-e721f9c2a0e65948.elb.us-east-1.amazonaws.com.
l4-logs-http-s1-e721f9c2a0e65948.elb.us-east-1.amazonaws.com. 42 IN A 3.233.158.48
l4-logs-http-s1-e721f9c2a0e65948.elb.us-east-1.amazonaws.com. 42 IN A 3.233.158.49
l4-logs-http-s1-e721f9c2a0e65948.elb.us-east-1.amazonaws.com. 42 IN A 3.233.158.50

Referencias adicionales