Datadog PrivateLink ne prend pas en charge le site Datadog sélectionné.
Présentation
Ce guide explique comment configurer AWS PrivateLink pour l’utiliser avec Datadog. Le processus global consiste à configurer un endpoint interne dans votre VPC vers lequel les Agents Datadog locaux peuvent envoyer des données. Votre endpoint VPC est ensuite appairé avec l’endpoint situé dans le VPC de Datadog.
Datadog expose des endpoints AWS PrivateLink dans .
Si vous devez acheminer le trafic Datadog dans la même région, consultez la section Se connecter depuis la même région pour configurer votre endpoint.
Pour acheminer le trafic vers l’offre PrivateLink de Datadog dans à partir d’autres régions, Datadog recommande d’utiliser les endpoints PrivateLink interrégions. Le PrivateLink interrégions permet d’établir des connexions entre des VPC situés dans différentes régions AWS. Cela permet aux ressources VPC de régions différentes de communiquer entre elles en utilisant des adresses IP privées. Vous pouvez également utiliser le VPC Peering.
Se connecter depuis la même région
Connectez l’AWS Management Console à la région de votre choix.
Depuis le tableau de bord VPC, sous PrivateLink and Lattice, sélectionnez Endpoints.
Cliquez sur Create Endpoint :
Sélectionnez Find service by name.
Remplissez la zone de texte Service Name en fonction du service pour lequel établir AWS PrivateLink. :
Datadog
Nom de service PrivateLink
Nom DNS privé
Logs (intake HTTP de l’Agent)
Logs (Intake HTTP de l’utilisateur)
API
Métriques
Conteneurs
Processus
Profiling
Traces
Surveillance de base de données
Configuration à distancee
Cliquez sur Verify. Si cela ne renvoie pas Service name found, contactez l’assistance Datadog.
Choisissez le VPC et les sous-réseaux devant être appairés avec l’endpoint de service VPC de Datadog.
Vérifiez que pour Enable DNS name, l’option Enable for this endpoint est cochée :
Choisissez le groupe de sécurité de votre choix pour contrôler ce qui peut envoyer du trafic vers cet endpoint VPC.
Remarque : le groupe de sécurité doit accepter le trafic entrant sur le port TCP 443.
Cliquez sur Create endpoint en bas de l’écran. En cas de réussite, l’élément suivant s’affiche :
Cliquez sur l’ID de l’endpoint VPC pour vérifier son statut.
Attendez que le statut passe de Pending à Available. Cela peut prendre jusqu’à 10 minutes. Une fois que le statut affiche Available, vous pouvez utiliser AWS PrivateLink.
Si vous exécutez une version de l’Agent Datadog antérieure à v6.19 ou v7.19, pour collecter des données de logs, assurez-vous que votre Agent est configuré pour envoyer les logs via HTTPS. Si les données ne s’y trouvent pas déjà, ajoutez ce qui suit dans le 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 la variable d’environnement suivante :
DD_LOGS_CONFIG_FORCE_USE_HTTP=true
Cette configuration est requise lors de l’envoi de logs à Datadog avec AWS PrivateLink et l’Agent Datadog, et n’est pas requise pour l’extension Lambda. Pour plus de détails, consultez la section Collecte de logs de l’Agent.
Si votre extension Lambda charge la clé d’API Datadog depuis AWS Secrets Manager en utilisant l’ARN spécifié par la variable d’environnement DD_API_KEY_SECRET_ARN, vous devez créer un endpoint VPC pour Secrets Manager.
Connectez l’AWS Management Console à la région de votre choix.
Depuis le tableau de bord VPC, sous PrivateLink and Lattice, sélectionnez Endpoints.
Cliquez sur Create Endpoint:
Configurez les paramètres de l’endpoint d’interface VPC
Facultativement, remplissez le Name tag.
Sous Type, sélectionnez PrivateLink Ready partner services.
Découvrir et configurer l’endpoint d’interface avec la prise en charge interrégions :
Sous Service name, renseignez le nom du service avec un nom de service PrivateLink valide issu du tableau ci-dessous.
Sous Service region, cliquez sur Enable Cross Region endpoint et sélectionnez .
Cliquez sur Verify service et attendez la notification Service name verified.
Remarque : si vous ne parvenez pas à vérifier le service après avoir suivi les étapes ci-dessus, contactez l’assistance Datadog.
Sous Network Settings, sélectionnez un VPC avec lequel déployer l’endpoint d’interface VPC.
Vérifiez que l’option Enable DNS name est cochée.
Sous Subnets, sélectionnez un ou plusieurs sous-réseaux dans votre VPC pour l’endpoint d’interface.
Sous Security Groups, sélectionnez un groupe de sécurité pour contrôler ce qui peut envoyer du trafic vers l’endpoint VPC.
Remarque : le groupe de sécurité doit accepter le trafic entrant sur le port TCP 443.
Facultativement, indiquez un Name tag et cliquez sur Create endpoint.
Attendez quelques minutes que le statut de l’endpoint passe de Pending à Available. Cela peut prendre jusqu’à 10 minutes. Si cela prend plus de temps que prévu, contactez l’assistance Datadog.
Une fois que le statut de l’endpoint est mis à jour sur Available, vous pouvez utiliser cet endpoint pour envoyer des données de télémétrie à Datadog via l’endpoint AWS PrivateLink interrégions.
Connectez l’AWS Console à la région et créez un endpoint VPC.
Sélectionnez Find service by name.
Remplissez la zone de texte Service Name en fonction du service pour lequel vous souhaitez établir AWS PrivateLink :
Datadog
Nom de service PrivateLink
Logs (intake HTTP de l’Agent)
Logs (intake HTTP utilisateur)
API
Métriques
Conteneurs
Processus
Profiling
Traces
Surveillance de bases de données
Configuration à distance
Cliquez sur Verify. Si cela ne renvoie pas Service name found, contactez l’assistance Datadog.
Ensuite, choisissez le VPC et les sous-réseaux devant être appairés avec l’endpoint de service VPC de Datadog. Ne sélectionnez pas Enable DNS name, car le VPC peering nécessite une configuration manuelle du DNS.
Choisissez le groupe de sécurité de votre choix pour contrôler ce qui peut envoyer du trafic vers cet endpoint VPC.
Remarque : le groupe de sécurité doit accepter le trafic entrant sur le port TCP 443.
Cliquez sur Create endpoint en bas de l’écran. En cas de réussite, l’élément suivant s’affiche :
Cliquez sur l’ID de l’endpoint VPC pour vérifier son statut.
Attendez que le statut passe de Pending à Available. Cela peut prendre jusqu’à 10 minutes.
Après avoir créé l’endpoint, utilisez le VPC peering pour rendre l’endpoint PrivateLink disponible dans une autre région afin d’envoyer des données de télémétrie à Datadog via PrivateLink. Pour plus d’informations, consultez la page Travailler avec les connexions VPC Peering dans AWS.
Amazon Route53
Créez une zone hébergée privée Route53 pour chaque service pour lequel vous avez créé un endpoint AWS PrivateLink. Attachez la zone hébergée privée au VPC dans .
Utilisez la liste ci-dessous pour faire correspondre le service et le nom DNS aux différentes parties de Datadog :
Datadog
Nom de service PrivateLink
Nom DNS privé
Logs (intake HTTP de l’Agent)
Logs (intake HTTP utilisateur)
API
Métriques
Conteneurs
Processus
Profiling
Traces
Surveillance de bases de données
Configuration à distance
Vous pouvez également obtenir ces informations en interrogeant l’API AWS, DescribeVpcEndpointServices, ou en utilisant la commande suivante :
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.
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.
L’Agent envoie les données de télémétrie aux endpoints versionnés, par exemple [version]-app.agent. qui renvoie vers metrics.agent. via un alias CNAME. Ainsi, vous devez uniquement configurer une zone hébergée privée pour metrics.agent..
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.
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.
Modifiez la zone hébergée privée Route 53 afin d’ajouter des VPC pour les autres régions.
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.
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.
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
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.
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.
Vérifier que les données sont envoyées via PrivateLink
Après avoir configuré PrivateLink, pour vérifier que les données sont envoyées via PrivateLink, exécutez la commande dig sur une machine située dans ce VPC. Par exemple, exécutez cette commande si vous avez configuré un PrivateLink pour l’endpoint http-intake.logs.datadoghq.com :
dig http-intake.logs.datadoghq.com
Si les logs sont envoyés via PrivateLink, la section ANSWER Section de la sortie affiche http-intake.logs.datadoghq.com comme dans l’exemple suivant. Remarque : les adresses IP renvoyées doivent se trouver dans l’espace d’adresses IP privées.
;; 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 les logs ne sont pas envoyés via PrivateLink, la section ANSWER SECTION de la sortie affiche le load balancer (4-logs-http-s1-e721f9c2a0e65948.elb.us-east-1.amazonaws.com) vers lequel les logs sont envoyés.
;; 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
Pour aller plus loin
Documentation, liens et articles supplémentaires utiles: