Tunnel de test Synthetic

Le tunnel de test Synthetic vous permet de créer des connexions sécurisées de courte durée entre vos environnements internes et l’infrastructure de Datadog afin de déclencher des tests Synthetic rapidement sur vos applications privées.

Datadog recommande d’utiliser le tunnel de test si vous souhaitez lancer des tests Synthetic depuis votre pipeline CI/CD ou sur des versions locales de votre application sans avoir à déployer un système de test dédié et durable (comme les emplacements privés). Le tunnel de test peut également s’avérer utile si vous comptez déclencher des tests sur des environnements cloud éphémères.

En quoi consiste un tunnel de test ?

Le tunnel de test est une fonctionnalité incluse dans le package NPM @datadog/datadog-ci ; elle fait partie des méthodes fournies par Datadog pour intégrer vos tests Synthetic à vos pipelines CI/CD. Le tunnel de test crée un proxy HTTP chiffré de bout en bout entre votre infrastructure et Datadog, ce qui signifie que toute requête de test envoyée via l’interface de ligne de commande passe automatiquement par le client datadog-ci. Datadog est ainsi en mesure d’accéder à vos applications internes et de les tester.

Schéma du tunnel de test Synthetic

datadog-ci reçoit d’abord une URL présignée de Datadog à des fins d’authentification. Il ouvre ensuite une connexion WebSocket Secure (wss) avec les emplacements gérés de Datadog à l’aide de l’URL présignée. En utilisant des connexions SSH via la connexion WebSocket, les tests sont déclenchés par datadog-ci et exécutés par le biais des emplacements gérés de Datadog.

Étant donné que la résolution DNS se fait via le tunnel, vous pouvez tester des applications avec des domaines internes, ou même sur le localhost de la machine exécutant datadog-ci.

Remarque : lorsque vous utilisez le tunnel de test, les emplacements de vos tests sont remplacés par un emplacement qui dépend de la région associée à votre compte Datadog.

Comment utiliser le tunnel de test

Comme mentionné plus haut, le tunnel de test est inclus dans le package NPM @datadog/datadog-ci depuis la version v0.11.0 de ce dernier. Consultez la rubrique Synthetics et CI/CD pour commencer.

Une fois que vous avez configuré votre client sur votre machine locale ou votre serveur CI, vous pouvez choisir de lancer vos tests avec le tunnel en ajoutant --tunnel à la commande utilisée pour lancer les tests. Par exemple, si vous utilisez un fichier de configuration globale, vous pouvez saisir la commande suivante :

datadog-ci synthetics run-tests --config <FICHIER_CONFIGURATION_GLOBALE>.json --tunnel

Exigences relatives au pare-feu

Autorisez les connexions sortantes pour les endpoints Datadog suivants :

PortEndpointDescription
443tunnel-us1.synthetics.datadoghq.comRequis pour ouvrir une connexion wss depuis le client datadog-ci vers le service de tunnelisation.
443intake.synthetics.datadoghq.comRequis pour obtenir l’URL présignée et déclencher les tests Synthetic.
443api.datadoghq.comRequis pour rechercher des tests Synthetic, les récupérer et interroger leurs résultats.

PortEndpointDescription
443tunnel-eu1.synthetics.datadoghq.comRequis pour ouvrir une connexion wss depuis le client datadog-ci vers le service de tunnelisation.
443api.datadoghq.euRequis pour obtenir l’URL présignée, rechercher des tests Synthetic, les récupérer, les déclencher et interroger leurs résultats.

**Remarque **: bien que le domaine de premier niveau du service de tunnelisation ait une extension en .com (et pas .eu), l’endpoint se situe dans l’UE (région AWS Frankfurt).

PortEndpointDescription
443tunnel-us3.synthetics.datadoghq.comRequis pour ouvrir une connexion wss depuis le client datadog-ci vers le service de tunnelisation.
443api.us3.datadoghq.comRequis pour obtenir l’URL présignée, rechercher des tests Synthetic, les récupérer, les déclencher et interroger leurs résultats.

PortEndpointDescription
443tunnel-us5.synthetics.datadoghq.comRequis pour ouvrir une connexion wss depuis le client datadog-ci vers le service de tunnelisation.
443api.us5.datadoghq.comRequis pour obtenir l’URL présignée, rechercher des tests Synthetic, les récupérer, les déclencher et interroger leurs résultats.

Pour aller plus loin