Tous les produits
Search
Centre de documentation

Realtime Compute for Apache Flink:Connectivité réseau

Dernière mise à jour :Aug 09, 2026

Par défaut, Realtime Compute for Apache Flink ne peut pas accéder à Internet public. Cette rubrique répond aux questions fréquentes concernant l'accès à Internet public, la connectivité entre VPC, la résolution DNS et les tests réseau.

Dépannage des problèmes réseau

Realtime Compute for Apache Flink est déployé au sein d'un VPC spécifique, qui ne peut pas être modifié après l'activation de l'espace de travail. Si votre source ou votre puits se trouve dans un environnement réseau différent, la communication échoue.

Suivez ces étapes pour diagnostiquer et résoudre les problèmes liés au réseau :

  1. Testez la connectivité : Utilisez la fonctionnalité de sonde réseau dans la console Flink pour vérifier la communication entre l'espace de travail Flink et vos services en amont ou en aval. Consultez Exécuter une sonde réseau.

  2. Vérifiez l'accès réseau : Par défaut, Flink ne peut accéder qu'aux services situés dans la même région et le même VPC.

  3. Configurez les listes d'autorisation : Assurez-vous que les groupes de sécurité ou les pare-feu de vos services en amont/aval autorisent le trafic provenant de votre espace de travail Flink. Configurer les listes d'autorisation pour les services en amont et en aval.

  4. Ajustez les paramètres de connexion : Si vous rencontrez des erreurs de délai d'expiration persistantes malgré une configuration réseau correcte, augmentez l'option connect.timeout dans votre instruction DDL.

Exécuter une sonde réseau

Realtime Compute for Apache Flink propose une fonctionnalité intégrée de sonde réseau pour tester la connectivité. Procédure :

  1. Accédez au Portail de gestion de Realtime Compute for Apache Flink.

  2. Dans la colonne Actions de l'espace de travail cible, cliquez sur Console.

  3. Cliquez sur l'icône Network Detection située dans le coin supérieur droit de la barre de navigation supérieure.

    Network Detection icon

  4. Saisissez l'endpoint ou l'adresse IP et le port d'un service, puis cliquez sur Detect.

    Important

    Lorsque vous saisissez un endpoint dans Host, supprimez :<port> et entrez le numéro de port dans le champ Port.

    Network Detection dialog box

    Si la sonde réseau renvoie une erreur « connect timed out », il est probable que l'espace de travail Flink ne dispose pas des autorisations réseau nécessaires pour atteindre l'endpoint cible. Par défaut, Flink ne peut accéder qu'aux services situés dans le même VPC. Vérifiez que votre endpoint cible n'est pas une adresse Internet publique ou qu'il ne se trouve pas dans un autre VPC. Si vous avez besoin d'un accès inter-VPC ou à Internet public, consultez Accéder aux services entre plusieurs VPC et Accéder à Internet.

Obtenir l'endpoint Hologres

  1. Accédez à la console Hologres. Sur la page Instances, cliquez sur l'instance cible.

  2. Sur la page Instance Details, repérez l'endpoint dans la section Network Information. Choisissez l'endpoint correspondant à votre topologie réseau :

    Type de réseau

    Cas d'utilisation

    Dedicated VPC (Recommandé)

    Un réseau privé connecté à un VPC spécifique.

    • Même VPC (recommandé) : Si l'instance Hologres et l'espace de travail Flink se trouvent dans le même VPC, ils peuvent communiquer directement.

    • VPC différents : S'ils se trouvent dans des VPC différents, configurez la mise en réseau inter-VPC. Pour plus d'informations, consultez Accéder aux services entre plusieurs VPC.

    Public Network

    Un réseau public sans restrictions d'accès. La latence peut être plus élevée et moins prévisible que l'accès via VPC.

    Pour plus d'informations, consultez Accéder à Internet public.

  3. (Facultatif) Exécutez une sonde réseau depuis la console Flink pour vérifier la connectivité. Pour plus d'informations, consultez Exécuter une sonde réseau.

    • La sonde réussit : L'endpoint est correct et le réseau est connecté.

    • La sonde échoue : Vérifiez si l'instance Hologres et l'espace de travail Flink se trouvent dans des VPC différents ou s'ils nécessitent un accès à Internet public.

Accéder à Internet

L'accès à Internet public entraîne généralement une latence plus élevée et plus variable que la communication interne au VPC. Pour les charges de travail exigeant une latence stricte et une stabilité optimale, privilégiez la connectivité basée sur le VPC.

