Conexão com uma instância do Amazon EC2 usando o EC2 Instance Connect Endpoint
É possível usar o EC2 Instance Connect Endpoint para se conectar a uma instância do Amazon EC2 compatível com SSH ou RDP.
Pré-requisitos
-
É necessário ter a permissão do IAM exigida para criar um EC2 Instance Connect Endpoint. Para obter mais informações, consulte Permissões para usar o EC2 Instance Connect Endpoint para se conectar às instâncias.
-
O EC2 Instance Connect Endpoint deve estar em um dos seguintes estados:
-
create-complete para um novo endpoint
-
update-in-progress, update-complete ou update-failed para um endpoint existente que está sendo modificado. Ao modificar um endpoint, ele continua usando sua configuração original até o status mudar para update-complete.
Se a VPC não tiver um EC2 Instance Connect Endpoint, você poderá criar um. Para obter mais informações, consulte Criar um EC2 Instance Connect Endpoint.
-
-
O tipo de endereço IP do EC2 Instance Connect Endpoint deve ser compatível com o tipo de endereço IP da instância. Quando o tipo de endereço IP do endpoint é pilha dupla, ele pode funcionar tanto para endereços IPv4 quanto IPv6.
-
(Instâncias do Linux) Para usar o console do Amazon EC2 para se conectar à instância ou para usar a CLI para se conectar e fazer com que o EC2 Instance Connect lide com a chave temporária, a instância deve ter o EC2 Instance Connect instalado. Para obter mais informações, consulte Instalar o EC2 Instance Connect.
-
Certifique-se de que o grupo de segurança da instância permita tráfego SSH de entrada do grupo de segurança do EC2 Instance Connect Endpoint. Para obter mais informações, consulte Regras do grupo de segurança da instância de destino.
Opções de conexão
Conectar-se à sua instância do Linux usando o console do Amazon EC2
É possível se conectar a uma instância usando o console do Amazon EC2 (um cliente baseado em navegador) conforme descrito a seguir.
Conectar-se a instâncias do Linux usando o console do Amazon EC2
-
Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/
. -
No painel de navegação, escolha Instances (Instâncias).
-
Selecione a instância e escolha Conectar.
-
Escolha a guia EC2 Instance Connect.
-
Em Tipo de conexão, escolha Conectar usando um IP privado.
-
Escolha Endereço IPv4 privado ou Endereço IPv6. As opções estão disponíveis com base nos endereços IP atribuídos à instância. Quando uma opção está esmaecida, ela não tem um endereço IP daquele tipo atribuído a ela.
-
Em EC2 Instance Connect Endpoint, escolha o ID do EC2 Instance Connect Endpoint.
nota
O EC2 Instance Connect Endpoint deve ser compatível com o endereço IP escolhido na etapa anterior. Quando o tipo de endereço IP do endpoint é pilha dupla, ele pode funcionar tanto para endereços IPv4 quanto IPv6. Para obter mais informações, consulte Criar um EC2 Instance Connect Endpoint.
-
Para Nome de usuário, se a AMI que você usou para executar a instância usar um nome de usuário diferente de
ec2-user, insira o nome de usuário correto. -
Em Duração máxima do túnel (segundos), insira a duração máxima permitida para a conexão de SSH.
A duração deve estar em conformidade com qualquer condição
maxTunnelDurationespecificada na política do IAM. Caso não tenha acesso à política do IAM, entre em contato com seu administrador. -
Selecione Conectar. Isso abrirá uma janela de terminal para sua instância.
Conectar-se à instância do Linux usando SSH
É possível usar o SSH para se conectar à sua instância de Linux e usar o comando open-tunnel para estabelecer um túnel privado. É possível usar open-tunnel no modo de conexão única ou de conexão múltipla. Você pode especificar o ID da instância, um endereço IPv4 privado ou um endereço IPv6.
Para obter mais informações sobre o uso da AWS CLI para se conectar à sua instância utilizando SSH, consulte Conectar-se usando o AWS CLI.
Os exemplos a seguir usam OpenSSH
Conexão única
Para permitir somente uma única conexão com uma instância usando SSH e o comando open-tunnel
Use o ssh o comando open-tunnel da AWS CLI da seguinte forma. O comando de proxy -o inclui o comando open-tunnel que cria o túnel privado para a instância.
ssh -imy-key-pair.pemec2-user@i-1234567890abcdef0\ -o ProxyCommand='aws ec2-instance-connect open-tunnel --instance-idi-1234567890abcdef0'
Em:
-
-i: especifique o par de chaves usado para iniciar a instância. -
: especifique o nome do usuário da AMI que foi usada para iniciar a instância e o ID da instância. Para instâncias com um endereço IPv6, você deve especificar o endereço IPv6 em vez do ID da instância.ec2-user@i-1234567890abcdef0 -
--instance-id: especifique o ID da instância à qual se conectar. Como alternativa, especifique%h, que extrai o ID da instância do usuário. Para instâncias com um endereço IPv6, substitua--instance-idpori-1234567890abcdef0--private-ip-address.2001:db8::1234:5678:1.2.3.4
Conexão múltipla
Para permitir várias conexões a uma instância, primeiro execute o comando open-tunnel da AWS CLI para começar a escutar novas conexões de TCP, e depois use o ssh para criar uma nova conexão de TCP e um túnel privado para sua instância.
Para permitir várias conexões com sua instância usando SSH e o comando open-tunnel
-
Execute o comando a seguir para começar a escutar novas conexões de TCP na porta especificada em sua máquina local.
aws ec2-instance-connect open-tunnel \ --instance-idi-1234567890abcdef0\ --local-port8888Saída esperada:
Listening for connections on port 8888. -
Em uma nova janela de terminal, execute o comando
ssha seguir para criar uma nova conexão de TCP e um túnel privado para sua instância.ssh -imy-key-pair.pem ec2-user@localhost -p8888Saída esperada: na primeira janela do terminal, você verá o seguinte:
[1] Accepted new tcp connection, opening websocket tunnel.Também será possível ver o seguinte:
[1] Closing tcp connection.
Conectar-se à instância do Linux com seu ID da instância usando a AWS CLI
Se você souber apenas o ID da sua instância, poderá usar o comando ec2-instance-connect ssh da AWS CLI para se conectar à sua instância usando um cliente SSH. Para obter mais informações, consulte Conectar-se usando o AWS CLI.
Pré-requisitos
-
Instale a AWS CLI versão 2 e configure-a usando suas credenciais. Para obter mais informações, consulte Instalar ou atualizar para a versão mais recente da AWS CLI e Configurar a AWS CLI no Guia do usuário da AWS Command Line Interface.
-
Como alternativa, abra AWS CloudShell e execute os comandos da AWS CLI em seu shell pré-autenticado.
Para se conectar a uma instância usando o ID da instância e um EC2 Instance Connect Endpoint
Se você souber apenas o ID da instância, use o comando ec2-instance-connect ssh da CLI e especifique o comando ssh, o ID da instância e o parâmetro --connection-type com o valor eice para usar um EC2 Instance Connect Endpoint. Se a instância tiver apenas um endereço IPv6, você deverá incluir também o parâmetro --instance-ip com o endereço IPv6.
-
Se a instância tiver um endereço IPv4 privado (ela também pode ter um endereço IPv6), use o seguinte comando e os seguintes parâmetros:
aws ec2-instance-connect ssh \ --instance-idi-1234567890example\ --os-userec2-user\ --connection-type eice -
Se a instância tiver apenas um endereço IPv6, inclua o parâmetro
--instance-ipcom o endereço IPv6:aws ec2-instance-connect ssh \ --instance-idi-1234567890example\ --instance-ip2001:db8::1234:5678:1.2.3.4\ --os-userec2-user\ --connection-type eice
dica
Se receber um erro ao usar esse comando, verifique se está usando a versão 2 da AWS CLI. O parâmetro ssh apenas está disponível para o AWS CLI versão 2. Para obter mais informações, consulte Sobre o AWS CLI versão 2, no Guia do usuário do AWS Command Line Interface.
Conectar-se à sua instância baseada no Windows usando RDP
É possível usar o Remote Desktop Protocol (RDP) no EC2 Instance Connect Endpoint para se conectar a uma instância do Windows sem um endereço IPv4 público ou nome de DNS público.
Para se conectar à sua instância do Windows usando um cliente RDP
-
Conclua as etapas 1 a 8 em Conectar-se à sua instância baseada no Windows usando RDP. Após fazer o download do arquivo da área de trabalho RDP na Etapa 8, você receberá uma mensagem Não foi possível se conectar, o que é esperado porque a instância não tem um endereço IP público.
-
Execute o comando a seguir para estabelecer um túnel privado para a VPC na qual a instância está localizada. A
--remote-portdeve ser3389, pois o RDP usa a porta 3389 por padrão.aws ec2-instance-connect open-tunnel \ --instance-idi-1234567890abcdef0\ --remote-port 3389 \ --local-portany-port -
Na sua pasta Downloads, localize o arquivo de área de trabalho de RDP que você baixou e arraste-o para a janela do cliente RDP.
-
Clique com o botão direito do mouse no arquivo de área de trabalho de RDP e escolha Editar.
-
Na janela Editar computador, para Nome do computador (a instância à qual se conectar), insira
localhost:, em quelocal-portusa o mesmo valor especificado na Etapa 2, e, em seguida, escolha Salvar.local-portObserve que a captura de tela a seguir da janela Editar PC é do Microsoft Remote Desktop em um Mac. Se você estiver usando um cliente Windows, a janela pode ser diferente.
-
No cliente RDP, clique com o botão direito do mouse no PC (que você acabou de configurar) e escolha Conectar para se conectar à sua instância.
-
No prompt, insira a senha descriptografada da conta do administrador.
Solução de problemas
Use as informações a seguir para ajudar a diagnosticar e corrigir problemas que podem ser encontrados ao usar o EC2 Instance Connect Endpoint para se conectar a uma instância.
Não é possível conectar-se à sua instância
A seguir estão motivos comuns pelos quais você pode não conseguir se conectar à sua instância.
-
Grupos de segurança: verifique os grupos de segurança atribuídos ao EC2 Instance Connect Endpoint e à sua instância. Para obter mais informações sobre as regras necessárias de grupo de segurança, consulte Grupos de segurança para o EC2 Instance Connect Endpoint.
-
Estado da instância:^verifique se a instância está no estado
running. -
Par de chaves: se o comando que você está usando para se conectar exigir uma chave privada, verifique se sua instância tem uma chave pública e se você tem a chave privada correspondente.
-
Permissões do IAM: verifique se você tem as permissões do IAM necessárias. Para obter mais informações, consulte Conceder permissões para usar o EC2 Instance Connect Endpoint.
Para obter mais dicas de solução de problemas para instâncias do Linux, consulte Solucionar problemas de conexão com a instância do Linux do Amazon EC2. Para obter dicas de solução de problemas para instâncias do Windows, consulte Solucionar problemas de conexão à instância do Windows do Amazon EC2.
ErrorCode: AccessDeniedException
Se você receber um erro AccessDeniedException e a condição maxTunnelDuration estiver especificada na política do IAM, certifique-se de especificar o parâmetro --max-tunnel-duration ao conectar-se a uma instância. Para obter mais informações sobre esse parâmetro, consulte open-tunnel na Referência de comandos da AWS CLI.