Tous les produits
Search
Centre de documentation

Elastic Compute Service:Forward ports to instances without public IP addresses

Dernière mise à jour :Sep 22, 2026

Session Manager CLI (ali-instance-cli) permet la redirection de port TCP via Cloud Assistant et WebSocket pour accéder aux services d'une instance disposant d'une adresse IP privée ou pour établir un tunnel à travers un serveur de rebond.

Cas d'utilisation

Cas d'utilisation 1 : Accéder aux services d'une instance avec une adresse IP privée.

Redirigez un port de service d'une instance sans adresse IP publique (par exemple le port 80 pour Nginx, 22 pour SSH, 3389 pour RDP ou 3306 pour MySQL) vers un port local, puis connectez-vous localement pour accéder au service distant.

image

Cas d'utilisation 2 : Utiliser une instance comme serveur de rebond pour atteindre d'autres hôtes privés.

Pour les services auxquels vous ne pouvez pas accéder directement, tels qu'une base de données ApsaraDB RDS for MySQL, utilisez une instance ECS disposant d'un accès réseau à la cible comme serveur de rebond. La session de redirection de port établit un tunnel à travers cette instance vers les services privés.

image
Important

Une session de redirection de port reste active uniquement tant que la fenêtre de ligne de commande est ouverte. La fermeture de la fenêtre met fin à la session.

Accéder aux services d'une instance avec une adresse IP privée

Effectuez les préparatifs et installez et configurez Session Manager CLI, puis suivez les étapes ci-dessous.

Sur Windows

Dans PowerShell, accédez au répertoire contenant ali-instance-cli.exe et exécutez la commande suivante :

# Replace INSTANCE_ID with the ID of the instance for which you want to set up port forwarding, TARGET_PORT with the port of the target ECS instance, and LOCAL_PORT with the port to map on your local machine.
.\ali-instance-cli.exe portforward -i INSTANCE_ID -r TARGET_PORT -l LOCAL_PORT

Lorsque le message Waiting for connections s'affiche, le tunnel est actif. Accédez au TARGET_PORT de l'instance via 127.0.0.1:<local_port>.

Exemple : rediriger le port Nginx 80 de l'instance i-bp1****** vers le port local 8080 : .\ali-instance-cli.exe portforward -i i-bp1****** -r 80 -l 8080 .

Sur macOS ou Linux

Dans le terminal, accédez au répertoire contenant ali-instance-cli et exécutez la commande suivante :

#Replace INSTANCE_ID with the ID of the instance for which you want to set up port forwarding, TARGET_PORT with the port of the target ECS instance, and LOCAL_PORT with the port to map on your local machine.
./ali-instance-cli portforward -i INSTANCE_ID -r TARGET_PORT -l LOCAL_PORT

Lorsque le message Waiting for connections s'affiche, le tunnel est actif. Accédez au TARGET_PORT de l'instance via 127.0.0.1:<local_port>.

Exemple : rediriger le port Nginx 80 de l'instance i-bp1****** vers le port local 8080 : ./ali-instance-cli portforward -i i-bp1****** -r 80 -l 8080 .

Utiliser une instance comme serveur de rebond

Effectuez les préparatifs et installez et configurez Session Manager CLI, puis suivez les étapes ci-dessous.

Sur Windows

Dans PowerShell, accédez au répertoire contenant ali-instance-cli.exe et exécutez la commande suivante :

# Replace INSTANCE_ID with the ID of the jump server instance, TARGET_IP with the IP address of the target host, TARGET_PORT with the port of the target host, and LOCAL_PORT with the port to map on your local machine.
.\ali-instance-cli.exe portforward -i INSTANCE_ID -r TARGET_IP:TARGET_PORT -l LOCAL_PORT

Lorsque le message Waiting for connections s'affiche, le tunnel via le serveur de rebond est établi. Le trafic destiné à 127.0.0.1:<local_port> est acheminé via le serveur de rebond vers TARGET_IP:TARGET_PORT.

Exemple : acheminer le trafic vers une instance RDS for MySQL située à l'adresse rm-******.mysql.rds.aliyuncs.com:3306 via le serveur de rebond i-bp1****** vers le port local 13306 : .\ali-instance-cli.exe portforward -i i-bp1****** -r rm-******.mysql.rds.aliyuncs.com:3306 -l 13306 .

Sur macOS ou Linux

Dans le terminal, accédez au répertoire contenant ali-instance-cli et exécutez la commande suivante :

#Replace INSTANCE_ID with the ID of the jump server instance, TARGET_IP with the IP address of the target host, TARGET_PORT with the port of the target host, and LOCAL_PORT with the port to map on your local machine.
./ali-instance-cli portforward -i INSTANCE_ID -r TARGET_IP:TARGET_PORT -l LOCAL_PORT

