Connexion à Datadog via AWS PrivateLink

Datadog via PrivateLink ne prend pas en charge le site gouvernemental de Datadog.

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

Configuration

Datadog expose les endpoints AWS PrivateLink dans la région us-east-1.

Toutefois, pour acheminer le trafic vers l’endpoint PrivateLink de Datadog sur us-east-1 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 de différentes régions peuvent ainsi communiquer entre elles par l’intermédiaire d’adresses PI privées. Pour en savoir plus, consultez la documentation AWS sur l’appairage de VPC.

  1. Connectez la console AWS à la région us-east-1 et créez un endpoint de VCP.

    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 de service VPC
DatadogNom du service PrivateLinkNom du DNS privé
Logs (admission HTTP de l’Agent)com.amazonaws.vpce.us-east-1.vpce-svc-025a56b9187ac1f63agent-http-intake.logs.datadoghq.com
Logs (admission HTTP des utilisateurs)com.amazonaws.vpce.us-east-1.vpce-svc-0e36256cb6172439dhttp-intake.logs.datadoghq.com
APIcom.amazonaws.vpce.us-east-1.vpce-svc-064ea718f8d0ead77api.datadoghq.com
Métriquescom.amazonaws.vpce.us-east-1.vpce-svc-09a8006e245d1e7b8metrics.agent.datadoghq.com
Containerscom.amazonaws.vpce.us-east-1.vpce-svc-0ad5fb9e71f85fe99orchestrator.datadoghq.com
Processuscom.amazonaws.vpce.us-east-1.vpce-svc-0ed1f789ac6b0bde1process.datadoghq.com
Profilingcom.amazonaws.vpce.us-east-1.vpce-svc-022ae36a7b2472029intake.profile.datadoghq.com
Tracescom.amazonaws.vpce.us-east-1.vpce-svc-0355bb1880dfa09c2trace.agent.datadoghq.com
  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 l’endpoint de ce VPC.

    Remarque : le groupe de sécurité doit accepter le trafic entrant sur le port TCP 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 du 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 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 Amazon VPC

  1. Connectez la console AWS à la région us-east-1 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 de service VPC
DatadogNom du service PrivateLink
Métriquescom.amazonaws.vpce.us-east-1.vpce-svc-09a8006e245d1e7b8
Logs (admission HTTP de l’Agent)com.amazonaws.vpce.us-east-1.vpce-svc-025a56b9187ac1f63
Logs (admission HTTP des utilisateurs)com.amazonaws.vpce.us-east-1.vpce-svc-0e36256cb6172439d
APIcom.amazonaws.vpce.us-east-1.vpce-svc-064ea718f8d0ead77
Processuscom.amazonaws.vpce.us-east-1.vpce-svc-0ed1f789ac6b0bde1
Profilingcom.amazonaws.vpce.us-east-1.vpce-svc-022ae36a7b2472029
Tracescom.amazonaws.vpce.us-east-1.vpce-svc-0355bb1880dfa09c2
Conteneurscom.amazonaws.vpce.us-east-1.vpce-svc-0ad5fb9e71f85fe99
  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 TCP 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éé, acheminez du trafic à partir d’une autre région de façon à ce que les données soient envoyées à Datadog en utilisant le lien privé. Pour en savoir plus, consultez cette section de la documentation AWS.
Statut VPC

Amazon Route 53

  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 us-east-1.
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é
Métriquescom.amazonaws.vpce.us-east-1.vpce-svc-09a8006e245d1e7b8metrics.agent.datadoghq.com
Logs (admission HTTP de l’Agent)com.amazonaws.vpce.us-east-1.vpce-svc-025a56b9187ac1f63agent-http-intake.logs.datadoghq.com
Logs (admission HTTP des utilisateurs)com.amazonaws.vpce.us-east-1.vpce-svc-0e36256cb6172439dhttp-intake.logs.datadoghq.com
APIcom.amazonaws.vpce.us-east-1.vpce-svc-064ea718f8d0ead77api.datadoghq.com
Processuscom.amazonaws.vpce.us-east-1.vpce-svc-0ed1f789ac6b0bde1process.datadoghq.com
Profilingcom.amazonaws.vpce.us-east-1.vpce-svc-022ae36a7b2472029intake.profile.datadoghq.com
Tracescom.amazonaws.vpce.us-east-1.vpce-svc-0355bb1880dfa09c2trace.agent.datadoghq.com
Conteneurscom.amazonaws.vpce.us-east-1.vpce-svc-0ad5fb9e71f85fe99orchestrator.datadoghq.com

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 <nom_service>.

Par exemple, pour l’endpoint de métriques Datadog :

aws ec2 describe-vpc-endpoint-services --service-names com.amazonaws.vpce.us-east-1.vpce-svc-09a8006e245d1e7b8 | jq '.ServiceDetails[0].PrivateDnsName'

Cette commande renvoie metrics.agent.datadoghq.com, à 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 et us-east-1. Saisissez ensuite le nom DNS de l’endpoint de VPC associé au nom DNS.

    Remarque : pour récupérer votre nom DNS, consultez la section Afficher la configuration du nom DNS privé du service de point de transmission.

Créer un enregistrement A
  1. Configurez l’appairage et le routage de VPC entre le VPC dans la région us-east-1 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 le VPC en dehors de la région non-us-east-1.

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 us-east-1. 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 us-east-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 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:
        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.

  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