Todos os produtos
Search
Central de documentação

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

Última atualização: Sep 22, 2026

O Session Manager cli (ali-instance-cli) permite o encaminhamento de portas TCP pelo Cloud Assistant e por WebSockets para acessar services de instâncias com ip privado ou criar túneis por meio de um jump server.

Casos de uso

Caso de uso 1: acessar services em uma instância com ip privado.

Mapeie uma porta de service em 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. Depois, conecte-se localmente para acessar o service remoto.

image

Caso de uso 2: usar uma instância como jump server para alcançar outros hosts privados.

Para services que você não consegue acessar diretamente, como um banco de dados apsaradb rds for MySQL, use como jump server uma instância ecs que tenha acesso de rede ao destino. A sessão de encaminhamento de portas cria um túnel por essa instância até os services privados.

image
Importante

Uma sessão de encaminhamento de portas permanece ativa apenas enquanto a janela de linha de comando está aberta. Ao fechar a janela, a sessão é encerrada.

Acesse services em uma instância com ip privado

Conclua preparations e instale e configure o Session Manager cli. Em seguida, siga estas etapas.

No Windows

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

# Replace INSTANCE_ID with the ID of the instance for which you want to defina 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 o TARGET_PORT da instância por 127.0.0.1:<local_port>.

Exemplo: encaminhar a porta do 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 de ali-instance-cli e execute:

#Replace INSTANCE_ID with the ID of the instance for which you want to defina 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 o TARGET_PORT da instância por 127.0.0.1:<local_port>.

Exemplo: encaminhar a porta do 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 jump server

Conclua preparations e instale e configure o Session Manager cli. Em seguida, siga estas etapas.

No Windows

Em PowerShell, acesse o diretório de 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 jump server estará estabelecido. O tráfego para 127.0.0.1:<local_port> passa pelo jump server até TARGET_IP:TARGET_PORT.

Exemplo: rotear o tráfego para uma instância RDS for MySQL em rm-******.mysql.rds.aliyuncs.com:3306 por meio do jump server 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 de 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 jump server estará estabelecido. O tráfego para 127.0.0.1:<local_port> passa pelo jump server até TARGET_IP:TARGET_PORT.

Exemplo: mapear uma instância RDS for MySQL ( rm-******.mysql.rds.aliyuncs.com:3306 ) para a porta local 13306 por meio do jump server 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 depois que você executa um comando (a instância não está no status Running)

Se a linha de comando não responder depois que você executar um comando ali-instance-cli, talvez a instância não esteja no status Running. Para isso, visualize o status da instância. Consulte Check whether the instance is in the Running state neste tópico.

A linha de comando não responde depois que você executa um comando (problema na configuração do grupo de segurança)

Se a linha de comando não responder depois que você executar um comando ali-instance-cli, talvez as portas outbound necessárias não estejam abertas no grupo de segurança. Por padrão, basic security groups permitem todo o tráfego outbound. Esse problema pode ocorrer se você modifique as regras outbound ou usar um advanced security group.

Quando você usa o Session Manager para se conectar a uma instância ecs, verifique se o Cloud Assistant Agent em execução na instância ecs está conectado ao servidor do Cloud Assistant. Para isso, adicione as regras a seguir a um grupo de segurança outbound:

Em comparação com 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 do Session Manager. Basta abrir a porta outbound WebSocket do servidor do Cloud Assistant em uma regra de segurança. Para obter informações sobre o funcionamento do Session Manager, consulte a seção How Session Manager works deste tópico.
Importante
  • Se você usa basic security groups, incluindo o default security group, todo o tráfego outbound é permitido. Nenhuma configuração adicional é necessária.

  • Se você usa um advanced security group, todo o tráfego outbound é negado. Configure as regras relevantes. A tabela a seguir descreve essas regras. Para obter informações sobre grupos de segurança, consulte Basic and advanced security groups.

Para obter informações sobre como adicionar regras a um grupo de segurança, consulte Add a security group rule.

Ação

Prioridade

Tipo de protocolo

Intervalo de portas

Objeto de autorização

Descrição

Allow

1

Custom TCP

443

100.100.0.0/16

Esta porta é usada para acessar o servidor do Cloud Assistant.

Allow

1

Custom TCP

443

100.0.0.0/8

Esta porta é usada para acessar o servidor no qual o pacote de instalação do Cloud Assistant Agent fica armazenado quando você precisar, instale ou atualize o Cloud Assistant Agent.

Allow

1

Custom UDP

53

0.0.0.0/0

Esta porta é usada para resolver nomes de domínio.

Se você quiser se conectar a uma instância usando apenas o Session Manager, exclua de um grupo de segurança as regras inbound que permitem a porta SSH (padrão 22) e a porta RDP (padrão 3389) para aumentar 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 Check whether the Cloud Assistant Agent is installed on an instance.

O erro "session manager is disabled, please enable first" é relatado depois que você executa um comando

Se o erro session manager is disabled, please enable first ocorrer depois que você executar um comando ali-instance-cli, ative Session Manager no console.

Como analisar logs do ali-instance-cli

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

  • Logs do Session Manager cli: quando você usa 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