Utilisez une passerelle NAT Alibaba Cloud pour connecter votre VPC à Internet public. Cela permet à l'espace de travail Flink d'atteindre les sources de données hébergées en dehors de votre réseau privé. Pour plus de détails, consultez Sources de données publiques.

Vérifier la bande passante Internet

Si votre tâche affiche des métriques normales et aucune contre-pression, mais que le débit reste inférieur aux attentes, la bande passante Internet peut constituer un goulot d'étranglement.

Suivez ces étapes pour diagnostiquer les limites de bande passante :

  1. Dans la console Realtime Compute for Apache Flink, cliquez sur Details dans la colonne Actions.

  2. Dans la boîte de dialogue Workspace Details, notez l'VPC ID.

  3. Accédez à la console VPC et cliquez sur l'ID du VPC cible.

  4. Sur la page des détails du VPC, sélectionnez l'onglet Resource Management. Dans la section Access to Internet, cliquez sur le nombre situé sous Internet NAT Gateway.

    Remarque

    0 indique que vous ne disposez pas encore d'une instance de passerelle NAT Internet.

  5. Cliquez sur l'ID de la passerelle NAT Internet cible.

  6. Sur la page des détails, basculez vers l'onglet Associated EIP et cliquez sur l'ID de l'instance EIP.

  7. Sur la page des détails de l'instance EIP, sélectionnez l'onglet Monitoring and O&M pour afficher la bande passante.

Accéder aux services entre plusieurs VPC

Pour des performances optimales et une mise en réseau simplifiée, nous recommandons de déployer vos services dans le même VPC que votre espace de travail Flink. Si vous avez déjà déployé des ressources, tenez compte des éléments suivants :

  • Colocalisation des services : Si les services sont en phase de planification, provisionnez-les dans le même VPC que votre espace de travail Flink.

  • Migration de l'espace de travail : Le cas échéant, libérez votre espace de travail Flink actuel et créez-en un nouveau dans le même VPC que vos services existants.

  • Connectivité inter-VPC : Pour les services qui doivent rester dans un VPC séparé, configurez la mise en réseau inter-VPC. Pour plus de détails, consultez Connecter les VPC.

Configurer la liste d'autorisation pour les services en amont et en aval

Généralement, les services en amont et en aval refusent l'accès depuis Flink. Ajoutez le bloc CIDR du vSwitch configuré pour votre espace de travail Flink à la liste d'autorisation de chaque service cible.

  1. Accédez au Portail de gestion de Realtime Compute for Apache Flink.

  2. Dans la colonne Actions de l'espace de travail cible, cliquez sur Details.

  3. Dans la boîte de dialogue Workspace Details, dans la section vSwitch, notez le CIDR Block du vSwitch.CIDR Block

  4. Ajoutez le bloc CIDR du vSwitch à la liste d'autorisation de votre service cible en amont ou en aval.

    Par exemple, pour configurer une liste d'autorisation pour une instance ApsaraDB RDS for MySQL, consultez Configurer une liste d'autorisation pour une instance RDS.

    Remarque
    • Mise à l'échelle du vSwitch : Si vous ajoutez davantage de vSwitches à votre espace de travail, répétez le processus de configuration pour chaque nouveau vSwitch.

    • Connectivité inter-zones : Si votre vSwitch et vos services en amont/aval résident dans différentes zones, vous pouvez toujours activer la connectivité en ajoutant le bloc CIDR du vSwitch à la liste d'autorisation du service.

Résoudre les noms de domaine pour les dépendances des tâches Flink

