Connexion à Datadog via AWS PrivateLink

Datadog via PrivateLink ne prend pas en charge le site Datadog sélectionné.

Ce guide vous explique comment configurer AWS PrivateLink afin de l’utiliser avec Datadog.

Présentation

Pour utiliser PrivateLink, vous devez configurer un endpoint interne dans votre VPC vers lequel les Agents Datadog locaux peuvent envoyer des données. L’endpoint de votre VPC est ensuite associé au endpoint du VPC de Datadog.

Schéma VPC

Implémentation

Datadog expose les endpoints AWS PrivateLink sur .

Toutefois, pour acheminer le trafic vers l’endpoint PrivateLink de Datadog sur dans d’autres régions, utilisez la fonctionnalité d’appairage inter-région d’Amazon VPC. L’appairage inter-région de VPC vous permet de connecter plusieurs VPC répartis sur diverses régions AWS les uns aux autres. Vos ressources de VPC issues des différentes régions peuvent ainsi communiquer entre elles par l’intermédiaire d’adresses IP privées. Pour en savoir plus, consultez la documentation AWS sur l’appairage de VPC.

  1. Connectez la console AWS à la région et créez un endpoint de VPC.

    Créer un endpoint de VPC
  2. Sélectionnez Find service by name.

  3. Remplissez la zone de texte Service Name en indiquant les informations du service pour lequel vous souhaitez configurer AWS PrivateLink :

    Nom du service VPC
DatadogNom du service PrivateLinkNom du DNS privé
Logs (admission HTTP de l’Agent)
Logs (admission HTTP des utilisateurs)
APIapi.
Métriquesmetrics.agent.
Conteneursorchestrator.
Processusprocess.
Profilingintake.profile.
Tracestrace.agent.
Database Monitoringdbm-metrics-intake.
Configuration à distanceconfig.
  1. Cliquez sur Verify. Si le message Service name found, ne s’affiche pas, contactez l’assistance Datadog.

  2. Choisissez le VPC et les sous-réseaux à associer avec l’endpoint du service VPC Datadog.

  3. Pour l’option Enable DNS name, assurez-vous que la case Enable for this endpoint est cochée :

    Activer le DNS privé
  4. Choisissez le groupe de sécurité de votre choix afin de contrôler les éléments capables de générer du trafic vers cet endpoint de VPC.

    Remarque : Le groupe de sécurité doit accepter le trafic entrant sur le port 443.

  5. Cliquez sur Create endpoint en bas de l’écran. En l’absence d’erreur, le message suivant s’affiche :

    Endpoint de VPC créé
  6. Cliquez sur l’ID de l’endpoint de VPC pour consulter son statut.

  7. Patientez jusqu’à ce que le statut Pending soit remplacé par Available. Cela peut prendre jusqu’à 10 minutes. Dès lors que le statut Available, s’affiche, vous pouvez commencer à utiliser AWS PrivateLink.

    Statut du VPC
  8. Si vous recueillez les données de vos logs, vérifiez que votre Agent est configuré de façon à envoyer les logs via HTTPS. Si les données ne sont pas déjà disponibles, ajoutez ce qui suit au fichier de configuration datadog.yaml de l’Agent :

    logs_config:
        use_http: true
    

    Si vous utilisez l’Agent de conteneur, définissez plutôt les variables d’environnement ci-dessous :

    DD_LOGS_CONFIG_USE_HTTP=true
    

    Cette configuration est requise pour envoyer des logs à Datadog avec AWS PrivateLink et l’Agent Datadog. Elle est toutefois facultative si vous utilisez l’extension Lambda. Pour en savoir plus, consultez la section relative à la collecte de logs de l’Agent.

  9. Si votre extension Lambda charge la clé d’API Datadog depuis AWS Secrets Manager en utilisant l’ARN spécifié via la variable d’environnement DD_API_KEY_SECRET_ARN, vous devez créer un endpoint de VPC pour Secrets Manager.

  10. Redémarrez votre Agent pour envoyer des données à Datadog via AWS PrivateLink.

Appairage de VPC Amazon

  1. Connectez la console AWS à la région et créez un endpoint de VCP.
Créer un endpoint de VPC
  1. Sélectionnez Find service by name.
  2. Remplissez la zone de texte Service Name en indiquant les informations du service pour lequel vous souhaitez configurer AWS PrivateLink :
Nom du service de VPC
DatadogNom du service PrivateLink
Logs (admission HTTP de l’Agent)
Logs (admission HTTP des utilisateurs)
API
Métriques
Conteneurs
Processus
Profiling
Traces
Database Monitoring
Configuration à distance
  1. Cliquez sur Verify. Si le message Service name found ne s’affiche pas, contactez l’assistance Datadog.

  2. Choisissez ensuite le VPC et les sous-réseaux à appairer avec l’endpoint du service VPC Datadog. Ne sélectionnez pas l’option Enable DNS name, car l’appairage de VPC nécessite une configuration manuelle du DNS.

  3. Choisissez le groupe de sécurité de votre choix afin de contrôler les éléments capables de générer du trafic vers cet endpoint de VPC.

    Remarque : le groupe de sécurité doit accepter le trafic entrant sur le port 443.

  4. Cliquez sur Create endpoint en bas de l’écran. En l’absence d’erreur, le message suivant s’affiche :

