Todos os produtos
Search
Central de documentação

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

Última atualização: Jul 03, 2026

A CLI do Session Manager (ali-instance-cli) permite encaminhar portas TCP via Cloud Assistant e WebSockets para acessar serviços em instâncias com IP privado ou criar túneis por um servidor de salto.

Casos de uso

Caso de uso 1: Acessar serviços em uma instância com IP privado.

Mapeie uma porta de serviço de uma instância sem endereço IP público (como a porta 80 para Nginx, 22 para SSH, 3389 para RDP ou 3306 para MySQL) para uma porta local e conecte-se localmente para acessar o serviço remoto.

image

Caso de uso 2: Usar uma instância como servidor de salto para alcançar outros hosts privados.

Para serviços inacessíveis diretamente, como um banco de dados ApsaraDB RDS for MySQL, use uma instância ECS com acesso de rede ao destino como servidor de salto. A sessão de encaminhamento de porta cria um túnel por essa instância até os serviços privados.

image
Importante

A sessão de encaminhamento de porta permanece ativa apenas enquanto a janela da linha de comando estiver aberta. Fechar a janela encerra a sessão.

Acesse serviços em uma instância com IP privado

Conclua as preparações e instale e configure a CLI do Session Manager. Em seguida, siga estas etapas.

No Windows

No PowerShell, acesse o diretório do ali-instance-cli.exe e execute:

# 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

Quando Waiting for connections aparecer, o túnel estará ativo. Acesse a TARGET_PORT da instância por 127.0.0.1:<local_port>.

Exemplo: encaminhar a porta Nginx 80 na instância i-bp1****** para a porta local 8080 : .\ali-instance-cli.exe portforward -i i-bp1****** -r 80 -l 8080 .

No macOS ou Linux

No terminal, acesse o diretório do ali-instance-cli e execute:

#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

Quando Waiting for connections aparecer, o túnel estará ativo. Acesse a TARGET_PORT da instância por 127.0.0.1:<local_port>.

Exemplo: encaminhar a porta Nginx 80 na instância i-bp1****** para a porta local 8080 : ./ali-instance-cli portforward -i i-bp1****** -r 80 -l 8080 .

Use uma instância como servidor de salto

Conclua as preparações e instale e configure a CLI do Session Manager. Em seguida, siga estas etapas.

No Windows

No PowerShell, acesse o diretório do ali-instance-cli.exe e execute:

# 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

Quando Waiting for connections aparecer, o túnel do servidor de salto estará estabelecido. O tráfego para 127.0.0.1:<local_port> passa pelo servidor de salto em direção a TARGET_IP:TARGET_PORT.

Exemplo: rotear tráfego para uma instância RDS for MySQL em rm-******.mysql.rds.aliyuncs.com:3306 pelo servidor de salto i-bp1****** para a porta local 13306 : .\ali-instance-cli.exe portforward -i i-bp1****** -r rm-******.mysql.rds.aliyuncs.com:3306 -l 13306 .

No macOS ou Linux

No terminal, acesse o diretório do ali-instance-cli e execute:

#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

Quando Waiting for connections aparecer, o túnel do servidor de salto estará estabelecido. O tráfego para 127.0.0.1:<local_port> passa pelo servidor de salto em direção a TARGET_IP:TARGET_PORT.

Exemplo: mapear uma instância RDS for MySQL ( rm-******.mysql.rds.aliyuncs.com:3306 ) para a porta local 13306 pelo servidor de salto i-bp1****** : ./ali-instance-cli portforward -i i-bp1****** -r rm-******.mysql.rds.aliyuncs.com:3306 -l 13306 .

Perguntas frequentes

A linha de comando não responde após a execução de um comando (A instância não está no estado Running)

Se a linha de comando não responder após a execução de um comando ali-instance-cli, a instância pode não estar no estado Running. Para visualizar o status da instância, consulte Verificar se a instância está no estado Running neste tópico.

A linha de comando não responde após a execução de um comando (Problema de configuração do grupo de segurança)

Caso a linha de comando não responda após a execução de um comando ali-instance-cli, as portas de saída necessárias podem não estar abertas no grupo de segurança. Por padrão, os grupos de segurança básicos permitem todo o tráfego de saída. Esse problema pode ocorrer se você modifique as regras de saída ou usar um grupo de segurança avançado.

Ao usar o Session Manager para conectar-se a uma instância ECS, garanta que o Cloud Assistant Agent em execução na instância ECS esteja conectado ao servidor Cloud Assistant. Para isso, adicione as seguintes regras a um grupo de segurança de saída:

Diferentemente de métodos de conexão como SSH e Remote Desktop Protocol (RDP), o Cloud Assistant Agent estabelece ativamente uma conexão WebSocket com o servidor Session Manager. Basta abrir a porta WebSocket de saída do servidor Cloud Assistant em uma regra de segurança. Para obter informações sobre o funcionamento do Session Manager, consulte a seção Como o Session Manager funciona deste tópico.
Importante
  • Se você usar grupos de segurança básicos, incluindo o grupo de segurança padrão, todo o tráfego de saída será permitido. Nenhuma configuração adicional é necessária.

  • Caso use um grupo de segurança avançado, todo o tráfego de saída será negado. Configure as regras relevantes conforme descrito na tabela a seguir. Para obter informações sobre grupos de segurança, consulte Grupos de segurança básicos e avançados.

Para obter informações sobre como adicionar regras a um grupo de segurança, consulte Adicionar uma regra de grupo de segurança.

Action

Priority

Protocol type

Port range

Authorization object

Description

Allow

1

Custom TCP

443

100.100.0.0/16

Esta porta acessa o servidor Cloud Assistant.

Allow

1

Custom TCP

443

100.0.0.0/8

Esta porta acessa o servidor que armazena o pacote de instalação do Cloud Assistant Agent durante a instalação ou atualização do Cloud Assistant Agent.

Allow

1

Custom UDP

53

0.0.0.0/0

Esta porta resolve nomes de domínio.

Para conectar-se a uma instância usando apenas o Session Manager, exclua do grupo de segurança as regras de entrada que permitem a porta SSH (padrão 22) e a porta RDP (padrão 3389). Isso aumenta a segurança da instância ECS.

Erro DeliveryTimeout: Cloud Assistant Agent está offline

Um erro DeliveryTimeout indica que o Cloud Assistant Agent pode estar offline. Para verificar o status do agente, consulte Verificar se o Cloud Assistant Agent está instalado em uma instância.

O erro "session manager is disabled, please enable first" é relatado após a execução de um comando

Se o erro session manager is disabled, please enable first ocorrer após a execução de um comando ali-instance-cli, ative o Session Manager no console.

Como analisar logs do ali-instance-cli

Analise os logs do ali-instance-cli para identificar problemas.

  • Logs da CLI do Session Manager: Ao usar o ali-instance-cli, uma pasta de log (por exemplo, ~/log/aliyun_ecs_session_log.2022XXXX) é gerada no diretório da ferramenta.

  • Logs do Cloud Assistant Agent:

    • Linux

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

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