Si vos tâches font référence à des services externes par nom de domaine, vous pouvez rencontrer des erreurs de résolution DNS lors de la migration depuis des clusters autogérés vers Realtime Compute for Apache Flink. Utilisez les méthodes suivantes pour résoudre ces problèmes :

  • Méthode A : Utilisation d'un serveur DNS autogéré

    Si votre VPC Flink peut atteindre un serveur DNS autogéré, configurez l'espace de travail Flink pour l'utiliser.

    1. Accédez au Portail de gestion de Realtime Compute for Apache Flink.

    2. Dans la colonne Actions de l'espace de travail cible, cliquez sur Console.

    3. Dans le volet de navigation de gauche, choisissez O&M > Configurations. Sur l'onglet Deployment Defaults, localisez Other Configuration et ajoutez le code suivant.

      env.java.opts: >-
        -Dsun.net.spi.nameservice.provider.1=default
        -Dsun.net.spi.nameservice.provider.2=dns,sun
        -Dsun.net.spi.nameservice.nameservers=192.168.0.1

      (Remplacez 192.168.0.1 par l'adresse IP réelle de votre serveur DNS ; séparez plusieurs adresses IP par des virgules.)

    4. Cliquez sur Save Changes.

    5. Redéployez votre tâche.

      Remarque
      • Compatibilité du moteur : Cette configuration n'est pas prise en charge dans les moteurs basés sur JDK 11.

      • Dépannage : Si UnknownHostException persiste, contactez le support technique d'Alibaba Cloud. Si la tâche rencontre fréquemment des délais d'expiration du heartbeat JobManager, consultez Erreur : Délai d'expiration du heartbeat JobManager.

  • Méthode B : Utilisation d'Alibaba Cloud DNS

    Si vous ne disposez pas de serveur DNS autogéré ou si le VPC Flink ne peut pas atteindre votre serveur DNS existant, utilisez Alibaba Cloud DNS pour résoudre les noms de domaine de vos services.

Comment forcer la résolution DNS à utiliser IPv4 ?

Lorsqu'un nom de domaine de service backend se résout en une adresse IPv6, les connexions peuvent échouer. Vous pouvez ajouter un paramètre JVM pour forcer l'utilisation de la pile de protocole IPv4.

Ajoutez le paramètre suivant à Other Configuration :

env.java.opts: '-Djava.net.preferIPv4Stack=true'

Ce paramètre peut être appliqué à deux niveaux :

  • Par tâche : Sur la page O&M, cliquez sur la tâche cible et accédez à Configuration > Parameters > Other Configuration. Pour plus d'informations, consultez Paramètres.

  • À l'échelle de l'espace de travail : Accédez à Configurations > Deployment Defaults > Other Configuration.

Enregistrez la configuration et redémarrez la tâche pour que les modifications prennent effet.

Erreur : Délai d'expiration du heartbeat JobManager

  • Symptôme

    Après avoir configuré un serveur DNS autogéré pour la résolution de noms de domaine, les tâches échouent fréquemment avec une erreur JobManager heartbeat timeout.

  • Cause

    Latence DNS élevée : La latence entre les TaskManagers et le serveur DNS autogéré provoque des retards qui interrompent le signal de heartbeat entre le JobManager et les TaskManagers.

  • Solution

    Désactivez la résolution du nom d'hôte pour les TaskManagers afin de contourner la recherche DNS lors des vérifications de heartbeat. Ajoutez ce qui suit à la configuration de votre tâche : jobmanager.retrieve-taskmanager-hostname: false. Cette configuration n'affecte pas la capacité de la tâche à se connecter aux services externes par nom de domaine. Pour des instructions détaillées, consultez Configurer des paramètres d'exécution personnalisés.

Pourquoi Kafka renvoie-t-il un délai d'expiration des métadonnées alors que le réseau est connecté ?

La connectivité réseau entre Flink et Kafka ne garantit pas que Flink puisse lire les données de Kafka. Flink se connecte au serveur bootstrap Kafka pour récupérer les métadonnées du cluster, qui contiennent les endpoints annoncés de chaque broker. Flink doit pouvoir atteindre ces endpoints annoncés pour lire les données.

Même si la connexion bootstrap initiale réussit, le transfert de données échoue si les endpoints annoncés dans les métadonnées du broker sont inaccessibles depuis le VPC Flink. Pour plus d'informations, consultez Kafka Client Cannot Connect to Broker.

Pour diagnostiquer ce problème :

  1. Utilisez zkCli.sh ou zookeeper-shell.sh pour vous connecter au cluster ZooKeeper utilisé par Kafka.

  2. Exécutez ls /brokers/ids pour répertorier tous les ID des brokers Kafka.

  3. Exécutez get /brokers/ids/{your_broker_id} pour afficher les métadonnées du broker. Les informations sur l'endpoint se trouvent dans le champ listener_security_protocol_map.

  4. Vérifiez que Flink peut atteindre l'endpoint répertorié dans les métadonnées du broker.

    Si l'endpoint utilise un nom de domaine, configurez la résolution DNS pour votre espace de travail Flink. Pour plus d'informations, consultez Résoudre les noms de domaine pour les dépendances des tâches Flink.