Si vous exécutez un service, tel qu'une API de modèle ou une interface web, dans une instance DSW, vous pouvez l'exposer à Internet. DSW propose la fonctionnalité de service personnalisé pour configurer l'accès via le réseau public. Cette fonctionnalité vous permet d'accéder directement au service depuis un navigateur, de partager une URL publique avec des collaborateurs pour des tests sans connexion requise ou d'appeler le service depuis une application externe. Remarque : cette fonctionnalité est principalement destinée au développement et aux tests.
Points importants
Frais supplémentaires : la configuration de l'accès via le réseau public nécessite une passerelle NAT et une EIP. Ces produits sont facturés séparément.
Types d'instances pris en charge : cette fonctionnalité prend en charge les instances situées dans des groupes de ressources publics (dont les spécifications de ressource ne commencent pas par
ecs.ebm) ainsi que les instances de calcul intelligent Lingjun. Vous pouvez configurer un maximum de cinq services personnalisés par instance.Interruption de service : l'arrêt d'une instance DSW interrompt également ses services internes et désactive leur accès via le réseau public.
Recommandation pour l'environnement de production : pour un service de production stable, hautement disponible et évolutif, déployez votre modèle sur Elastic Algorithm Service (EAS).
Fonctionnement
Pour rendre accessible depuis Internet un service hébergé sur une instance DSW, comme une API sur le port 9000, les ressources suivantes interagissent :
EIP : fournit une adresse IP publique fixe (par exemple,
121.40.**.**), qui sert de point d'entrée public pour le trafic.Passerelle NAT : réside au sein de votre VPC et mappe les requêtes provenant d'Internet (vers
EIP:port) vers l'instance DSW privée (à l'adresseIP privée:port).Groupe de sécurité : agit comme un pare-feu virtuel pour votre instance DSW. Ajoutez explicitement une règle entrante autorisant le trafic vers le port d'écoute spécifique de votre service (par exemple,
9000). Cette étape est cruciale pour assurer la connectivité.
Flux de travail principal : Utilisateur public (navigateur/outil) -> EIP:port -> Passerelle NAT -> vSwitch -> vérification des règles du groupe de sécurité -> IP privée de l'instance DSW:port -> Votre service
Facturation
La facturation de la passerelle NAT et de l'EIP commence dès leur création.
Même si l'instance DSW est arrêtée, tant que la passerelle NAT et l'EIP ne sont pas supprimées, elles continuent de générer des frais.
Les frais liés à l'instance DSW dépendent de son état d'exécution (une instance à la demande ne génère aucun frais lorsqu'elle est arrêtée).
Configurer l'accès via le réseau public
Configurer l'accès public lors de la création d'une instance
-
Créez une instance DSW et configurez les paramètres réseau clés suivants.
-
Dans la section Network Information, sélectionnez un VPC et un groupe de sécurité. Vous pouvez les créer en suivant les étapes ci-dessous. Pour plus d'informations, consultez les rubriques Créer un VPC et un vSwitch et Gérer les groupes de sécurité. Remarque : le VPC et le groupe de sécurité doivent se trouver dans la même région que l'instance DSW.
-
Repérez la section Service Access and Port Configuration, cliquez sur Add, saisissez un Service Name et le Listener Port (par exemple,
9000). Cochez la case Access over Internet et définissez le Internet Access Port (par exemple,9000). Cliquez sur DNAT+EIP, puis sélectionnez votre NAT Gateway et votre EIP. Vous pouvez créer une passerelle NAT et une EIP en suivant les étapes ci-dessous. Remarque : la passerelle NAT et l'EIP doivent se trouver dans la même région que l'instance DSW.Vous pouvez également sélectionner l'option NLB. Lors de la création du NLB, définissez le type de réseau de l'instance sur Public et sélectionnez le même VPC que celui de votre instance DSW. Pour obtenir des instructions détaillées, consultez la rubrique Utiliser NLB pour réaliser l'équilibrage de charge des services IPv4.
RemarqueSi plusieurs instances DSW partagent la même DNAT et la même EIP (ou NLB), vous devez utiliser des ports d'accès public différents pour chaque instance.
-
-
Dans le groupe de sécurité sélectionné, configurez une règle entrante pour le port d'écoute du service. Pour obtenir des instructions détaillées, consultez la rubrique Créer un groupe de sécurité. Définissez les paramètres suivants :
Action : Autoriser
Protocol Type : sélectionnez l'option appropriée en fonction de votre service (par exemple,
TCP).Port Range : saisissez le port d'écoute configuré (par exemple,
9000/9000).-
Source :
0.0.0.0/0(autorise l'accès depuis toutes les adresses IP publiques pour les tests) ou une plage d'adresses IP spécifique selon vos besoins. Pour les environnements de production, nous vous recommandons vivement de restreindre la plage d'adresses IP sources.Une fois la configuration terminée, une règle apparaît dans la liste des règles entrantes du groupe de sécurité. Le protocole de la règle est Custom TCP, sa plage de ports est
9000/9000et sa source est0.0.0.0/0.
Configurer l'accès public pour une instance existante
Pour configurer l'accès via le réseau public sur une instance DSW existante, utilisez l'une des méthodes suivantes.
Remarque : pour ajouter ou modifier des ressources réseau telles qu'un VPC ou une passerelle NAT, vous devez utiliser l'option Change Settings, ce qui nécessite le redémarrage de l'instance.
Page des détails de l'instance
Sur la page de liste des instances DSW, cliquez sur le nom de l'instance pour ouvrir sa page de détails, où vous pourrez modifier la configuration d'accès via le réseau public.
Sur la page des détails de l'instance, dans la section Access Configurations, repérez la ligne Custom Service et cliquez sur le bouton Modify correspondant pour configurer l'accès via le réseau public. Si vous devez ouvrir un port, vous trouverez l'Security Group ID (par exemple, sg-bp1g37d4lmajq...) dans la section Network Information et vous pourrez ajouter la règle requise à ce groupe de sécurité.
Instance DSW
Au sein de l'environnement de développement DSW, cliquez sur Change Settings en haut de la page pour modifier un service personnalisé.
Dans le volet de navigation de gauche, cliquez sur Access Configurations. Dans la zone de service personnalisé, vous pouvez afficher les services configurés (comme le service nommé gradio et le port d'écoute 9000), leurs URL d'accès public et leur état de configuration. Cliquez sur Modify pour modifier le service personnalisé.
Dans le menu de gauche, cliquez sur Network. Les détails du réseau s'affichent à droite. Repérez et notez l'Security Group ID (par exemple, sg-bp1g37d4lmajugsicmz2) pour une utilisation ultérieure lors de la configuration des règles du groupe de sécurité.
Tester la connectivité
-
Dans le terminal DSW, exécutez les commandes suivantes pour démarrer le serveur HTTP intégré de Python.
# Create an HTML file with test content echo 'Hello, World!' > index.html # Start Python's built-in HTTP server (listening on port 9000) python -m http.server 9000 --bind 0.0.0.0 -
Sur la page des détails de l'instance, récupérez l'URL d'accès dans la section Access Configurations.
Dans la section Access Configurations, recherchez l'URL dans la colonne Public Access. Cette URL est disponible une fois que l'Configuration Status est défini sur Ready.
Par exemple, copiez l'URL d'accès public
121.40.**.**:9000et ouvrez-la dans votre navigateur. SiHello, World!s'affiche, le service est correctement configuré.
Recommandations pour la production
Uniquement pour le développement et les tests : la fonctionnalité d'accès via le réseau public dans DSW est conçue pour des tests temporaires et le débogage collaboratif.
-
Déployez sur EAS pour la production : pour les services d'inférence en production, déployez-les sur Elastic Algorithm Service (EAS). EAS offre :
Haute disponibilité et équilibrage de charge.
Mise à l'échelle automatique pour gérer les fluctuations du trafic.
Surveillance complète, alertes, gestion des versions et déploiements canaris.
Intégration et facturation optimisées pour l'accès via le réseau public. Pour plus d'informations, consultez la rubrique Déployer un modèle en tant que service en ligne.
-
Réduisez les coûts :
Lorsqu'une instance DSW est arrêtée : une instance DSW à la demande cesse de générer des frais. Cependant, la passerelle NAT et l'EIP associées continuent d'être facturées tant qu'elles existent.
Si l'accès via le réseau public n'est plus nécessaire : veillez à supprimer la passerelle NAT et l'EIP associées afin d'arrêter la facturation correspondante. Vous pouvez effectuer cette opération depuis la console VPC et la console EIP.
FAQ
Q : J'ai configuré l'accès via le réseau public, mais je ne parviens pas à me connecter. Je vois des erreurs telles que This site can't be reached, Connection refused ou Timeout.
-
Étape 1 : Vérifiez les règles de votre groupe de sécurité. (Cause la plus fréquente)
Vérifiez qu'une règle entrante a bien été ajoutée au groupe de sécurité.
La plage de ports de la règle inclut-elle le port que vous avez configuré (par exemple,
9000) ?La source de la règle inclut-elle votre adresse IP publique ou
0.0.0.0/0?Le type de protocole (TCP/UDP) est-il correct ?
-
Étape 2 : Confirmez que votre service est en cours d'exécution et écoute sur le bon port.
Dans le terminal de l'instance DSW, utilisez
netstat -tunlp | grep <port_number>(par exemple,netstat -tunlp | grep 9000) pour vérifier si un service écoute sur le port.Assurez-vous que le processus de votre application est en cours d'exécution et écoute sur le port configuré.
-
Étape 3 : Vérifiez l'état de la passerelle NAT et de l'EIP.
Dans la console VPC, confirmez que l'état de la passerelle NAT est Running.
Dans la console EIP, confirmez que l'état de l'EIP est Associated et que votre compte ne présente aucun impayé.
Étape 4 : Effectuez un test local. Dans l'instance DSW, essayez d'utiliser
curl http://localhost:<port_number>oucurl http://<instance_private_IP>:<port_number>pour voir si le service répond.-
Étape 5 : Utilisez des outils de diagnostic réseau.
Alibaba Cloud VPC propose le service Network Intelligence Service (NIS) pour aider à diagnostiquer les problèmes de chemin. NIS doit être activé avant utilisation.
Dans l'instance DSW, exécutez
telnet <EIP> <port>pour tester la connectivité du port. Il se peut que vous deviez installertelnetau préalable s'il n'est pas déjà installé.
Q : Après avoir arrêté mon instance DSW, serai-je toujours facturé pour l'accès via le réseau public ?
Oui. Une instance DSW à la demande cesse de générer des frais lorsqu'elle est arrêtée. Cependant, la passerelle NAT et l'EIP associées sont des ressources indépendantes et continueront d'être facturées jusqu'à leur suppression. Veillez à les supprimer manuellement pour réduire les coûts.
Q : Une seule EIP peut-elle mapper plusieurs ports ?
Oui. Vous pouvez mapper plusieurs ports de service (jusqu'à cinq) depuis la même instance DSW via une seule EIP et une seule passerelle NAT. Vous pouvez accéder à chaque service en utilisant EIP:different_port.
Q : Pourquoi ne puis-je pas trouver le VPC ou la passerelle NAT que j'ai créés dans la liste déroulante ?
La raison la plus courante est une inadéquation de région. Vérifiez que la région actuellement sélectionnée dans le coin supérieur gauche de la page DSW correspond à la région de votre VPC ou de votre passerelle NAT. Les instances DSW ne peuvent utiliser que des VPC et des passerelles NAT situés dans la même région.
La liste déroulante n'a pas été actualisée. Si vous venez de créer le VPC ou la passerelle NAT, attendez que la création de la ressource soit terminée, puis cliquez sur l'icône d'actualisation
sur la page de configuration DSW pour recharger la liste.