Connexion à Datadog via AWS PrivateLink

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

Aperçu

Ce guide vous accompagne dans la configuration de AWS PrivateLink pour une utilisation avec Datadog. Le processus global consiste à configurer un point de terminaison interne dans votre VPC auquel les agents Datadog locaux peuvent envoyer des données. Votre point de terminaison VPC est ensuite mis en peering avec le point de terminaison situé dans le VPC de Datadog.

Schéma du diagramme VPC

Datadog expose des points de terminaison AWS PrivateLink dans .

Connexion depuis la même région

  1. Connectez la console de gestion AWS à la région de votre choix.

  2. Depuis le tableau de bord VPC, sous PrivateLink and Lattice, sélectionnez Endpoints.

  3. Cliquez sur Create Endpoint :

    La page des points de terminaison sur le tableau de bord VPC
  4. Sélectionnez Find service by name.

  5. Remplissez la zone de texte Nom du service en fonction du service pour lequel vous souhaitez établir AWS PrivateLink :

    Nom du service VPC
DatadogNom du service PrivateLinkNom DNS privé
Journaux (intégration HTTP de l’agent)
Journaux (intégration HTTP utilisateur)
API
Métriques
Conteneurs
Processus
Profilage
Traces
Surveillance de base de données
Configuration à distance
  1. Cliquez Verify. Si cela ne renvoie pas Nom du service trouvé, contactez le support Datadog.

  2. Choisissez le VPC et les sous-réseaux qui doivent être mis en peering avec le point de terminaison du service VPC Datadog.

  3. Assurez-vous que pour Enable DNS name, Activer pour ce point de terminaison est coché :

    Activer DNS privé
  4. Choisissez le groupe de sécurité de votre choix pour contrôler ce qui peut envoyer du trafic à ce point de terminaison VPC.

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

  5. Cliquez Create endpoint en bas de l’écran. Si cela réussit, ce qui suit s’affiche :

    Point de terminaison VPC créé
  6. Cliquez sur l’ID du point de terminaison VPC pour vérifier son statut.

  7. Attendez que le statut passe de En attente à Disponible. Cela peut prendre jusqu’à 10 minutes. Une fois qu’il indique Disponible, vous pouvez utiliser AWS PrivateLink.

    Statut VPC
  8. Si vous exécutez une version de l’Agent Datadog antérieure à v6.19 ou v7.19, pour collecter les données de journaux, assurez-vous que votre Agent est configuré pour envoyer des journaux via HTTPS. Si les données ne sont pas déjà présentes, ajoutez ce qui suit au fichier de configuration de l’Agent datadog.yaml :

    logs_config:
        force_use_http: true
    

    If you are using the container Agent, set the following environment variable instead:

    DD_LOGS_CONFIG_FORCE_USE_HTTP=true
    

    This configuration is required when sending logs to Datadog with AWS PrivateLink and the Datadog Agent, and is not required for the Lambda Extension. For more details, see Agent log collection.

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

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

Connectez-vous depuis d’autres régions

  1. Connectez la console de gestion AWS à la région de votre choix.

  2. Depuis le tableau de bord VPC, sous PrivateLink and Lattice, sélectionnez Endpoints.

  3. Cliquez sur Create Endpoint :

    La page des points de terminaison sur le tableau de bord VPC
  4. Configurez les paramètres de point de terminaison d’interface VPC

    1. Optionnellement, remplissez le Name tag.
    2. Sous Type, sélectionnez PrivateLink Ready partner services.
  5. Découvrez et configurez le point de terminaison d’interface avec support inter-régions :

    1. Sous Service name, remplissez le nom du service avec un nom de service PrivateLink valide du tableau ci-dessous.
    2. Sous Service region, cliquez sur Enable Cross Region endpoint et sélectionnez .
    3. Cliquez sur Verify service et attendez une notification Nom du service vérifié. Remarque : Si vous ne parvenez pas à vérifier le service après avoir complété les étapes ci-dessus, contactez Datadog Support.
  6. Sous Network Settings, sélectionnez un VPC pour déployer le point de terminaison d’interface VPC.

  7. Assurez-vous que l’option Enable DNS name est cochée.

  8. Sous Subnets, sélectionnez un ou plusieurs sous-réseaux dans votre VPC pour le point de terminaison d’interface.

  9. Sous Security Groups, sélectionnez un groupe de sécurité pour contrôler ce qui peut envoyer du trafic au point de terminaison VPC.

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

  10. Optionnellement, fournissez un Name tag et cliquez sur Create endpoint.

  11. Laissez quelques minutes pour que l’état du point de terminaison se mette à jour de Pending à Available. Cela peut prendre jusqu’à 10 minutes. Si cela prend plus de temps que prévu, contactez le support Datadog.