Lorsque le message Waiting for connections s'affiche, le tunnel via le serveur de rebond est établi. Le trafic destiné à 127.0.0.1:<local_port> est acheminé via le serveur de rebond vers TARGET_IP:TARGET_PORT.

Exemple : mapper une instance RDS for MySQL ( rm-******.mysql.rds.aliyuncs.com:3306 ) sur le port local 13306 via le serveur de rebond i-bp1****** : ./ali-instance-cli portforward -i i-bp1****** -r rm-******.mysql.rds.aliyuncs.com:3306 -l 13306 .

FAQ

La ligne de commande ne répond pas après l'exécution d'une commande (l'instance n'est pas dans l'état Running)

Si la ligne de commande ne répond pas après l'exécution d'une commande ali-instance-cli, il est possible que l'instance ne soit pas dans l'état Running. Pour vérifier l'état de l'instance, consultez la section Vérifier si l'instance est dans l'état Running de cette rubrique.

La ligne de commande ne répond pas après l'exécution d'une commande (problème de configuration du groupe de sécurité)

Si la ligne de commande ne répond pas après l'exécution d'une commande ali-instance-cli, il est possible que les ports sortants requis ne soient pas ouverts dans le groupe de sécurité. Par défaut, les groupes de sécurité basiques autorisent tout le trafic sortant. Ce problème peut survenir si vous modifiez les règles sortantes ou si vous utilisez un groupe de sécurité avancé.

Lorsque vous utilisez Session Manager pour vous connecter à une instance ECS, assurez-vous que Cloud Assistant Agent exécuté sur l'instance ECS est connecté au serveur Cloud Assistant en ajoutant les règles suivantes à un groupe de sécurité sortant :

Contrairement aux méthodes de connexion telles que SSH et Remote Desktop Protocol (RDP), Cloud Assistant Agent établit activement une connexion WebSocket avec le serveur Session Manager. Vous devez uniquement ouvrir le port sortant WebSocket du serveur Cloud Assistant dans une règle de sécurité. Pour plus d'informations sur le fonctionnement de Session Manager, consultez la section Fonctionnement de Session Manager de cette rubrique.
Important
  • Si vous utilisez des groupes de sécurité basiques, y compris le groupe de sécurité par défaut, tout le trafic sortant est autorisé. Aucune configuration supplémentaire n'est requise.

  • Si vous utilisez un groupe de sécurité avancé, tout le trafic sortant est refusé. Vous devez configurer les règles appropriées. Le tableau suivant décrit ces règles. Pour plus d'informations sur les groupes de sécurité, consultez la section Groupes de sécurité basiques et avancés.

Pour savoir comment ajouter des règles à un groupe de sécurité, consultez la section Ajouter une règle de groupe de sécurité.

Action

Priorité

Type de protocole

Plage de ports

Objet d'autorisation

Description

Allow

1

Custom TCP

443

100.100.0.0/16

Ce port est utilisé pour accéder au serveur Cloud Assistant.

Allow

1

Custom TCP

443

100.0.0.0/8

Ce port est utilisé pour accéder au serveur sur lequel le package d'installation de Cloud Assistant Agent est stocké lors de l'installation ou de la mise à jour de Cloud Assistant Agent.

Allow

1

Custom UDP

53

0.0.0.0/0

Ce port est utilisé pour la résolution des noms de domaine.

Si vous souhaitez vous connecter à une instance uniquement via Session Manager, supprimez les règles entrantes qui autorisent le port SSH (22 par défaut) et le port RDP (3389 par défaut) d'un groupe de sécurité afin d'améliorer la sécurité de l'instance ECS.

Erreur DeliveryTimeout : Cloud Assistant Agent est hors ligne

Une erreur DeliveryTimeout indique que Cloud Assistant Agent est peut-être hors ligne. Pour vérifier l'état de l'agent, consultez la section Vérifier si Cloud Assistant Agent est installé sur une instance.

L'erreur "session manager is disabled, please enable first" s'affiche après l'exécution d'une commande

Si l'erreur session manager is disabled, please enable first se produit après l'exécution d'une commande ali-instance-cli, activez Session Manager dans la console.

Comment analyser les journaux ali-instance-cli

Analysez les journaux ali-instance-cli pour identifier les problèmes.

  • Journaux Session Manager CLI : lorsque vous utilisez ali-instance-cli, un dossier de journalisation (par exemple ~/log/aliyun_ecs_session_log.2022XXXX) est généré dans le répertoire de l'outil.

  • Journaux Cloud Assistant Agent :

    • Linux

      /usr/local/share/aliyun-assist/<Cloud Assistant Agent version>/log/
    • Windows

      C:\ProgramData\aliyun\assist\<Cloud Assistant Agent version>\log