

# Conexão com uma instância do Amazon EC2 usando o EC2 Instance Connect Endpoint
<a name="connect-using-eice"></a>

É 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](permissions-for-ec2-instance-connect-endpoint.md#iam-OpenTunnel).
+ 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](create-ec2-instance-connect-endpoints.md).
+ 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](ec2-instance-connect-set-up.md).
+ 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](eice-security-groups.md#resource-security-group-rules).

**Topics**
+ [Conectar-se à sua instância do Linux usando o console do Amazon EC2](#connect-using-the-ec2-console)
+ [Conectar-se à instância do Linux usando SSH](#eic-connect-using-ssh)
+ [Conectar-se à instância do Linux com seu ID da instância usando a AWS CLI](#eic-connect-using-cli)
+ [Conectar-se à sua instância baseada no Windows usando RDP](#eic-connect-using-rdp)
+ [Solução de problemas](#troubleshoot-eice)

## Conectar-se à sua instância do Linux usando o console do Amazon EC2
<a name="connect-using-the-ec2-console"></a>

É 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**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, escolha **Instances (Instâncias)**.

1. Selecione a instância e escolha **Conectar**.

1. Escolha a guia **EC2 Instance Connect**.

1. Em **Tipo de conexão**, escolha **Conectar usando um IP privado**.

1. 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.

1. 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](create-ec2-instance-connect-endpoints.md).

1. 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.

1. 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 `maxTunnelDuration` especificada na política do IAM. Caso não tenha acesso à política do IAM, entre em contato com seu administrador.

1. Selecione **Conectar**. Isso abrirá uma janela de terminal para sua instância.

## Conectar-se à instância do Linux usando SSH
<a name="eic-connect-using-ssh"></a>

É 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](ec2-instance-connect-methods.md#connect-linux-inst-eic-cli-ssh).

Os exemplos a seguir usam [OpenSSH](https://www.openssh.com/). É possível usar qualquer outro cliente SSH que ofereça suporte a um modo proxy.

### Conexão única
<a name="ssh-single-connection"></a>

**Para permitir somente uma única conexão com uma instância usando SSH e o comando `open-tunnel`**

Use o `ssh` o comando [https://docs.aws.amazon.com/cli/latest/reference/ec2-instance-connect/open-tunnel.html](https://docs.aws.amazon.com/cli/latest/reference/ec2-instance-connect/open-tunnel.html) 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 -i my-key-pair.pem ec2-user@i-1234567890abcdef0 \
    -o ProxyCommand='aws ec2-instance-connect open-tunnel --instance-id i-1234567890abcdef0'
```

Em:
+ `-i`: especifique o par de chaves usado para iniciar a instância.
+ `ec2-user@i-1234567890abcdef0`: 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.
+ `--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-id i-1234567890abcdef0` por `--private-ip-address 2001:db8::1234:5678:1.2.3.4`.

### Conexão múltipla
<a name="ssh-multi-connection"></a>

Para permitir várias conexões a uma instância, primeiro execute o comando [https://docs.aws.amazon.com/cli/latest/reference/ec2-instance-connect/open-tunnel.html](https://docs.aws.amazon.com/cli/latest/reference/ec2-instance-connect/open-tunnel.html) 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`**

1. 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-id i-1234567890abcdef0 \
       --local-port 8888
   ```

   Saída esperada:

   ```
   Listening for connections on port 8888.
   ```

1. Em uma *nova janela de terminal*, execute o comando `ssh` a seguir para criar uma nova conexão de TCP e um túnel privado para sua instância.

   ```
   ssh -i my-key-pair.pem ec2-user@localhost -p 8888
   ```

   Saí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
<a name="eic-connect-using-cli"></a>

Se você souber apenas o ID da sua instância, poderá usar o comando [ec2-instance-connect ssh](https://docs.aws.amazon.com/cli/latest/reference/ec2-instance-connect/ssh.html) 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](ec2-instance-connect-methods.md#connect-linux-inst-eic-cli-ssh).

**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](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) e [Configurar a AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) 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](https://docs.aws.amazon.com/cli/latest/reference/ec2-instance-connect/ssh.html) 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-id i-1234567890example \
      --os-user ec2-user \
      --connection-type eice
  ```
+ Se a instância tiver apenas um endereço IPv6, inclua o parâmetro `--instance-ip` com o endereço IPv6:

  ```
  aws ec2-instance-connect ssh \
      --instance-id i-1234567890example \
      --instance-ip 2001:db8::1234:5678:1.2.3.4 \
      --os-user ec2-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](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html#welcome-versions-v2), no *Guia do usuário do AWS Command Line Interface*.

## Conectar-se à sua instância baseada no Windows usando RDP
<a name="eic-connect-using-rdp"></a>

É 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**

1. Conclua as etapas 1 a 8 em [Conectar-se à sua instância baseada no Windows usando RDP](connect-rdp.md). 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.

1. Execute o comando a seguir para estabelecer um túnel privado para a VPC na qual a instância está localizada. A `--remote-port` deve ser `3389`, pois o RDP usa a porta 3389 por padrão.

   ```
   aws ec2-instance-connect open-tunnel \
       --instance-id i-1234567890abcdef0 \
       --remote-port 3389 \
       --local-port any-port
   ```

1. 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.

1. Clique com o botão direito do mouse no arquivo de área de trabalho de RDP e escolha **Editar**.

1. Na janela **Editar computador**, para **Nome do computador** (a instância à qual se conectar), insira `localhost:local-port`, em que `local-port` usa o mesmo valor especificado na Etapa 2, e, em seguida, escolha **Salvar**.

   Observe 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.  
![\[O cliente RDP com o exemplo “localhost:5555" no campo do nome do PC.\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/ec2-instance-connect-endpoint-rdp.png)

1. 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.

1. No prompt, insira a senha descriptografada da conta do administrador.

## Solução de problemas
<a name="troubleshoot-eice"></a>

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 name="troubleshoot-eice-1"></a>

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](eice-security-groups.md).
+ 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](permissions-for-ec2-instance-connect-endpoint.md).

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](TroubleshootingInstancesConnecting.md). 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](troubleshoot-connect-windows-instance.md).

### ErrorCode: AccessDeniedException
<a name="troubleshoot-eice-2"></a>

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 [https://docs.aws.amazon.com/cli/latest/reference/ec2-instance-connect/open-tunnel.html](https://docs.aws.amazon.com/cli/latest/reference/ec2-instance-connect/open-tunnel.html) na *Referência de comandos da AWS CLI*.