Endpoint de VPC créé
  1. Cliquez sur l’ID de l’endpoint de VPC pour consulter son statut.
  2. Patientez jusqu’à ce que le statut Pending soit remplacé par Available. Cela peut prendre jusqu’à 10 minutes.
  3. Une fois l’endpoint créé, utilisez l’appairage de VPC pour que l’endpoint PrivateLink soit disponible dans une autre région, afin d’envoyer des données de télémétrie à Datadog via PrivateLink. Pour en savoir plus, consultez la page Utilisation de connexions d’appairage de VPC de la documentation AWS.
Statut du VPC

Amazon Route53

  1. Créez une zone hébergée privée Route 53 pour chaque service pour lequel vous avez créé un endpoint AWS PrivateLink. Associez la zone hébergée privée au VPC dans la région .
Créer une zone hébergée privée Route 53

La liste ci-dessous vous permet de mapper les noms de services et de DNS à différents composants de Datadog :

DatadogNom du service PrivateLinkNom du DNS privé
Logs (admission HTTP de l’Agent)agent-http-intake.logs.
Logs (admission HTTP des utilisateurs)http-intake.logs.
APIapi.
Métriquesmetrics.agent.
Conteneursorchestrator.
Processusprocess.
Profilingintake.profile.
Tracestrace.agent.
Database Monitoringdbm-metrics-intake.
Configuration à distanceconfig.

Vous pouvez également obtenir ces informations en interrogeant l’API AWS DescribeVpcEndpointServices, ou en utilisant la commande CLI suivante :

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

Par exemple, pour l’endpoint de métriques Datadog dans la région  :

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

Cette commande renvoie metrics.agent., à savoir le nom de la zone hébergée privée requis pour associer le VPC à l’origine du trafic de l’Agent. Si vous remplacez cette entrée, tous les hostnames d’admission liés aux métriques sont récupérés.

  1. Pour chaque nouvelle zone hébergée privée Route 53, créez un enregistrement A du même nom. Activez l’option Alias, puis, dans la section Route traffic to, sélectionnez Alias to VPC endpoint, . Saisissez ensuite le nom DNS de l’endpoint de VPC associé au nom DNS.

    Remarques :

Créer un enregistrement A
  1. Configurez l’appairage et le routage de VPC entre le VPC dans la région qui comprend les endpoints PrivateLink Datadog et le VPC dans la région où les Agents Datadog s’exécutent.

  2. Si les VPC se trouvent dans plusieurs comptes AWS, le VPC contenant l’Agent Datadog doit être autorisé à s’associer avec les zones hébergées privées Route 53 avant de poursuivre. Créez une autorisation d’association de VPC pour chaque zone hébergée privée Route 53 à l’aide de la région et de l’ID du VPC sur lequel l’Agent Datadog s’exécute. Il n’est pas possible d’utiliser la console AWS pour réaliser cette opération : servez-vous plutôt de la CLI, du SDK ou de l’API AWS.

  3. Modifiez la zone hébergée privée Route 53 afin d’ajouter des VPC pour les autres régions.

Modifier une zone hébergée privée Route 53
  1. Certains paramètres, notamment enableDnsHostnames et enableDnsSupport, doivent être activés pour les VPC qui sont associés à la zone hébergée privée. Consultez la section Remarque sur l’utilisation des zones hébergées privées pour en savoir plus.

  2. Redémarrez l’Agent pour envoyer des données à Datadog via AWS PrivateLink.

Dépannage des problèmes de connectivité et de résolution DNS

Les noms DNS doivent correspondre à des adresses IP contenues dans le bloc CIDR du VPC dans la région . De plus, les connexions sur le port 443 ne doivent pas échouer.

La connexion au port 443 ne doit pas échouer

Si le DNS correspond à des adresses IP publiques, la zone Route 53 n’est pas associée au VPC dans l’autre région, ou l’enregistrement A n’existe pas.

Si le DNS est résolu correctement, mais que les connexions au port 443 échouent, il est possible que l’appairage ou le routage de VPC soient mal configurés, ou que le port 443 n’autorise pas de connexion sortante vers le bloc CIDR du VPC dans la région .

Certains paramètres, notamment enableDnsHostnames et enableDnsSupport, doivent être activés pour les VPC qui sont associés à la zone hébergée privée. Consultez les paramètres VPC Amazon pour en savoir plus.

Agent Datadog

  1. Si vous recueillez les données de vos logs, vérifiez que votre Agent est configuré de façon à envoyer les logs via HTTPS. Si les données ne sont pas déjà disponibles, ajoutez ce qui suit au fichier de configuration datadog.yaml de l’Agent :

    logs_config:
        force_use_http: true
    

    Si vous utilisez l’Agent de conteneur, définissez plutôt les variables d’environnement ci-dessous :

    DD_LOGS_CONFIG_FORCE_USE_HTTP=true
    

    Cette configuration est requise pour envoyer des logs à Datadog avec AWS PrivateLink et l’Agent Datadog. Elle est toutefois facultative si vous utilisez l’extension Lambda. Pour en savoir plus, consultez la section relative à la collecte de logs de l’Agent.

  2. Si votre extension Lambda charge la clé d’API Datadog depuis AWS Secrets Manager en utilisant l’ARN spécifié via la variable d’environnement DD_API_KEY_SECRET_ARN, vous devez créer un endpoint de VPC pour Secrets Manager.

  3. Redémarrez l’Agent.

Pour aller plus loin