Après que l’état de l’endpoint a été mis à jour vers Available, vous pouvez utiliser cet endpoint pour envoyer des données de télémétrie à Datadog via l’endpoint AWS PrivateLink interrégional.

DatadogNom de service PrivateLinkNom DNS privé
Logs (intégration HTTP de l’Agent)
Journaux (intégration HTTP utilisateur)
API
Métriques
Conteneurs
Processus
Profilage
Traces
Surveillance de base de données
Configuration à distance

Remarque : Le PrivateLink interrégional n’émet pas de métriques CloudWatch. Consultez les métriques CloudWatch pour AWS PrivateLink pour plus d’informations.

  1. Connectez la console AWS à la région et créez un endpoint VPC.
Créer un endpoint VPC
  1. Sélectionnez Find service by name.
  2. Remplissez la zone de texte Nom du service selon le service pour lequel vous souhaitez établir un PrivateLink AWS :
Nom du service VPC
DatadogNom de service PrivateLink
Logs (intégration HTTP de l’Agent)
Journaux (intégration HTTP utilisateur)
API
Métriques
Conteneurs
Processus
Profilage
Traces
Surveillance de base de données
Configuration à distance
  1. Cliquez Verify. Si cela ne renvoie pas Nom de service trouvé, contactez le support Datadog.

  2. Ensuite, choisissez le VPC et les sous-réseaux qui doivent être mis en peering avec l’endpoint de service VPC Datadog. Ne sélectionnez pas Enable DNS name car le peering VPC nécessite que le DNS soit configuré manuellement.

  3. Choisissez le groupe de sécurité de votre choix pour contrôler ce qui peut envoyer du trafic à cet endpoint 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. Si cela re9ussit, ce qui suit s’affiche :

Point de terminaison VPC créé
  1. Cliquez sur l’ID du point de terminaison VPC pour vérifier son statut.
  2. Attendez que le statut passe de En attente à Disponible. Cela peut prendre jusqu’à 10 minutes.
  3. Après avoir créé le point de terminaison, utilisez le peering VPC pour rendre le point de terminaison PrivateLink disponible dans une autre région afin d’envoyer de la télémétrie à Datadog par PrivateLink. Pour plus d’informations, consultez la page Travailler avec les connexions de peering VPC dans AWS.
Statut VPC

Amazon Route53

  1. Créez une zone hébergée privée Route53 pour chaque service pour lequel vous avez créé un point de terminaison AWS PrivateLink. Attachez la zone hébergée privée au VPC dans .
Créez une zone hébergée privée Route53

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

DatadogNom du service PrivateLinkNom DNS privé
Journaux (intégration HTTP de l’agent)
Journaux (intégration HTTP utilisateur)
API
Métriques
Conteneurs
Processus
Profilage
Traces
Surveillance de base de données
Configuration à distance

Vous pouvez également trouver cette information en interrogeant l’API AWS, DescribeVpcEndpointServices, ou en utilisant la commande suivante :

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

Par exemple, dans le cas du point de terminaison des métriques Datadog pour :

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

Cela renvoie metrics.agent., le nom de la zone hébergée privée dont vous avez besoin pour l’associer au VPC d’où provient le trafic de l’Agent. La substitution de cet enregistrement récupère tous les noms d’hôtes liés aux métriques.

  1. Dans chaque nouvelle zone hébergée privée Route53, créez un enregistrement A avec le même nom. Activez l’option Alias, puis sous Route traffic to, choisissez Alias to VPC endpoint, , et entrez le nom DNS du point de terminaison VPC associé au nom DNS.Notes :
Créez un enregistrement A
  1. Configurez le peering VPC et le routage entre le VPC dans qui contient les points de terminaison Datadog PrivateLink et le VPC dans la région où les agents Datadog s’exécutent.

  2. Si les VPC sont dans différents comptes AWS, le VPC contenant l’agent Datadog doit être autorisé à s’associer aux zones hébergées privées Route53 avant de continuer. Créez une autorisation d’association VPC pour chaque zone hébergée privée Route53 en utilisant la région et l’ID VPC du VPC où l’agent Datadog s’exécute. Cette option n’est pas disponible dans la console AWS. Elle doit être configurée à l’aide de l’AWS CLI, SDK ou API.

  3. Modifiez la zone hébergée Route53 pour ajouter des VPC pour d’autres régions.

Modifiez une zone hébergée privée Route53
  1. Les VPC qui ont la zone hébergée privée (PHZ) attachée doivent avoir certains paramètres activés, spécifiquement enableDnsHostnames et enableDnsSupport dans les VPC auxquels la PHZ est associée. Voir Considérations lors de l’utilisation d’une zone hébergée privée .

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

Dépannage de la résolution DNS et de la connectivité

Les noms DNS doivent se résoudre en adresses IP contenues dans le bloc CIDR du VPC dans , et les connexions à port 443 doivent réussir.

La connexion au port 443 doit être réussie

Si le DNS se résout en adresses IP publiques, alors la zone Route53 n’a pas été associée au VPC dans la région alternative, ou l’enregistrement A n’existe pas.

Si le DNS se résout correctement, mais que les connexions à port 443 échouent, alors le peering VPC ou le routage peuvent être mal configurés, ou le port 443 peut ne pas être autorisé à sortir vers le bloc CIDR du VPC dans .

Les VPC avec la zone hébergée privée (PHZ) attachée doivent avoir quelques paramètres activés. Spécifiquement, enableDnsHostnames et enableDnsSupport doivent être activés dans les VPC auxquels la PHZ est associée. Voir les paramètres VPC d’Amazon.

Agent Datadog

  1. Si vous collectez des données de journaux, assurez-vous que votre Agent est configuré pour envoyer les journaux via HTTPS. Si les données ne sont pas déjà présentes, ajoutez ce qui suit au fichier de configuration de l’Agent datadog.yaml :

    logs_config:
        force_use_http: true
    

    If you are using the container Agent, set the following environment variable instead:

    DD_LOGS_CONFIG_FORCE_USE_HTTP=true
    

    This configuration is required when sending logs to Datadog with AWS PrivateLink and the Datadog Agent, and is not required for the Lambda Extension. For more details, see Agent log collection.

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

  3. Redémarrez l’Agent.

Après avoir configuré PrivateLink, pour vérifier que les données sont envoyées en utilisant PrivateLink, exécutez la commande dig sur une machine qui se trouve dans ce VPC. Par exemple, exécutez cette commande si vous avez configuré un PrivateLink pour le point de terminaison http-intake.logs.datadoghq.com :

dig http-intake.logs.datadoghq.com

Si les journaux sont envoyés via PrivateLink, la section ANSWER Section de la sortie montre http-intake.logs.datadoghq.com comme dans l’exemple suivant. Remarque : Les adresses IP que vous recevez doivent être 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 journaux ne sont pas envoyés via PrivateLink, la ANSWER SECTION de la sortie montre le répartiteur de charge (4-logs-http-s1-e721f9c2a0e65948.elb.us-east-1.amazonaws.com) vers lequel les journaux 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

Lectures complémentaires