

# Conexão com a instância do EC2
<a name="connect"></a>

Uma instância do Amazon EC2 é um servidor virtual na Nuvem AWS. Para fazer login na instância, você deve estabelecer uma conexão com a instância. A forma como você se conecta à instância depende do sistema operacional da instância e do sistema operacional do computador que você usa para se conectar à instância. A tabela a seguir detalha os requisitos para cada método de conexão.


| Opção de conexão | Sistema operacional da instância | Regra do tráfego de entrada | permissões do IAM | Função do perfil de instância | Software na instância | Software no sistema de conexão | Par de chaves | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
|  Cliente SSH  |  Linux  |  Sim  |  Não  |  Não  |  Não  |  Sim  |  Sim  | 
|  EC2 Instance Connect  |  Linux  |  Sim  |  Sim  |  Não  |  Sim ¹  |  Não  |  Não  | 
| PuTTY |  Linux  |  Sim  |  Não  |  Não  |  Não  |  Sim  |  Sim  | 
| Cliente RDP |  Windows  |  Sim  |  Não  |  Não  |  Não  |  Sim  |  Sim ²  | 
| Fleet Manager |  Windows  |  Não  |  Sim  |  Sim  |  Sim ¹  |  Não  |  Sim  | 
| Session Manager |  Linux, Windows  |  Não  |  Sim  |  Sim  |  Sim ¹  |  Não  |  Não  | 
| Endpoint do EC2 Instance Connect |  Linux, Windows  |  Sim  |  Sim  |  Não  |  Não  |  Não  |  Não ³  | 

¹ O software necessário é pré-instalado somente em determinadas AMIs. É possível instalar manualmente o software necessário, conforme necessário, nos sistemas operacionais compatíveis.

² O par de chaves só é necessário se você estiver usando a senha gerada aleatoriamente para a conta de usuário local do administrador.

³ Um par de chaves será necessário se você usar o método de conexão SSH.

Para ter mais informações, consulte a documentação da opção de conexão que deseja usar.

**Opções de conexão**
+ [Conectar-se à instância do Linux usando um cliente SSH](connect-linux-inst-ssh.md)
+ [Conectar-se à instância do Linux usando PuTTY](connect-linux-inst-from-windows.md)
+ [Conexão com a instância do Windows usando um cliente RDP](connect-rdp.md)
+ [Conectar a uma instância do Windows usando o Fleet Manager](connect-rdp-fleet-manager.md)
+ [Conectar-se usando o Gerenciador de sessões](connect-with-systems-manager-session-manager.md)
+ [Conecte-se usando um IP público e o EC2 Instance Connect](connect-linux-inst-eic.md)
+ [Conecte-se usando um IP privado e uma instância do EC2 Conecte-se ao endpoint](connect-with-ec2-instance-connect-endpoint.md)

# Pré-requisitos gerais de conexão
<a name="connection-prereqs-general"></a>

Veja a seguir os pré-requisitos gerais para se conectar a uma instância. Observe que poderá haver pré-requisitos adicionais específicos para a opção de conexão que você escolher.

**Pré-requisitos gerais**
+ Verifique se a instância passou nas verificações de status. Pode demorar alguns minutos para que a instância fique pronta para aceitar solicitações de conexão. Para obter mais informações, consulte [Visualizar verificações de status](viewing_status.md).
+ [Obter os detalhes necessários da instância](#connection-prereqs-get-info-about-instance).
+ [Localizar a chave privada e definir permissões](#connection-prereqs-private-key).
+ [(Opcional) Obter a impressão digital da instância](#connection-prereqs-fingerprint).

## Obter os detalhes necessários da instância
<a name="connection-prereqs-get-info-about-instance"></a>

Para preparar-se para a conexão com uma instância, obtenha as informações a seguir no console do Amazon EC2 ou use a linha de comando.

![\[O painel Instâncias do console do Amazon EC2.\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/connection-prereqs-console2.png)

+ **Obtenha o nome do DNS público da instância.**

  É possível obter o DNS público da instância usando o console do Amazon EC2. Verifique a coluna **DNS IPv4 público** do painel **Instâncias**. Se essa coluna estiver oculta, escolha o ícone de configurações (![\[The gear icon.\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/settings-icon.png)) no canto superior direito da tela e selecione **DNS público (IPv4)**. Você também pode encontrar o DNS público na seção de informações da instância do painel **Instâncias**. Quando você seleciona a instância no painel **Instâncias** do console do Amazon EC2, as informações sobre essa instância aparecem na metade inferior da página. Na guia **Detalhes**, procure **DNS IPv4 público**.

  Se preferir, é possível usar o comando [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) (AWS CLI) ou [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) (AWS Tools for Windows PowerShell).

  Se nenhum **DNS IPv4 público** for exibido, verifique se o **estado da instância** é **em execução** e se você não iniciou a instância em uma sub-rede privada. Se você iniciou a instância usando o [assistente de inicialização de instância](ec2-launch-instance-wizard.md), talvez tenha editado o campo **Atribuição automática de IP público** em **Configurações de rede** e alterado o valor para **Desabilitar**. Se você desabilitar a opção **Atribuição automática de IP públic**, a instância não receberá um endereço IP público quando for iniciada. 
+ **(Somente instâncias IPv6) Obtenha o endereço IPv6 da instância.**

  Se você atribuiu um endereço IPv6 à instância, terá a opção de se conectar a ela usando o endereço IPv6 em vez de um endereço IPv4 ou o nome de host DNS público. Seu computador local deve ter um endereço IPv6 e configurado para usar IPv6. É possível obter o endereço IPv6 da instância no console do Amazon EC2. Verifique a coluna **IPs IPv6** do painel **Instâncias**. Ou você pode encontrar o endereço IPv6 na seção de informações da instância. Quando você seleciona a instância no painel **Instâncias** do console do Amazon EC2, as informações sobre essa instância aparecem na metade inferior da página. Na guia **Detalhes**, procure **Endereço IPv6**.

  Se preferir, é possível usar o comando [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) (AWS CLI) ou [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) (AWS Tools for Windows PowerShell). Para obter mais informações sobre IPv6, consulte [Endereços IPv6](using-instance-addressing.md#ipv6-addressing).
+ **(Instâncias do Linux) Obtenha o nome de usuário da instância.**

  É possível se conectar à instância usando o nome de usuário da sua conta de usuário ou o nome de usuário padrão da AMI que você usou para iniciar a instância.
  + **Obtenha o nome de usuário da sua conta de usuário.**

    Para obter mais informações sobre como criar uma conta de usuário, consulte [Gerenciar usuários do sistema na instância do Linux do Amazon EC2](managing-users.md).
  + **Obtenha o nome de usuário padrão da AMI que você usou para iniciar a instância.**
    + **Amazon Linux**: `ec2-user`
    + **CentOS**: `centos` ou `ec2-user`
    + **Debian** – `admin`
    + **Fedora**: `fedora` ou `ec2-user`
    + **FreeBSD**: `ec2-user`
    + **RHEL**: `ec2-user` ou `root`
    + **SUSE**: `ec2-user` ou `root`
    + **Ubuntu** – `ubuntu`
    + **Oracle** – `ec2-user`
    + **Bitnami** – `bitnami`
    + **Rocky Linux** – `rocky`
    + **Outro**: verificar com o provedor da AMI

## Localizar a chave privada e definir permissões
<a name="connection-prereqs-private-key"></a>

Você deve conhecer o local do arquivo de chave privada para fazer a conexão inicial com uma instância do Linux usando SSH ou com uma instância do Windows usando RDP. Para conexões SSH, você deve definir as permissões de arquivo para que somente você possa ler a chave privada.

Para obter informações sobre como os pares de chaves funcionam ao usar o Amazon EC2, consulte [Pares de chaves do Amazon EC2 e instâncias do Amazon EC2](ec2-key-pairs.md).
+ **Localize a chave privada.**

  Obtenha o caminho totalmente qualificado para o local em seu computador do arquivo `.pem` para o par de chaves que você especificou quando executou a instância. Para obter mais informações, consulte [Identifique a chave pública que foi especificada na inicialização](describe-keys.md#identify-key-pair-specified-at-launch).

  Se você não conseguir encontrar seu arquivo de chave privada, consulte . [Perdi minha chave privada. Como posso me conectar à instância?](TroubleshootingInstancesConnecting.md#replacing-lost-key-pair)

  (Instâncias do Linux) Se você estiver se conectando à instância usando PuTTY e precisar converter o arquivo `.pem` em `.ppk`, consulte [Converta a chave privada usando o PuTTYgen](connect-linux-inst-from-windows.md#putty-private-key).
+ **(Instâncias do Linux) Defina as permissões da chave privada de modo que só você possa lê-la.**
  + **Conectar do macOS ou do Linux**

    Se você planejar usar um cliente SSH em um computador com macOS ou Linux para se conectar à instância do Linux, use o seguinte comando para definir as permissões do arquivo de chave privada de modo que só você possa lê-lo.

    ```
    chmod 400 key-pair-name.pem
    ```

    Se você não definir essas permissões, não poderá conectar-se à instância usando esse par de chaves. Para obter mais informações, consulte [Erro: arquivo de chave privada desprotegido](TroubleshootingInstancesConnecting.md#troubleshoot-unprotected-key).
  + **Conectar do Windows**

    Abra o Explorador de Arquivos e clique com o botão direito do mouse no arquivo `.pem`. Selecione a **guia **Propriedades** > Segurança** e escolha **Avançado**. Escolha **Desabilitar herança**. Remova o acesso para todos os usuários, exceto para o usuário atual. 

## (Opcional) Obter a impressão digital da instância
<a name="connection-prereqs-fingerprint"></a>

Para se proteger de ataques “man-in-the-middle”, será possível verificar a autenticidade da instância à qual está prestes a se conectar, conferindo a impressão digital exibida. A verificação da impressão digital será útil se você executar a instância usando uma AMI pública fornecida por terceiros.

**Visão geral da tarefa**  
Primeiro, obtenha a impressão digital da instância diretamente da instância. Em seguida, quando você se conectar à instância e receber a solicitação para verificar a impressão digital, compare a impressão digital que obteve nesse procedimento com a impressão digital exibida. Caso essas impressões digitais não correspondam, alguém pode estar tentando um ataque man-in-the-middle. Se elas corresponderem, será possível se conectar à instância com confiança.

**Pré-requisitos para obter a impressão digital da instância**
+ A instância não deve estar no estado `pending`. A impressão digital só estará disponível após a conclusão da primeira inicialização da instância.
+ Você deve ser o proprietário da instância para obter a saída do console.
+ Há várias maneiras de obter a impressão digital da instância. Se você quiser usar a AWS CLI, ela deverá estar instalada no seu computador local. Para obter mais informações sobre a instalação do AWS CLI, consulte [Conceitos básicos do AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) no *Guia do usuário do AWS Command Line Interface*.

**Para obter a impressão digital da instância**

Na Etapa 1, você obtém a saída do console, que inclui a impressão digital da instância. Na Etapa 2, você encontra a impressão digital da instância na saída do console.

1. Use um dos métodos a seguir para obter a saída do console.

------
#### [ Console ]

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

   1. No navegador à esquerda, escolha **Instâncias**.

   1. Selecione sua instância e escolha **Ações**, **Monitorar e solucionar problemas** e **Obter log do sistema**.

------
#### [ AWS CLI ]

   No computador local (e não na instância com a qual você está se conectando), use o comando [get-console-output](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-console-output.html). Se a saída for grande, [será possível redirecioná-la para um arquivo de texto](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-output-format.html), onde poderá ser mais fácil lê-la.

   ```
   aws ec2 get-console-output \
       --instance-id i-1234567890abcdef0 \
       --query Output \
       --output text > temp.txt
   ```

------
#### [ PowerShell ]

   No seu computador local, use o seguinte cmdlet [Get-EC2ConsoleOutput](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ConsoleOutput.html).

   ```
   $encodedOutput = (Get-EC2ConsoleOutput -InstanceId i-1234567890abcdef0).Output
   [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($encodedOutput))
   ```

------

1. Na saída do console, encontre a impressão digital da instância (host), localizada abaixo de `BEGIN SSH HOST KEY FINGERPRINTS`. Pode haver impressões digitais de várias instâncias. Quando você se conecta à sua instância, ela exibe somente uma das impressões digitais.

   A saída exata pode variar de acordo com o sistema operacional, a versão da AMI e se a AWS criou o par de chaves. O seguinte é um exemplo de saída.

   ```
   ec2:#############################################################
   ec2: -----BEGIN SSH HOST KEY FINGERPRINTS-----
   ec2: 256 SHA256:l4UB/neBad9tvkgJf1QZWxheQmR59WgrgzEimCG6kZY no comment (ECDSA)
   ec2: 256 SHA256:kpEa+rw/Uq3zxaYZN8KT501iBtJOIdHG52dFi66EEfQ no comment (ED25519)
   ec2: 2048 SHA256:L8l6pepcA7iqW/jBecQjVZClUrKY+o2cHLI0iHerbVc no comment (RSA)
   ec2: -----END SSH HOST KEY FINGERPRINTS-----
   ec2: #############################################################
   ```
**nota**  
Você vai mencionar essa impressão digital quando se conectar à instância.

# Conectar-se à instância do Linux usando SSH
<a name="connect-to-linux-instance"></a>

Há várias maneiras de se conectar à instância do Linux usando SSH. Algumas maneiras dependem do sistema operacional do computador local do qual você se conecta. Outros métodos são baseados em navegador, como o EC2 Instance Connect ou o Gerenciador de Sessões do AWS Systems Manager, que podem ser usados em qualquer computador. Você pode usar o SSH para se conectar a uma instância do Linux e executar comandos ou usar o SSH para transferir arquivos entre o computador local e a instância.

Antes de você se conectar à instância do Linux usando o SSH, conclua os seguintes pré-requisitos:
+ Verifique se a instância passou nas verificações de status. Pode demorar alguns minutos para que a instância fique pronta para aceitar solicitações de conexão. Para obter mais informações, consulte [Visualizar verificações de status](viewing_status.md).
+ Verifique se o grupo de segurança associado à instância permite tráfego SSH de entrada do endereço IP. Para obter mais informações, consulte [Regras para se conectar a instâncias pelo computador](security-group-rules-reference.md#sg-rules-local-access).
+ [Obter os detalhes necessários da instância](connection-prereqs-general.md#connection-prereqs-get-info-about-instance).
+ [Localizar a chave privada e definir permissões](connection-prereqs-general.md#connection-prereqs-private-key).
+ [(Opcional) Obter a impressão digital da instância](connection-prereqs-general.md#connection-prereqs-fingerprint).

Em seguida, escolha uma das opções a seguir para se conectar à instância do Linux usando o SSH.
+ [Conectar-se usando um cliente SSH](connect-linux-inst-ssh.md)
+ [Conectar-se usando PuTTY](connect-linux-inst-from-windows.md) 
+ [Transferir arquivos usando SCP](linux-file-transfer-scp.md)

Se você não conseguir se conectar à instância e precisar de ajuda para solucionar o problema, consulte [Solucionar problemas de conexão com a instância do Linux do Amazon EC2](TroubleshootingInstancesConnecting.md).

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

Use o Secure Shell (SSH) para se conectar à instância do Linux no computador local. Para obter mais informações sobre outras opções, consulte [Conexão com a instância do EC2](connect.md).

**nota**  
Se você receber um erro ao tentar se conectar à instância, certifique-se de que a instância atenda a todos os [Pré-requisitos de conexão via SSH](#ssh-prereqs-linux-from-linux-macos). Se ela atender a todos os pré-requisitos e, mesmo assim, você não conseguir se conectar à instância do Linux, consulte [Solucionar problemas de conexão com a instância do Linux do Amazon EC2](TroubleshootingInstancesConnecting.md).

**Topics**
+ [

## Pré-requisitos de conexão via SSH
](#ssh-prereqs-linux-from-linux-macos)
+ [

## Conectar-se à instância do Linux usando um cliente SSH
](#connect-linux-inst-sshClient)

## Pré-requisitos de conexão via SSH
<a name="ssh-prereqs-linux-from-linux-macos"></a>

Antes de você se conectar à instância do Linux usando SSH, conclua as tarefas a seguir.

**Conclua os pré-requisitos gerais.**  
+ Verifique se a instância passou nas verificações de status. Pode demorar alguns minutos para que a instância fique pronta para aceitar solicitações de conexão. Para obter mais informações, consulte [Visualizar verificações de status](viewing_status.md).
+ [Obter os detalhes necessários da instância](connection-prereqs-general.md#connection-prereqs-get-info-about-instance).
+ [Localizar a chave privada e definir permissões](connection-prereqs-general.md#connection-prereqs-private-key).
+ [(Opcional) Obter a impressão digital da instância](connection-prereqs-general.md#connection-prereqs-fingerprint).

**Permita tráfego SSH de entrada do seu endereço IP.**  
Verifique se o grupo de segurança associado à instância permite tráfego SSH de entrada do endereço IP. Para obter mais informações, consulte [Regras para se conectar a instâncias pelo computador](security-group-rules-reference.md#sg-rules-local-access).

**Instale um cliente SSH no computador local (se necessário).**  
O computador local pode ter um cliente SSH instalado por padrão. Você pode verificar isso ao inserir o comando a seguir em uma janela de terminal. Se o computador não reconhecer o comando, instale um cliente SSH.  

```
ssh
```
A seguir, são mostradas algumas das possíveis opções para Windows. Se o computador executa um sistema operacional diferente, consulte a documentação desse sistema operacional para conhecer as opções do cliente SSH.

## Instalar o OpenSSL no Windows
<a name="openssh"></a>

Depois de instalar o OpenSSH no Windows, você pode se conectar à instância do Linux pelo computador Windows usando SSH. Antes de começar, certifique-se de cumprir os requisitos a seguir.

**Versão do Windows**  
A versão do Windows no computador deve ser Windows Server 2019 ou posterior.  
Para versões anteriores do Windows, baixe e instale o [Win32-OpenSSH](https://github.com/PowerShell/Win32-OpenSSH/wiki).

**Requisitos do PowerShell**  
Para instalar o OpenSSH no sistema operacional Windows usando o PowerShell, é necessário executar o PowerShell versão 5.1 ou posterior e sua conta deve ser membro do grupo de administradores do sistema. Execute o comando `$PSVersionTable.PSVersion` no PowerShell para verificar a versão do PowerShell.  
Para verificar se você é membro do grupo de administradores do sistema, execute o seguinte comando do PowerShell:  

```
(New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
```
Se você for membro do grupo de administradores do sistema, a saída será `True`.

Para instalar o OpenSSH para Windows usando o PowerShell, execute o comando do PowerShell a seguir.

```
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
```

O seguinte é um exemplo de saída.

```
Path          :
Online        : True
RestartNeeded : False
```

Para instalar o OpenSSH do Windows usando o PowerShell, execute o comando do PowerShell a seguir.

```
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
```

O seguinte é um exemplo de saída.

```
Path          :
Online        : True
RestartNeeded : True
```

## Instalar o Windows Subsystem para Linux (WSL)
<a name="WSL"></a>

Depois de instalar o WSL no Windows, você pode se conectar à instância do Linux pelo computador Windows usando ferramentas da linha de comando do Linux, como um cliente SSH.

Siga as instruções em [Instalar o Windows Subsystem para Linux na instância do Windows do EC2](install-wsl-on-ec2-windows-instance.md). Se você seguir as instruções no guia de instalação da Microsoft, eles instalarão a distribuição Ubuntu do Linux. Você pode instalar uma distribuição do Linux diferente, se preferir.

Em uma janela de terminal do WSL, copie o arquivo `.pem` (para o par de chaves que você especificou ao executar a instância) do Windows para o WSL. Observe o caminho totalmente qualificado para o arquivo `.pem` no WSL, que use para se conectar à sua instância. Para obter informações sobre como especificar o caminho para o disco rígido do Windows, consulte [How do I access my C drive?](https://learn.microsoft.com/en-us/windows/wsl/faq#how-do-i-access-my-c--drive-).

```
cp /mnt/<Windows drive letter>/path/my-key-pair.pem ~/WSL-path/my-key-pair.pem
```

Para obter informações sobre como desinstalar o Subsistema Windows para Linux, consulte [Como desinstalar o WSL Distribution?](https://learn.microsoft.com/en-us/windows/wsl/faq#how-do-i-uninstall-a-wsl-distribution-).

## Conectar-se à instância do Linux usando um cliente SSH
<a name="connect-linux-inst-sshClient"></a>

Use o procedimento a seguir para se conectar à sua Instância do Linux usando um cliente SSH.

**Conectar-se à instância usando um cliente SSH**

1. Abra uma janela de terminal no computador.

1. Use o comando **ssh** para se conectar à instância. Você precisa dos detalhes da instância que você coletou como parte dos pré-requisitos. Por exemplo, você precisa do local da chave privada (arquivo `.pem`), do nome de usuário e do nome DNS público ou do endereço IPv6. Veja a seguir exemplos de comando.
   + (DNS público) Para usar o nome DNS público, insira o comando a seguir.

     ```
     ssh -i /path/key-pair-name.pem instance-user-name@instance-public-dns-name
     ```
   + (IPv6) Como alternativa, se a instância tiver um endereço IPv6, insira o comando a seguir para usar o endereço IPv6.

     ```
     ssh -i /path/key-pair-name.pem instance-user-name@2001:db8::1234:5678:1.2.3.4
     ```

   O seguinte é um exemplo de resposta.

   ```
   The authenticity of host 'ec2-198-51-100-1.compute-1.amazonaws.com (198-51-100-1)' can't be established.
   ECDSA key fingerprint is l4UB/neBad9tvkgJf1QZWxheQmR59WgrgzEimCG6kZY.
   Are you sure you want to continue connecting (yes/no)?
   ```

1. (Opcional) Verifique se a impressão digital no alerta de segurança corresponde à impressão digital. Caso essas impressões digitais não correspondam, alguém pode estar tentando um ataque man-in-the-middle. Se corresponderem, continue para a próxima etapa. Para obter mais informações, consulte [Get the instance fingerprint](connection-prereqs-general.md#connection-prereqs-fingerprint).

1. Digite **yes**.

   Você verá uma resposta como a seguinte:

   ```
   Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (ECDSA) to the list of known hosts.
   ```

# Conectar-se à instância do Linux usando PuTTY
<a name="connect-linux-inst-from-windows"></a>

Você pode se conectar a uma instância do Linux usando o PuTTY, um cliente SSH gratuito para Windows.

Se você estiver executando o Windows Server 2019 ou posterior, recomendamos que você use o OpenSSH, uma ferramenta de conectividade de código aberto para login remoto usando o protocolo SSH.

**nota**  
Se você receber um erro ao tentar se conectar à instância, certifique-se de que a instância atenda a todos os [Pré-requisitos de conexão via SSH](connect-linux-inst-ssh.md#ssh-prereqs-linux-from-linux-macos). Se ela atender a todos os pré-requisitos e, mesmo assim, você não conseguir se conectar à instância do Linux, consulte [Solucionar problemas de conexão com a instância do Linux do Amazon EC2](TroubleshootingInstancesConnecting.md).

**Topics**
+ [

## Pré-requisitos
](#putty-prereqs)
+ [Converta a chave privada usando o PuTTYgen](#putty-private-key)
+ [

## Conecte-se à sua instância do Linux
](#putty-ssh)

## Pré-requisitos
<a name="putty-prereqs"></a>

Antes de você se conectar à instância do Linux usando o PuTTY, conclua as tarefas a seguir.

**Conclua os pré-requisitos gerais.**  
+ Verifique se a instância passou nas verificações de status. Pode demorar alguns minutos para que a instância fique pronta para aceitar solicitações de conexão. Para obter mais informações, consulte [Visualizar verificações de status](viewing_status.md).
+ [Obter os detalhes necessários da instância](connection-prereqs-general.md#connection-prereqs-get-info-about-instance).
+ [Localizar a chave privada e definir permissões](connection-prereqs-general.md#connection-prereqs-private-key).
+ [(Opcional) Obter a impressão digital da instância](connection-prereqs-general.md#connection-prereqs-fingerprint).

**Permita tráfego SSH de entrada do seu endereço IP.**  
Verifique se o grupo de segurança associado à instância permite tráfego SSH de entrada do endereço IP. Para obter mais informações, consulte [Regras para se conectar a instâncias pelo computador](security-group-rules-reference.md#sg-rules-local-access).

**Instale o PuTTY no computador local (se necessário).**  
Faça download e instale o PuTTY pela [página de download do PuTTY](https://www.chiark.greenend.org.uk/~sgtatham/putty/). Se já houver uma versão anterior do PuTTY instalada, recomendamos fazer download da versão mais recente. Instale o pacote inteiro.

**Converta a chave privada no formato PPK usando PuTTYgen.**  
Você deve especificar a chave privada do par de chaves que especificou quando iniciou a instância. Se você tiver criado a chave privada no formato .pem, será necessário convertê-la em um arquivo PPK para usá-la com o PuTTY. Localize a chave privada (arquivo .pem) e siga as etapas em [Converta a chave privada usando o PuTTYgen](#putty-private-key).

## (Opcional) Converter a chave privada usando o PuTTYgen
<a name="putty-private-key"></a>

O PuTTY não é originalmente compatível com o formato PEM para chaves SSH. O PuTTY fornece uma ferramenta chamada PuTTYgen, que converte as chaves PEM para o formato PPK necessário para PuTTY. Se você tiver criado a chave usando o formato PEM em vez do formato PPK, será necessário converter a chave privada (arquivo .pem) neste formato (arquivo .ppk) para usá-la com o PuTTY.

**Converter a chave privada do formato PEM para o formato PPK**

1. No menu **Start** (Iniciar), selecione **All Programs** (Todos os programas), **PuTTY**, **PuTTYgen**.

1. Em **Tipo de chave a ser gerada**, escolha **RSA**. Se a sua versão de PuTTYgen não inclui esta opção, escolha **SSH-2 RSA**.  
![\[A chave RSA no PuTTYgen.\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/puttygen-key-type.png)

1. Escolha **Load**. Por padrão, o PuTTYgen exibe somente arquivos com a extensão `.ppk`. Para localizar o arquivo `.pem`, escolha a opção para exibir arquivos de todos os tipos.  
![\[Selecione todos os tipos de arquivo.\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/puttygen-load-key.png)

1. Selecione o arquivo `.pem` para o par de chaves que você especificou ao executar a instância e selecione **Open (Abrir)**. A PuTTYgen exibe um aviso de que o arquivo `.pem` foi importado com êxito. Escolha **OK**.

1. Escolha **Save private key (Salvar chave privada)** para salvar a chave no formato PuTTY. A PuTTYgen exibe um aviso sobre salvar a chave sem uma senha. Escolha **Sim**.
**nota**  
Uma senha em uma chave privada é uma camada extra de proteção. Mesmo se a chave privada for descoberta, ela não pode ser usada sem a senha. A desvantagem de se usar uma senha é que a automação se torna mais difícil porque a intervenção humana é necessária para fazer login em uma instância, ou para copiar arquivos a uma instância.

1. Especifique o mesmo nome da chave usado para o par de chaves (por exemplo, `key-pair-name`) e escolha **Save (Salvar)**. O PuTTY adiciona automaticamente a extensão de arquivo `.ppk`. 

Sua chave privada está agora no formato correto para uso com o PuTTY. Agora é possível conectar a sua instância usando o cliente SSH do PuTTY.

## Conecte-se à sua instância do Linux
<a name="putty-ssh"></a>

Use o procedimento a seguir para se conectar à sua Instância do Linux usando o PuTTY. Você precisa do arquivo `.ppk` que criou para sua chave privada. Para obter mais informações, consulte [(Opcional) Converter a chave privada usando o PuTTYgen](#putty-private-key) na seção anterior. Se você receber um erro ao tentar se conectar à instância, consulte [Solucionar problemas de conexão com a instância do Linux do Amazon EC2](TroubleshootingInstancesConnecting.md).

**Última versão testada**: PuTTY .78

**Para se conectar à instância usando PuTTY**

1. Inicie o PuTTY (no menu **Iniciar**, pesquise **PuTTY** e escolha **Abrir**).

1. No painel **Categoria**, selecione **Sessão** e preencha os seguintes campos:

   1. Na caixa **Host Name (Nome do host)**, execute uma das ações a seguir:
      + (DNS Público) Para se conectar usando o nome DNS público da instância, insira *instance-user-name*@*instance-public-dns-name*.
      + (IPv6) Como alternativa, se a instância tiver um endereço IPv6, para se conectar usando o endereço IPv6 da instância, insira *instance-user-name*@*2001:db8::1234:5678:1.2.3.4*.

      Para obter informações sobre como obter o nome de usuário da instância e o nome de DNS público ou o endereço IPv6 da instância, consulte [Obter os detalhes necessários da instância](connection-prereqs-general.md#connection-prereqs-get-info-about-instance).

   1. Verifique se o valor do **Port** é 22.

   1. Em **Tipo de conexão**, selecione **SSH**.  
![\[Configuração do PuTTY - Sessão.\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/putty-session-config.png)

1. (Opcional) É possível configurar o PuTTY para enviar automaticamente dados "keepalive" em intervalos regulares para manter a sessão ativa. Isso é útil para evitar a desconexão da instância por inatividade da sessão. No painel **Categoria**, escolha **Conexão** e insira o intervalo necessário no campo **Segundos entre keepalives**. Por exemplo, se a sessão desconectar após 10 minutos de inatividade, insira 180 para configurar o PuTTY para enviar dados keepalive a cada 3 minutos.

1. No painel **Categoria**, expanda **Conexão**, **SSH** e **Auth**. Escolha **Credenciais**. 

1. Ao lado de **Arquivo de chave privada para autenticação**, escolha **Procurar**. Na caixa de diálogo **Selecionar arquivo de chave privada**, selecione o arquivo `.ppk` que você gerou para seu par de chaves. Clique duas vezes no arquivo ou escolha **Abrir** na caixa de diálogo **Selecionar arquivo de chave privada**.

1. (Opcional) Se você planeja se conectar a esta instância novamente após esta sessão, poderá salvar as informações para uso futuro. No painel **Categoria**, escolha **Sessão**. Insira um nome para a sessão em **Sessõe salvas** e, em seguida, escolha **Salvar**.

1. Para se conectar à instância, escolha **Abrir**.

1. Se essa for a primeira vez você se conectou a esta instância, o PuTTY exibirá uma caixa de diálogo de alerta de segurança perguntando se você confia no host ao qual está se conectando.

   1. (Opcional) Verifique se a impressão digital na caixa de diálogo do alerta de segurança corresponde à impressão digital que você obteve anteriormente em [(Opcional) Obter a impressão digital da instância](connection-prereqs-general.md#connection-prereqs-fingerprint). Caso essas impressões digitais não correspondam, alguém pode estar tentando um ataque "man-in-the-middle". Se corresponderem, continue para a próxima etapa.

   1. Escolha **Accept (Aceitar)**. Uma janela se abrirá e você estará conectado à sua instância.
**nota**  
Se você especificou uma senha ao converter sua chave privada em formato PuTTY, forneça essa senha ao efetuar o login na instância.

Se você receber um erro ao tentar se conectar à instância, consulte [Solucionar problemas de conexão com a instância do Linux do Amazon EC2](TroubleshootingInstancesConnecting.md).

# Transferir arquivos para uma instância do Linux usando SCP
<a name="linux-file-transfer-scp"></a>

O protocolo de cópia segura (SCP) é uma das alternativas para transferir arquivos entre seu computador local e uma instância do Linux. O SCP é uma boa opção para operações simples, como cópias de arquivos únicas. O SCP protege as transferências de arquivos usando o mesmo arquivo .pem que você usa para se conectar a uma instância usando SSH. Se você precisa manter os arquivos sincronizados, ou se os arquivos são grandes, **rsync** é mais rápido e eficiente do que o SCP. Por segurança, use **rsync** via SSH, pois, por padrão, **rsync** transfere dados usando texto simples.

Antes de você se conectar à instância do Linux usando o SCP, conclua as seguintes tarefas:
+ **Conclua os pré-requisitos gerais.**
  + Verifique se a instância passou nas verificações de status. Pode demorar alguns minutos para que a instância fique pronta para aceitar solicitações de conexão. Para obter mais informações, consulte [Visualizar verificações de status](viewing_status.md).
  + [Obter os detalhes necessários da instância](connection-prereqs-general.md#connection-prereqs-get-info-about-instance).
  + [Localizar a chave privada e definir permissões](connection-prereqs-general.md#connection-prereqs-private-key).
  + [(Opcional) Obter a impressão digital da instância](connection-prereqs-general.md#connection-prereqs-fingerprint).
+ **Permita tráfego SSH de entrada do seu endereço IP.**

  Verifique se o grupo de segurança associado à instância permite tráfego SSH de entrada do endereço IP. Para obter mais informações, consulte [Regras para se conectar a instâncias pelo computador](security-group-rules-reference.md#sg-rules-local-access).
+ **Instale um cliente SCP.**

  A maioria dos computadores com Linux, Unix e Apple incluem um cliente SCP por padrão. Se seu não incluir, o projeto OpenSSH oferece implantação grátis do pacote completo das ferramentas SSH, inclusive um cliente SCP. Para obter mais informações, consulte [https://www.openssh.com](https://www.openssh.com).

O procedimento a seguir acompanha o uso do SCP para transferir um arquivo usando o nome DNS público da instância ou o endereço IPv6 se sua instância tiver um.

**Para usar o SCP para transferir arquivos entre o computador e a sua instância**

1. Determine a localização do arquivo de origem no seu computador e o caminho de destino na instância. Nos exemplos a seguir, o nome do arquivo de chave privada é `key-pair-name.pem`, o arquivo a ser transferido é `my-file.txt`, o nome de usuário da instância é ec2-user, o nome de DNS público da instância é `instance-public-dns-name` e o endereço IPv6 da instância é `2001:db8::1234:5678:1.2.3.4`.
   + (DNS público) Para transferir um arquivo para o destino na instância, insira o seguinte comando do seu computador.

     ```
     scp -i /path/key-pair-name.pem /path/my-file.txt ec2-user@instance-public-dns-name:path/
     ```
   + (IPv6) Para transferir um arquivo para o destino na instância, se ela tiver um endereço IPv6, insira o seguinte comando no seu computador. O endereço IPv6 deve vir entre colchetes (`[ ]`), que devem ser recuados (`\`).

     ```
     scp -i /path/key-pair-name.pem /path/my-file.txt ec2-user@\[2001:db8::1234:5678:1.2.3.4\]:path/
     ```

1. Se ainda não tiver conectado à instância usando SSH, você verá uma resposta como a seguinte:

   ```
   The authenticity of host 'ec2-198-51-100-1.compute-1.amazonaws.com (10.254.142.33)'
   can't be established.
   RSA key fingerprint is 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f.
   Are you sure you want to continue connecting (yes/no)?
   ```

   (Opcional) Também é possível verificar se a impressão digital no alerta de segurança corresponde à impressão digital da instância. Para obter mais informações, consulte [(Opcional) Obter a impressão digital da instância](connection-prereqs-general.md#connection-prereqs-fingerprint).

   Insira **yes**.

1. Se a transferência for bem-sucedida, a resposta será semelhante à seguinte:

   ```
   Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (RSA) 
   to the list of known hosts.
   my-file.txt                                100%   480     24.4KB/s   00:00
   ```

1. Para transferir um arquivo na outra direção (de uma instância do Amazon EC2 para o seu computador), basta inverter a ordem dos parâmetros do host. Por exemplo, é possível transferir o `my-file.txt` da instância do EC2 para um destino no seu computador local `my-file2.txt`, conforme exibido nos exemplos a seguir.
   + (DNS Público) Para transferir um arquivo para um destino no seu computador, insira o seguinte comando do seu computador.

     ```
     scp -i /path/key-pair-name.pem ec2-user@instance-public-dns-name:path/my-file.txt path/my-file2.txt
     ```
   + (IPv6) Para transferir um arquivo para um destino no computador se a instância tiver um endereço IPv6, insira o seguinte comando do seu computador. O endereço IPv6 deve vir entre colchetes (`[ ]`), que devem ser recuados (`\`).

     ```
     scp -i /path/key-pair-name.pem ec2-user@\[2001:db8::1234:5678:1.2.3.4\]:path/my-file.txt path/my-file2.txt
     ```

# Gerenciar usuários do sistema na instância do Linux do Amazon EC2
<a name="managing-users"></a>

Cada tipo de instância do Linux é iniciada com um usuário padrão do sistema Linux. Você pode adicionar e excluir usuários da instância.

Para o usuário padrão, o [nome de usuário padrão](#ami-default-user-names) é determinado pela AMI especificada quando você executou a instância. 

**nota**  
Por padrão, a autenticação por senha e o login raiz estão desabilitados e o sudo está habilitado. Para fazer login na instância, você deve criar um par de chaves. Para obter mais informações sobre login, consulte [Conectar-se à instância do Linux usando SSH](connect-to-linux-instance.md).  
Você pode permitir a autenticação por senha e o login raiz na instância. Para obter mais informações, consulte a documentação do seu sistema operacional.

**nota**  
Os usuários do sistema Linux não devem ser confundidos com os usuários do IAM. Para obter mais informações, consulte [Usuários IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html#id_iam-users) no *Manual do usuário IAM*.

**Topics**
+ [

## Nomes de usuário padrão
](#ami-default-user-names)
+ [

## Considerações
](#add-user-best-practice)
+ [

## Criar um usuário
](#create-user-account)
+ [

## Remover um usuário
](#delete-user-account)

## Nomes de usuário padrão
<a name="ami-default-user-names"></a>

O nome de usuário padrão para a instância do EC2 é determinado pela AMI especificada quando você executou a instância.

Os nomes de usuário padrão são:
+ Para uma AMI do Amazon Linux, o nome do usuário é `ec2-user`.
+ Para uma AMI do CentOS, o nome do usuário é `centos` ou `ec2-user`.
+ Para uma AMI do Debian, o nome do usuário é `admin`.
+ Para uma AMI do Fedora, o nome do usuário é `fedora` ou `ec2-user`.
+ Para uma AMI FreeBSD, o nome do usuário é `ec2-user`.
+ Para uma AMI do RHEL, o nome do usuário é `ec2-user` ou `root`.
+ Para uma AMI do SUSE, o nome do usuário é `ec2-user` ou `root`.
+ Para uma AMI Ubuntu, o nome de usuário é `ubuntu`.
+ Para uma AMI do Oracle, o nome do usuário é `ec2-user`.
+ Para uma AMI do Bitnami, o nome do usuário é `bitnami`.

**nota**  
Para encontrar o nome de usuário padrão para outras distribuições do Linux, verifique com o fornecedor da AMI.

## Considerações
<a name="add-user-best-practice"></a>

O uso do usuário padrão é adequado para muitas aplicações. Porém, você pode escolher adicionar usuários para que as pessoas possam ter seus próprios arquivos e espaços de trabalho. Além disso, a criação usuários para novos usuários é muito mais segura do que conceder a vários usuários (possivelmente inexperientes) acesso ao usuário padrão, pois essa conta pode causar muitos danos a um sistema quando usada de modo inadequado. Para obter mais informações, consulte [Dicas para proteger sua instância do EC2](https://aws.amazon.com/articles/tips-for-securing-your-ec2-instance/).

Para permitir aos usuários acesso SSH à sua instância do EC2 usando um usuário do sistema Linux, é necessário compartilhar a chave SSH com o usuário. Uma outra opção é usar o EC2 Instance Connect para fornecer acesso aos usuários sem precisar compartilhar e gerenciar as chaves SSH. Para obter mais informações, consulte [Conecte-se à sua instância Linux usando um endereço IP público e o EC2 Instance Connect](connect-linux-inst-eic.md).

## Criar um usuário
<a name="create-user-account"></a>

Primeiro crie o usuário e, depois, adicione a chave pública SSH que permitirá que ele se conecte e faça login na instância.

**Importante**  
Na Etapa 1 desse procedimento, você cria um novo par de chaves. Como o par de chaves funciona como uma senha, é fundamental lidar com ele de forma segura. Caso crie um par de chaves para um usuário, você deverá garantir que a chave privada seja enviada para ele com segurança. Como alternativa, o usuário pode concluir as Etapas 1 e 2 criando seu próprio par de chaves, mantendo a chave privada segura em sua máquina e enviando a chave pública para concluir o procedimento da Etapa 3.

**Para criar um usuário**

1. [Crie um novo par de chaves](create-key-pairs.md#having-ec2-create-your-key-pair). É necessário fornecer o arquivo `.pem` ao usuário para o qual você está criando o usuário. Ele deve usar esse arquivo para se conectar à instância.

1. Recupere a chave pública do par de chaves criado na etapa anterior.

   ```
   $ ssh-keygen -y -f /path_to_key_pair/key-pair-name.pem
   ```

   O comando retorna a chave pública, como mostrado no exemplo a seguir.

   ```
   ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6Vhz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXrlsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZqaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3RbBQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
   ```

1. Conecte-se à instância.

1. Use o comando **adduser** para criar o usuário e adicioná-lo ao sistema (com uma entrada no arquivo `/etc/passwd`). O comando também cria um grupo e um diretório inicial para o usuário. Neste exemplo de configuração, o usuário é deniminado `newuser`.
   + AL2023 e Amazon Linux 2

     Com o AL2023 e o Amazon Linux 2, o usuário é criado com a autenticação por senha desabilitada por padrão.

     ```
     [ec2-user ~]$ sudo adduser newuser
     ```
   + Ubuntu

     Inclua o parâmetro `--disabled-password` para criar o usuário com autenticação por senha desabilitada.

     ```
     [ubuntu ~]$ sudo adduser newuser --disabled-password
     ```

1. Mude para o novo usuário, de modo que o diretório e o arquivo criados pertençam aos proprietários adequados.

   ```
   [ec2-user ~]$ sudo su - newuser
   ```

   O prompt é alterado de `ec2-user` para `newuser` para indicar que você mudou a sessão do shell para o novo usuário.

1. Adicione a chave pública SSH ao usuário. Primeiro, crie um diretório no diretório inicial do usuário para o arquivo de chave SSH. Depois disso, crie o arquivo de chave e, por fim, cole a chave pública no arquivo de chave, conforme descrito nas etapas secundárias a seguir.

   1. Crie um diretório `.ssh` no diretório inicial `newuser` e altere suas permissões de arquivos para `700` (somente o proprietário pode ler, gravar ou abrir o diretório).

      ```
      [newuser ~]$ mkdir .ssh
      ```

      ```
      [newuser ~]$ chmod 700 .ssh
      ```
**Importante**  
Sem essas permissões de arquivos, o usuário não poderá se conectar.

   1. Crie um arquivo chamado `authorized_keys` no diretório `.ssh` e altere suas permissões de arquivos para `600` (somente o proprietário pode ler ou gravar no arquivo).

      ```
      [newuser ~]$ touch .ssh/authorized_keys
      ```

      ```
      [newuser ~]$ chmod 600 .ssh/authorized_keys
      ```
**Importante**  
Sem essas permissões de arquivos, o usuário não poderá se conectar.

   1. <a name="edit_auth_keys"></a>Abra o arquivo `authorized_keys` usando seu editor de texto favorito (como **vim** ou **nano**).

      ```
      [newuser ~]$ nano .ssh/authorized_keys
      ```

      Cole a chave pública recuperada na **Etapa 2** no arquivo e salve as alterações.
**Importante**  
Cole a chave pública em uma linha contínua. A chave pública não deve ser dividida em várias linhas.

      Agora, o usuário deve poder fazer login no usuário `newuser` na instância usando a chave privada correspondente à chave pública adicionada ao arquivo `authorized_keys`. Para obter mais informações sobre os diferentes métodos de conexão a uma instância do Linux, consulte [Conectar-se à instância do Linux usando SSH](connect-to-linux-instance.md).

## Remover um usuário
<a name="delete-user-account"></a>

Se um usuário não for mais necessário, será possível removê-lo para que não possa mais ser usado.

Use o comando **userdel** para remover o usuário do sistema. Quando você especifica o parâmetro `-r`, o diretório inicial e o spool de e-mail do usuário são excluídos. Para manter o diretório inicial e o spool de e-mail do usuário, omita o parâmetro `-r`.

```
[ec2-user ~]$ sudo userdel -r olduser
```

# Conectar-se à instância do Windows no usando RDP
<a name="connecting_to_windows_instance"></a>

É possível se conectar às instâncias do Amazon EC2 criadas da maioria das imagens de máquina da Amazon (AMIs) no Windows usando a Área de Trabalho Remota. O Remote Desktop usa o Remote Desktop Protocol (RDP) para se conectar e usar sua instância da mesma forma que você usa um computador que esteja na sua frente (computador local). Ele está disponível na maioria das edições do Windows e também para Mac OS.

A licença do sistema operacional (SO) Windows Server permite duas conexões remotas simultâneas para fins administrativos. A licença para Windows Server está incluída no preço da sua instância do Windows. Caso precise de mais de duas conexões remotas simultâneas, você deverá adquirir uma licença do Remote Desktop Services (RDS). Se você tentar uma terceira conexão, ocorrerá um erro.

**dica**  
Se precisar se conectar à instância para solucionar problemas de inicialização, configuração de rede e outros problemas para instâncias criadas no [AWS Nitro System](https://aws.amazon.com/ec2/nitro/), use o [EC2 Serial Console para instâncias do](ec2-serial-console.md).

**Topics**
+ [

# Conexão com a instância do Windows usando um cliente RDP
](connect-rdp.md)
+ [

# Conectar a uma instância do Windows usando o Fleet Manager
](connect-rdp-fleet-manager.md)
+ [

# Transferir arquivos para uma instância do Windows usando o RDP
](connect-to-linux-instanceWindowsFileTransfer.md)

# Conexão com a instância do Windows usando um cliente RDP
<a name="connect-rdp"></a>

É possível se conectar à instância do Windows usando um cliente RDP conforme mostrado a seguir.

**dica**  
Como alternativa, você pode se conectar à instância do Windows usando o [Systems Manager Fleet Manager](connect-rdp-fleet-manager.md) ou o [Endpoint de conexão da instância do EC2](connect-with-ec2-instance-connect-endpoint.md).

## Pré-requisitos
<a name="rdp-prereqs"></a>

É necessário atender aos pré-requisitos apresentados a seguir para se conectar à instância do Windows usando um cliente RDP.
+ **Conclua os pré-requisitos gerais.**
  + Verifique se a instância passou nas verificações de status. Pode demorar alguns minutos para que a instância fique pronta para aceitar solicitações de conexão. Para obter mais informações, consulte [Visualizar verificações de status](viewing_status.md).
  + [Obter os detalhes necessários da instância](connection-prereqs-general.md#connection-prereqs-get-info-about-instance).
  + [Localizar a chave privada e definir permissões](connection-prereqs-general.md#connection-prereqs-private-key).
  + [(Opcional) Obter a impressão digital da instância](connection-prereqs-general.md#connection-prereqs-fingerprint).
+ **Instalar um cliente RDP.**
  + (Windows) O Windows inclui um cliente RDP por padrão. Para verificar, digite **mstsc** em uma janela de Prompt de Comando. Se o seu computador não reconhecer esse comando, baixe a [aplicação Área de Trabalho Remota da Microsoft](https://apps.microsoft.com/detail/9wzdncrfj3ps) na Microsoft Store.
  + (macOS X) Faça o download da [aplicação Windows para Mac (anteriormente chamada de Área de Trabalho Remota da Microsoft)](https://apps.apple.com/us/app/windows-app/id1295203466?mt=12) usando a Mac App Store.
  + (Linux) Use o [Remmina](https://remmina.org/).
+ **Permitir tráfego RDP de entrada do seu endereço IP.**

  Verifique se o grupo de segurança associado à instância permite tráfego RDP de entrada do seu endereço IP. Para obter mais informações, consulte [Regras para se conectar a instâncias pelo computador](security-group-rules-reference.md#sg-rules-local-access).

## Recuperar a senha de administrador
<a name="retrieve-initial-admin-password"></a>

Caso tenha associado a instância a um domínio, será possível se conectar a ela usando as credenciais de domínio do Directory Service. Na tela de login da área de trabalho remota, em vez de usar o nome do computador local e a senha gerada, use o nome de usuário totalmente qualificado para o administrador (por exemplo, **corp.example.com\$1Admin**) e a senha dessa conta.

Para você se conectar a uma instância do Windows, é necessário recuperar a senha de administrador inicial e inserir essa senha quando se conectar à instância. Após a execução da instância, leva alguns minutos para que a senha fique disponível. Sua conta precisa ter permissão para chamar a ação [GetPasswordData](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetPasswordData.html). Para obter mais informações, consulte [Exemplo de políticas para controlar o acesso à API do Amazon EC2](ExamplePolicies_EC2.md).

O nome de usuário padrão correspondente à conta de administrador depende do idioma do sistema operacional (SO) contido na AMI. Para determinar o nome de usuário correto, identifique o idioma do sistema operacional e escolha o nome de usuário correspondente. Por exemplo, para um sistema operacional em inglês, o nome de usuário será `Administrator`, para um sistema operacional francês, será `Administrateur` e para um sistema operacional português, será `Administrador`. Se uma versão de idioma do sistema operacional não tiver um nome de usuário no mesmo idioma, escolha o nome de usuário `Administrator (Other)`. Para obter mais informações, consulte [Nomes localizados da conta de administrador no Windows](https://learn.microsoft.com/en-us/archive/technet-wiki/13813.localized-names-for-administrator-account-in-windows) no site da Microsoft.

**Recuperar a senha de administrador inicial**

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. Na página **Conectar à instância**, escolha a guia **Cliente RDP**.

1. Em **Nome de usuário**, escolha o nome de usuário padrão para a conta do administrador. O nome de usuário escolhido deverá corresponder ao idioma do sistema operacional (SO) contido na AMI que você usou para executar a instância. Se não houver um nome de usuário no mesmo idioma do seu sistema operacional, escolha **Administrador (Outro)**.

1. Escolha **Obter senha**.

1. Na página **Obter senha do Windows**, faça o seguinte:

   1. Escolha **Fazer upload de arquivo de chave privada** e localize o arquivo de chave privada (`.pem`) que especificou ao executar a instância. Selecione o arquivo e escolha **Open** (Abrir) para copiar todo o conteúdo do arquivo para essa janela.

   1. Escolha **Descriptografar senha**. A página **Obter senha do Windows** será fechada e a senha padrão do administrador para a instância será exibida em **Senha**, substituindo o link **Obter senha** exibido anteriormente.

   1. Copie e salve a senha em um lugar seguro. Essa senha é necessária para se conectar à instância.

## Conectar-se à sua instância do Windows
<a name="connecting-to-windows-instance-rdp-client"></a>

O procedimento a seguir usa o cliente Remote Desktop Connection para Windows (MSTSC). Se você estiver usando um cliente RDP diferente, baixe o arquivo RDP e consulte a sua documentação para conhecer as etapas para estabelecer a conexão RDP.

**Conectar-se a uma instância do Windows usando um cliente RDP**

1. Na página **Conectar-se a uma instância**, escolha **Baixar arquivo de área de trabalho remota**. Quando o download do arquivo terminar, escolha **Cancelar** para retornar à página **Instâncias**. O arquivo RDP é baixado para a sua pasta `Downloads`.

1. Execute `mstsc.exe` para abrir o cliente RDP.

1. Expanda **Mostrar opções**, escolha **Abrir** e selecione o arquivo .rdp na pasta `Downloads`.

1. Por padrão, **Computador** é o nome DNS IPv4 público da instância, e **Nome de usuário** é a conta do administrador. Em vez disso, para se conectar à instância usando IPv6, substitua o nome DNS IPv4 público da instância pelo endereço IPv6. Analise as configurações padrão e altere-as conforme necessário.

1. Selecione **Conectar**. Se você receber um aviso de que o publicador da conexão remota é desconhecido, selecione **Conectar** para continuar.

1. Digite a senha que você salvou anteriormente e selecione **OK**.

1. Por causa da natureza de certificados autoassinados, talvez você receba um aviso indicando que não foi possível autenticar o certificado de segurança. Execute um destes procedimentos:
   + Se você confia no certificado, escolha **Sim** para realizar a conexão com a instância.
   + [Windows] Antes de continuar, compare a impressão digital do certificado com o valor no log do sistema para confirmar a identidade do computador remoto. Escolha **Visualizar certificado** e, em seguida, escolha **Impressão digital** na guia **Detalhes**. Compare esse valor com o valor de `RDPCERTIFICATE-THUMBPRINT` em **Ações**, **Monitorar e solucionar problemas** e **Obter log do sistema**.
   + [Mac OS X] Antes de continuar, compare a impressão digital do certificado com o valor no log do sistema para confirmar a identidade do computador remoto. Escolha **Mostrar certificado**, expanda **Detalhes** e selecione **Impressões digitais de SHA1**. Compare esse valor com o valor de `RDPCERTIFICATE-THUMBPRINT` em **Ações**, **Monitorar e solucionar problemas** e **Obter log do sistema**.

1. Se a conexão RDP tiver êxito, o cliente RDP exibirá a tela de login do Windows e, em seguida, a área de trabalho do Windows. Se, em vez disso, você receber uma mensagem de erro, consulte [O Remote Desktop não pode se conectar ao computador remoto](troubleshoot-connect-windows-instance.md#rdp-issues). Ao finalizar a conexão RDP, será possível fechar o cliente RDP.

## Configurar contas de usuário
<a name="configure-admin-accounts"></a>

Depois de se conectar à instância pelo RDP, recomendamos que você execute as seguintes tarefas:
+ Altere a senha de administrador do valor padrão. É possível[ alterar a senha enquanto estiver conectado à instância](https://support.microsoft.com/en-us/windows/change-or-reset-your-windows-password-8271d17c-9f9e-443f-835a-8318c8f68b9c), assim como faria em qualquer outro computador executando o Windows Server.
+ Crie outro usuário com privilégios de administrador na instância. Essa é uma proteção no caso de você esquecer a senha de administrador ou ter um problema com a conta de administrador. O novo usuário deve ter permissão para acessar a instância remotamente. Abra **System Properties (Propriedades do sistema** clicando com o botão direito do mouse no ícone **This PC (Este PC)** no desktop do Windows ou no Explorador de Arquivos e selecione **Properties (Propriedades)**. Escolha **Remote settings (Configurações remotas)** e escolha **Select Users (Selecionar usuários)** para adicionar o usuário ao grupo **Remote Desktop Users (Usuários de Desktop Remoto)**.  
![\[Janela System Properties (Propriedades do sistema).\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/windows-connect-properties-rdp.png)

# Conectar a uma instância do Windows usando o Fleet Manager
<a name="connect-rdp-fleet-manager"></a>

É possível usar o Fleet Manager, um recurso do AWS Systems Manager, para se conectar a instâncias do Windows usando o Remote Desktop Protocol (RDP) e exibir até quatro instâncias do Windows na mesma página no Console de gerenciamento da AWS. É possível se conectar à primeira instância no Fleet Manager Remote Desktop diretamente da página **Instâncias** no console do Amazon EC2. Para obter mais informações sobre o Fleet Manager, consulte [Conectar-se a uma instância gerenciada usando o Remote Desktop](https://docs.aws.amazon.com/systems-manager/latest/userguide/fleet-manager-remote-desktop-connections.html) no *Guia do usuário doAWS Systems Manager*.

Não é necessário permitir especificamente o tráfego RDP de entrada do seu endereço IP se você usa o Fleet Manager para se conectar. O Fleet Manager trata disso para você.

**Pré-requisitos**  
Antes de tentar se conectar a uma instância usando o Fleet Manager, você deve configurar seu ambiente. Para obter mais informações, consulte [Como configurar seu ambiente](https://docs.aws.amazon.com/systems-manager/latest/userguide/fleet-manager-remote-desktop-connections.html#rdp-prerequisites) no *Guia do usuário do AWS Systems Manager*.

**Conectar-se a uma instância do Windows usando o Fleet Manager**

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. Na guia **Cliente RDP**, em **Tipo de conexão**, escolha **Conectar usando o Fleet Manager**.

1. Escolha **Fleet Manager: área de trabalho remota**. Isso abre a página **Fleet Manager Remote Desktop** no console do AWS Systems Manager.

1. Insira suas credenciais e, em seguida, selecione **Conectar**.

1. Se a conexão RDP ftiver êxito, o Fleet Manager exibirá a área de trabalho do Windows. Ao finalizar a sessão, escolha **Ações**, **Encerrar sessão**.

Para obter mais informações, consulte [Conectar a uma instância gerenciada pelo Windows Server usando o Remote Desktop](https://docs.aws.amazon.com/systems-manager/latest/userguide/fleet-manager-remote-desktop-connections.html) no *Guia do usuário do AWS Systems Manager*.

# Transferir arquivos para uma instância do Windows usando o RDP
<a name="connect-to-linux-instanceWindowsFileTransfer"></a>

É possível trabalhar com sua instância Windows da mesma forma que trabalharia com qualquer servidor Windows. Por exemplo, é possível transferir arquivos entre uma instância do Windows e o computador local usando o recurso de compartilhamento de arquivos local do software Microsoft Remote Desktop Connection (RDP). É possível acessar arquivos locais em unidades de disco rígido, unidades de DVD, unidades de mídia portáteis e unidades de rede mapeadas.

Para acessar arquivos locais das instâncias do Windows, é necessário habilitar o recurso de compartilhamento de arquivos local mapeando a unidade de sessão remota para a unidade local. As etapas são um pouco diferentes, dependendo se o sistema operacional do computador local for Windows ou macOS X.

Para obter mais informações sobre os pré-requisitos para conexão usando o RDP, consulte [Pré-requisitos](connect-rdp.md#rdp-prereqs).

------
#### [ Windows ]

**Para mapear a unidade de sessão remota para sua unidade local em seu computador Windows local**

1. Abra o cliente de Conexão de Desktop Remoto.

1. Selecione **Exibir opções**.

1. Adicione o nome do host da instância ao campo **Computador** e o nome de usuário ao campo **Nome de usuário** da seguinte forma:

   1. Em **Connection settings** (Configurações de conexão), escolha **Open...** (Aberto) e busque o arquivo de atalho RDP baixado do console do Amazon EC2. O arquivo contém o nome do host DNS IPv4 público que identifica a instância e o nome de usuário do Administrador.

   1. Selecione o arquivo selecione **Open** (Abrir). Os campos **Computer** (Computador) e **User name** (Nome de usuário) são preenchidos com os valores do arquivo de atalho RDP.

   1. Escolha **Salvar**.

1. Selecione a guia **Local Resources (Recursos locais)**.

1. Em **Local Devices and resources** (Dispositivos e recursos locais), escolha **More...** (Mais...).  
![\[Janela RDP Local Resources (Recursos locais do RDP).\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/windows-connect-rdp-local-resources.png)

1. Abra **Drives (Unidades)** e selecione a unidade local à qual mapear sua instância do Windows.

1. Escolha **OK**.  
![\[Janela RDP Local devices and resources (Dispositivos e recursos locais do RDP).\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/windows-connect-rdp-drives.png)

1. Selecione **Connect (Conectar)** para se conectar à sua instância do Windows.

------
#### [ macOS X ]

**Para mapear a unidade de sessão remota à pasta local em seu computador macOS X local**

1. Abra o cliente de Conexão de Desktop Remoto.

1. Navegue até o arquivo RDP que você baixou do console do Amazon EC2 (ao se conectar inicialmente à instância) e arraste para o cliente Conexão de desktop remoto.

1. Clique com o botão direito do mouse no arquivo RDP e escolha **Edit** (Editar). 

1. Selecione a guia **Pastas** e a caixa de seleção **Redirecionar pastas**.  
![\[Janela Editar PC da Área de Trabalho Remota da Microsoft.\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/mac-map-folder-1.png)

1. Selecione o ícone **\$1** no canto inferior esquerdo, navegue até a pasta a ser mapeada e escolha **Open** (Abrir). Repita esta etapa para cada pasta a ser mapeada.

1. Escolha **Salvar**.

1. Selecione **Connect (Conectar)** para se conectar à sua instância do Windows. Você deverá inserir a senha.

1. Na instância, no Explorador de arquivos, expanda **This PC** (Este computador) e encontre a pasta compartilhada em que é possível acessar seus arquivos locais. Na captura de tela seguinte, a pasta **Desktop** no computador local foi mapeada para a unidade de sessão remota na instância.  
![\[Janela Editar PC da Área de Trabalho Remota da Microsoft.\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/mac-map-folder-2.png)

Para obter mais informações sobre como disponibilizar dispositivos locais para uma sessão remota em um computador Mac, consulte [Introdução ao cliente no Mac](https://learn.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/remote-desktop-mac).

------

# Conectar-se a uma instância do Amazon EC2 usando o Gerenciador de Sessões
<a name="connect-with-systems-manager-session-manager"></a>

O Session Manager é um recurso totalmente gerenciado do AWS Systems Manager para gerenciar suas instâncias do Amazon EC2 por meio de um shell interativo baseado no navegador com um clique ou por meio da AWS CLI. É possível usar o Gerenciador de sessões para iniciar uma sessão com uma instância na sua conta. Depois que a sessão for iniciada, você poderá executar comandos interativos na instância como faria para qualquer outro tipo de conexão. Para obter mais informações sobre o Gerenciador de sessões, consulte [Gerenciador de sessões do AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html) no *Guia do usuário do AWS Systems Manager*. 

**Pré-requisitos**  
Antes de tentar se conectar a uma instância usando o Gerenciador de Sessões, conclua as etapas de configuração necessárias. Por exemplo, a instância deve ser gerenciada pelo SSM e ter um perfil do IAM com a política **AmazonSSMManagedInstanceCore**. Para mais informações, consulte [Configurar o Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started.html).

**Para se conectar a uma instância do Amazon EC2 usando o Gerenciador de Sessões no 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 **Connect (Conectar)**.

1. No método de conexão, escolha **Gerenciador de Sessões**.

1. Escolha **Conectar** para iniciar a sessão.  
![\[O botão Conectar na guia Gerenciador de Sessões.\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/connect-method-session-manager.png)

**Solução de problemas**  
Se você receber um erro informando que você não tem autorização para executar uma ou mais ações do Gerenciador de Sessões (`ssm:command-name`), você precisará atualizar suas políticas para poder iniciar sessões no console do Amazon EC2. Para obter mais informações e instruções, consulte [Início rápido de políticas padrão do IAM para o gerenciador de sessões](https://docs.aws.amazon.com/systems-manager/latest/userguide/getting-started-restrict-access-quickstart.html) no *Guia do usuário doAWS Systems Manager*.

# Conecte-se à sua instância Linux usando um endereço IP público e o EC2 Instance Connect
<a name="connect-linux-inst-eic"></a>

O Amazon EC2 Instance Connect fornece uma forma segura de conexão com as instâncias do Linux com o Secure Shell (SSH). Com o EC2 Instance Connect, você usa [políticas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) do AWS Identity and Access Management (IAM) e [principais](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html#intro-structure-principal) para controlar o acesso de SSH às suas instâncias, eliminando a necessidade de compartilhar e gerenciar as chaves de SSH. Todas as solicitações de conexão usando o EC2 Instance Connect são [registradas no AWS CloudTrail para que você possa auditar as solicitações de conexão](monitor-with-cloudtrail.md#ec2-instance-connect-cloudtrail).

É possível usar o EC2 Instance Connect para se conectar às instâncias usando o console do Amazon EC2 ou um cliente SSH da sua escolha.

Ao conectar-se a uma instância usando o EC2 Instance Connect, a API do EC2 Instance Connect envia por push uma chave pública SSH para os [metadados da instância](ec2-instance-metadata.md), onde ela permanece por 60 segundos. A política do IAM anexada ao usuário autoriza o usuário a enviar por push a chave pública para os metadados da instância. O daemon SSH usa `AuthorizedKeysCommand` e `AuthorizedKeysCommandUser`, que são configurados quando o EC2 Instance Connect é instalado, para procurar a chave pública dos metadados da instância para autenticação e conectar você à instância.

**dica**  
O EC2 Instance Connect é uma das opções para se conectar a instâncias do Linux. Para obter outras opções, consulte [Conectar-se à instância do Linux usando SSH](connect-to-linux-instance.md). Para se conectar a uma instância do Windows, consulte [Conectar-se à instância do Windows no usando RDP](connecting_to_windows_instance.md).

**Preços**  
O EC2 Instance Connect está disponível sem custo adicional.

**Disponibilidade de regiões**  
O EC2 Instance Connect está disponível em todas as Regiões da AWS, exceto na região Ásia-Pacífico (Malásia). Ele não é compatível em zonas locais.

**Topics**
+ [Tutorial](ec2-instance-connect-tutorial.md)
+ [Pré-requisitos](ec2-instance-connect-prerequisites.md)
+ [Permissões](ec2-instance-connect-configure-IAM-role.md)
+ [Instalar o EC2 Instance Connect](ec2-instance-connect-set-up.md)
+ [Conectar a uma instância](ec2-instance-connect-methods.md)
+ [

# Desinstalar o EC2 Instance Connect
](ec2-instance-connect-uninstall.md)

Para obter uma postagem de blog que discute como melhorar a segurança de bastion hosts usando o EC2 Instance Connect, consulte [Proteção dos seus bastion hosts com o Amazon EC2 Instance Connect](https://aws.amazon.com/blogs/infrastructure-and-automation/securing-your-bastion-hosts-with-amazon-ec2-instance-connect/).

# Tutorial: Concluir a configuração necessária para se conectar à sua instância usando o EC2 Instance Connect
<a name="ec2-instance-connect-tutorial"></a>

Para se conectar à sua instância usando o EC2 Instance Connect no console do Amazon EC2, primeiro é necessário concluir a configuração de pré-requisito que permitirá que você se conecte com sucesso à sua instância. O objetivo deste tutorial é orientar você pelas tarefas de conclusão da configuração de pré-requisitos.

**Visão geral do tutorial**

Nesse tutorial, você deverá concluir as seguintes quatro tarefas:
+ [Tarefa 1: conceder as permissões necessárias para usar o EC2 Instance Connect](#eic-tut1-task1)

  Primeiro, você criará uma política do IAM que contenha as permissões do IAM que permitem que você envie uma chave pública para os metadados da instância. Você anexará essa política à sua identidade (usuário, grupo de usuários ou perfil) do IAM para que sua identidade do IAM receba essas permissões.
+ [Tarefa 2: permitir tráfego de entrada do serviço EC2 Instance Connect para a instância](#eic-tut1-task2)

  Em seguida, você criará um grupo de segurança que permita o tráfego do EC2 Instance Connect para sua instância. Isso é necessário quando você usa o EC2 Instance Connect no console do Amazon EC2 para se conectar à sua instância.
+ [Tarefa 3: iniciar sua instância](#eic-tut1-task3)

  Em seguida, você iniciará uma instância do EC2 usando uma AMI pré-instalada com o EC2 Instance Connect e adicionará o grupo de segurança que criou na etapa anterior.
+ [Tarefa 4: conectar à sua instância](#eic-tut1-task4)

  Por fim, você usará o EC2 Instance Connect no console do Amazon EC2 para se conectar à sua instância. Se você conseguir se conectar, poderá ter certeza de que a configuração de pré-requisito concluída nas Tarefas 1, 2 e 3 foi bem-sucedida.

## Tarefa 1: conceder as permissões necessárias para usar o EC2 Instance Connect
<a name="eic-tut1-task1"></a>

Ao conectar-se a uma instância usando o EC2 Instance Connect, a API do EC2 Instance Connect envia por push uma chave pública SSH para os [metadados da instância](ec2-instance-metadata.md), onde ela permanece por 60 segundos. É necessário ter uma política do IAM anexada à sua identidade do IAM (usuário, grupo de usuários ou função) para fornecer a permissão necessária para enviar por push a chave pública para os metadados da instância.

**Objetivo da tarefa**

Você criará a política do IAM que concede a permissão necessária para enviar por push a chave pública para a instância. A ação específica a ser permitida é `ec2-instance-connect:SendSSHPublicKey`. Você também deve permitir a ação `ec2:DescribeInstances` para poder visualizar e selecionar sua instância no console do Amazon EC2.

Depois de criar a política, você anexará a política à sua identidade do IAM (usuário, grupo de usuários ou perfil) para que sua identidade do IAM receba as permissões.

Você criará uma política configurada da seguinte forma:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": "ec2-instance-connect:SendSSHPublicKey",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:DescribeInstances",
            "Resource": "*"
        }
    ]
}
```

------

**Importante**  
A política do IAM criada neste tutorial é uma política altamente permissiva. Ela permite que você se conecte a qualquer instância usando qualquer nome de usuário da AMI. Estamos usando essa política altamente permissiva para manter o tutorial simples e focado nas configurações específicas que este tutorial está ensinando. No entanto, em um ambiente de produção, recomendamos que sua política do IAM seja configurada para fornecer permissões com [privilégios mínimos](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege). Para obter exemplos de políticas do IAM, consulte [Conceder permissões do IAM para o EC2 Instance Connect](ec2-instance-connect-configure-IAM-role.md).

**Para criar e anexar uma política do IAM que permita a você usar o EC2 Instance Connect para se conectar às suas instâncias**

1. **Crie primeiro a política do IAM**

   1. Abra o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

   1. No painel de navegação, escolha **Policies**.

   1. Selecione **Criar política**.

   1. Na página **Especificar permissão**, faça o seguinte:

      1. Em **Serviço**, escolha **EC2 Instance Connect**.

      1. Em **Ações permitidas**, no campo de pesquisa, comece a digitar **send** para mostrar as ações relevantes e selecione **SendSSHPublicKey**.

      1. Em **Recursos**, escolha **Todos**. Para um ambiente de produção, recomendamos especificar a instância pelo ARN, mas, neste tutorial, você está permitindo todas as instâncias.

      1. Escolha **Add more permissions (Adicionar mais permissões)**.

      1. Em **Serviço**, escolha **EC2**.

      1. Em **Ações permitidas**, no campo de pesquisa, comece a digitar **describein** para mostrar as ações relevantes e selecione **DescribeInstances**.

      1. Escolha **Próximo**.

   1. Na página **Revisar e criar**, faça o seguinte:

      1. Em **Policy Name (Nome da política)**, digite um nome para a política.

      1. Escolha **Criar política**.

1. **Em seguida, anexe a política à sua identidade**

   1. No console do IAM, no painel de navegação, escolha **Policies** (Políticas).

   1. Na lista de políticas, selecione o botão de seleção ao lado do nome da política que você criou. É possível usar a caixa de pesquisa para filtrar a lista de políticas.

   1. Clique em **Actions (Ações)** e em **Attach (Associar)**.

   1. Em **Entidades do IAM**, marque a caixa de seleção ao lado da sua identidade (usuário, grupo de usuários ou perfil). É possível usar a caixa de pesquisa para filtrar a lista de identidades.

   1. Escolha **Anexar política**.

### Visualizar uma animação: criar uma política do IAM
<a name="eic-tut1-task1-animation1"></a>

![\[Esta animação mostra como criar uma política do IAM. Para obter a versão em texto desta animação, consulte as etapas do procedimento anterior.\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/eic-tut1-task1-create-iam-policy.gif)


### Visualizar uma animação: anexar uma política do IAM
<a name="eic-tut1-task1-animation2"></a>

![\[Esta animação mostra como anexar uma política do IAM a uma identidade do IAM. Para obter a versão em texto desta animação, consulte as etapas do procedimento anterior.\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/eic-tut1-task1-attach-iam-policy.gif)


## Tarefa 2: permitir tráfego de entrada do serviço EC2 Instance Connect para a instância
<a name="eic-tut1-task2"></a>

Quando você usa o EC2 Instance Connect no console do Amazon EC2 para se conectar a uma instância, o tráfego que deve ser permitido para chegar à instância é o tráfego do serviço do EC2 Instance Connect. Isso é diferente de se conectar do seu computador local a uma instância; nesse caso, você deverá permitir o tráfego do seu computador local para sua instância. Para permitir o tráfego do EC2 Instance Connect, é necessário criar um grupo de segurança que permita tráfego SSH de entrada da faixa de endereços IP para o serviço do EC2 Instance Connect.

A AWS usa listas de prefixos para gerenciar intervalos de endereços IP. Os nomes das listas de prefixos do EC2 Instance Connect são os seguintes, com a *região* substituída pelo código da região:
+ Nome da lista de prefixos IPv4: `com.amazonaws.region.ec2-instance-connect`
+ Nome da lista de prefixos IPv6: `com.amazonaws.region.ipv6.ec2-instance-connect`

**Objetivo da tarefa**

Você criará um grupo de segurança que permite tráfego SSH de entrada na porta 22 da lista de prefixos IPv4 na região em que sua instância está localizada.

**Para criar um grupo de segurança que permita tráfego de entrada do serviço do EC2 Instance Connect para sua instância**

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, selecione **Grupos de segurança**.

1. Escolha **Criar grupo de segurança**.

1. Em **Basic details (Detalhes básicos)**, faça o seguinte:

   1. Em **Nome do grupo de segurança**, insira um nome que faça sentido para o grupo de segurança.

   1. Em **Descrição**, insira uma descrição para o grupo de segurança.

1. Em **Regras de entrada**, faça o seguinte:

   1. Escolha **Adicionar regra**.

   1. Para **Tipo**, escolha **SSH**.

   1. Em **Origem**, mantenha a opção **Personalizada**.

   1. No campo ao lado de **Origem**, selecione a lista de prefixos do EC2 Instance Connect.

      Por exemplo, se sua instância estiver localizada na região Leste dos EUA (Norte da Virgínia) (`us-east-1`) e seus usuários se conectarão ao seu endereço IPv4 público, escolha a seguinte lista de prefixos: **com.amazonaws.us-east-1.ec2-instance-connect**

1. Escolha **Criar grupo de segurança**.

### Visualizar uma animação: criar um grupo de segurança
<a name="eic-tut1-task2-animation"></a>

![\[Esta animação mostra como configurar um grupo de segurança. Para obter a versão em texto desta animação, consulte as etapas do procedimento anterior.\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/tut1-task2-eic-security-group.gif)


## Tarefa 3: iniciar sua instância
<a name="eic-tut1-task3"></a>

Ao iniciar uma instância, especifique uma AMI que contenha as informações necessárias para iniciá-la. É possível optar por iniciar uma instância com ou sem o EC2 Instance Connect pré-instalado. Nessa tarefa, especificamos uma AMI que é fornecida pré-instalada com o EC2 Instance Connect.

Se você iniciar sua instância sem o EC2 Instance Connect pré-instalado e quiser usar o EC2 Instance Connect para se conectar à sua instância, precisará executar etapas adicionais de configuração. Essas etapas estão fora do escopo deste tutorial.

**Objetivo da tarefa**

Você iniciará uma instância com a AMI do Amazon Linux 2023, que é fornecida pré-instalada com o EC2 Instance Connect. Você também especificará o grupo de segurança que criou anteriormente para poder usar o EC2 Instance Connect no console do Amazon EC2 para se conectar à sua instância. Como você usará o EC2 Instance Connect para se conectar à sua instância, que envia uma chave pública aos metadados da sua instância, não será necessário especificar uma chave SSH ao executar sua instância.

**Para iniciar uma instância que pode usar o EC2 Instance Connect no console do Amazon EC2 para conexão**

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

1. Na barra de navegação na parte superior da tela, a região da AWS atual será exibida (por exemplo, **Irlanda**). Selecione uma região na qual a instância será iniciada. Essa escolha é importante porque você criou um grupo de segurança que permite tráfego para uma região específica. Por isso, é necessário selecionar a mesma região na qual a instância será executada.

1. No painel do console do Amazon EC2, selecione **Launch instance (Executar instância)**. 

1. (Opcional) Em **Name and tags** (Nome e tags), para **Name** (Nome), insira um nome descritivo para a instância.

1. Em **Imagens de aplicações e sistemas operacionais (imagem de máquina da Amazon)**, escolha **Início rápido**. O **Amazon Linux** é selecionado por padrão. Em **Imagem de máquina da Amazon (AMI)**, a opção **AMI do Amazon Linux 2023** é selecionada por padrão. Mantenha a seleção padrão para essa tarefa.

1. Em **Tipo de instância**, para **Tipo de instância**, mantenha a seleção padrão ou escolha um tipo de instância diferente.

1. Em **Par de chaves (login)**, em **Nome do par de chaves**, escolha **Continuar sem um par de chaves (não recomendado)**. Quando você usa o EC2 Instance Connect para se conectar a uma instância, o EC2 Instance Connect envia um par de chaves para os metadados da instância, e é esse par de chaves que é usado para a conexão.

1. Em **Network settings** (Configurações de rede), faça o seguinte:

   1. Em **Atribuir IP público automaticamente**, mantenha a opçaõ **Habilitar**.
**nota**  
Para usar o EC2 Instance Connect no console do Amazon EC2 para se conectar a uma instância, a instância deve ter um endereço IPv4 público ou IPv6.

   1. Em **Firewall (grupos de segurança)**, escolha **Selecionar grupo de segurança existente**.

   1. Em **Grupos de segurança comuns**, escolha o grupo de segurança criado anteriormente.

1. No painel **Resumo** painel, escolha **Iniciar instância**.

### Visualizar uma animação: iniciar sua instância
<a name="eic-tut1-task3-animation"></a>

![\[Esta animação mostra como iniciar uma instância. Para obter a versão em texto desta animação, consulte as etapas do procedimento anterior.\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/tut1-task3-launch-an-instance.gif)


## Tarefa 4: conectar à sua instância
<a name="eic-tut1-task4"></a>

Ao conectar-se a uma instância usando o EC2 Instance Connect, a API do EC2 Instance Connect envia por push uma chave pública SSH para os [metadados da instância](ec2-instance-metadata.md), onde ela permanece por 60 segundos. O daemon SSH usa `AuthorizedKeysCommand` e `AuthorizedKeysCommandUser` para procurar a chave pública nos metadados da instância para autenticação e conectar você à instância.

**Objetivo da tarefa**

Nessa tarefa, você se conectará à sua instância usando o EC2 Instance Connect no console do Amazon EC2. Se você concluiu os pré-requisitos das Tarefas 1, 2 e 3, a conexão deverá ser bem-sucedida. 

**Etapas para se conectar à sua instância**

Use as etapas a seguir para se conectar à sua instância. Para visualizar uma animação dessas etapas, consulte [Visualizar uma animação: conectar à sua instância](#eic-tut1-task4-animation).

**Para conectar uma instância usando o EC2 Instance Connect no 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. Na barra de navegação na parte superior da tela, a região da AWS atual será exibida (por exemplo, **Irlanda**). Selecione a região na qual a instância está localizada.

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

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

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

1. Escolha **Conectar usando um IP público**. 

1. Selecione **Conectar**.

   Uma janela de terminal abrirá no navegador e você estará conectado à sua instância.

### Visualizar uma animação: conectar à sua instância
<a name="eic-tut1-task4-animation"></a>

![\[Esta animação mostra como conectar uma instância usando o EC2 Instance Connect. Para obter a versão em texto desta animação, consulte as etapas do procedimento anterior.\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/eic-tut1-task4-connect.gif)


# Pré-requisitos para o EC2 Instance Connect
<a name="ec2-instance-connect-prerequisites"></a>

**Topics**
+ [

## Instalar o EC2 Instance Connect
](#eic-prereqs-install-eic-on-instance)
+ [

## Garantir a conectividade da rede
](#eic-prereqs-network-access)
+ [

## Permitir tráfego SSH de entrada
](#ec2-instance-connect-setup-security-group)
+ [

## Conceder permissões
](#eic-prereqs-grant-permissions)
+ [

## Instalar um cliente SSH no computador local
](#eic-prereqs-install-ssh-client)
+ [

## Atender a requisitos de nome de usuário
](#eic-prereqs-username)

## Instalar o EC2 Instance Connect
<a name="eic-prereqs-install-eic-on-instance"></a>

Para usar o EC2 Instance Connect para se conectar a uma instância, a instância deve ter o EC2 Instance Connect instalado. É possível iniciar a instância usando uma AMI que é fornecida pré-instalada com o EC2 Instance Connect ou instalar o EC2 Instance Connect em instâncias que são iniciadas com AMIs compatíveis. Para obter mais informações, consulte [Instalar o EC2 Instance Connect nas suas instâncias do EC2](ec2-instance-connect-set-up.md).

## Garantir a conectividade da rede
<a name="eic-prereqs-network-access"></a>

As instâncias podem ser configuradas para permitir que os usuários conectem-se à sua instância pela Internet ou por meio do endereço IP privado da instância. Dependendo de como seus usuários forem conectar-se à sua instância usando o EC2 Instance Connect, será necessário configurar o seguinte acesso à rede:
+ Se os usuários forem se conectar à sua instância pela Internet, a instância deverá ter um endereço público IPv4 ou IPv6 e estar em uma sub-rede pública com uma rota para a Internet. Se você não modificou sua sub-rede pública padrão, ela contém uma rota para a Internet somente para IPv4, e não para IPv6. Para obter mais informações, consulte [Habilitar o acesso à internet usando gateways da internet](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html#vpc-igw-internet-access) no *Guia do usuário do Amazon VPC*.
+ Caso seus usuários forem se conectar à sua instância por meio do endereço IPv4 privado da instância, você deverá estabelecer uma conectividade de rede privada com sua VPC por meio do AWS Direct Connect, do AWS Site-to-Site VPN ou do emparelhamento da VPC, para que os usuários possam acessar o endereço IP privado da instância.

Se a instância não tiver um endereço IPv4 público ou um endereço IPv6 e você preferir não configurar o acesso à rede como descrito acima, considere o EC2 Instance Connect Endpoint como uma alternativa ao EC2 Instance Connect. Com o EC2 Instance Connect Endpoint, você pode se conectar a uma instância usando SSH ou RDP mesmo que a instância não tenha um endereço um IPv4 público ou um endereço IPv6. Para obter mais informações, consulte [Conectar-se à sua instância do Linux usando o console do Amazon EC2](connect-using-eice.md#connect-using-the-ec2-console).

## Permitir tráfego SSH de entrada
<a name="ec2-instance-connect-setup-security-group"></a>

**Ao usar o console do Amazon EC2 para se conectar a uma instância**  
Quando usuários se conectam a uma instância usando o console do Amazon EC2 o tráfego que deve ser permitido para chegar à instância é o tráfego do serviço do EC2 Instance Connect. O serviço é identificado por intervalos de endereços IP específicos, que a AWS gerencia por meio de listas de prefixos. Você deve criar um grupo de segurança que permita tráfego de SSH de entrada do serviço do EC2 Instance Connect. Para configurar isso, para a regra de entrada, no campo ao lado de **Origem**, selecione a lista de prefixos do EC2 Instance Connect.

A AWS fornece diferentes listas de prefixo gerenciadas para endereços IPv4 e IPv6 para cada região. Os nomes das listas de prefixos do EC2 Instance Connect são os seguintes, com a *região* substituída pelo código da região:
+ Nome da lista de prefixos IPv4: `com.amazonaws.region.ec2-instance-connect`
+ Nome da lista de prefixos IPv6: `com.amazonaws.region.ipv6.ec2-instance-connect`

Para obter instruções sobre a criação do grupo de segurança, consulte [Tarefa 2: permitir tráfego de entrada do serviço EC2 Instance Connect para a instância](ec2-instance-connect-tutorial.md#eic-tut1-task2). Para obter mais informações, consulte [AWS-managed prefix lists](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-aws-managed-prefix-lists.html#available-aws-managed-prefix-lists) disponíveis no *Guia do usuário do Amazon VPC*.

**Ao usar a CLI ou SSH para conectar a uma instância**  
Certifique-se de que o grupo de segurança associado à sua instância [permita tráfego SSH de entrada](security-group-rules-reference.md#sg-rules-local-access) na porta 22 a partir do seu endereço IP ou da rede. O grupo de segurança padrão para a VPC não permite o tráfego SSH de entrada por padrão. O grupo de segurança criado pelo assistente de inicialização de instâncias permite o tráfego SSH de entrada por padrão. Para obter mais informações, consulte [Regras para se conectar a instâncias pelo computador](security-group-rules-reference.md#sg-rules-local-access).

## Conceder permissões
<a name="eic-prereqs-grant-permissions"></a>

Você deve conceder as permissões necessárias a cada usuário do IAM que usará o EC2 Instance Connect para se conectar a uma instância. Para obter mais informações, consulte [Conceder permissões do IAM para o EC2 Instance Connect](ec2-instance-connect-configure-IAM-role.md).

## Instalar um cliente SSH no computador local
<a name="eic-prereqs-install-ssh-client"></a>

Caso os usuários utilizem SSH para se conectar, eles devem garantir que o computador local tenha um cliente SSH.

É muito provável que o computador local do usuário tenha um cliente SSH instalado por padrão. É possível verificar se existe um cliente SSH digitando **ssh** na linha de comando. Se o computador local não reconhecer o comando, será preciso instalar um cliente SSH. Para obter informações sobre como instalar um cliente SSH no Linux ou macOS X, consulte [http://www.openssh.com](http://www.openssh.com/). Para obter informações sobre como instalar um cliente SSH no Windows 10, consulte [OpenSSH no Windows](https://learn.microsoft.com/en-us/windows-server/administration/OpenSSH/openssh-overview).

Não haverá necessidade de instalar um cliente SSH em um computador local se os usuários só usarem o console do Amazon EC2 para se conectarem a uma instância.

## Atender a requisitos de nome de usuário
<a name="eic-prereqs-username"></a>

Quando o EC2 Instance Connect for usado para conexão com uma instância, o nome de usuário deverá atender aos seguintes requisitos:
+ Primeiro caractere: deve ser uma letra (`A-Z` ou `a-z`), um dígito (`0-9`) ou um sublinhado (`_`)
+ Caracteres subsequentes: podem ser letras (`A-Z`, `a-z`), dígitos (`0-9`) ou os seguintes caracteres: `@ . _ -`
+ Tamanho mínimo: 1 caractere
+ Tamanho máximo: 31 caracteres

# Conceder permissões do IAM para o EC2 Instance Connect
<a name="ec2-instance-connect-configure-IAM-role"></a>

Para se conectar a uma instância usando o EC2 Instance Connect, é necessário criar uma política do IAM que conceda permissões aos usuários para as ações e condições a seguir:
+ Ação `ec2-instance-connect:SendSSHPublicKey`: concede permissão para enviar por push a chave pública a uma instância.
+ Condição `ec2:osuser`: especifica o nome do usuário do sistema operacional que pode enviar por push a chave pública a uma instância. Use o nome de usuário padrão da AMI que você usou para iniciar a instância. O nome de usuário padrão para o AL2023 e o Amazon Linux 2 é `ec2-user` e, para o Ubuntu, é `ubuntu`.
+ Ação `ec2:DescribeInstances`: exigida ao usar o console do EC2, pois o wrapper chama essa ação. Os usuários talvez já tenham permissão para chamar essa ação a partir de outra política.
+ Ação `ec2:DescribeVpcs`: necessário ao se conectar a um endereço IPv6.

Considere restringir o acesso a instâncias do EC2 específicas. Caso contrário, todas as entidades principais do IAM com permissão para ação `ec2-instance-connect:SendSSHPublicKey` poderão conectar a todas as instâncias do EC2. É possível restringir o acesso especificando ARNs de recursos ou usando tags de recurso como [chaves de condição](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2instanceconnect.html#amazonec2instanceconnect-policy-keys).

Para obter mais informações, consulte [Ações, recursos e chaves de condição para o Amazon EC2 Instance Connect](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2instanceconnect.html).

Para obter informações sobre a criação de políticas do IAM, consulte [Criação de políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html), no *Manual do usuário do IAM*.

## Permitir que os usuários conectem-se a instâncias específicas
<a name="eic-permissions-allow-users-to-connect-to-specific-instances"></a>

A política do IAM a seguir concede permissão para se conectar a instâncias específicas, identificadas por seus ARNs de recursos. 

No exemplo de política do IAM a seguir, as ações e condições abaixo são especificadas:
+ A ação `ec2-instance-connect:SendSSHPublicKey` concede aos usuários permissão para se conectar a duas instâncias, especificadas pelos ARNs do recurso. Para conceder aos usuários permissão para se conectar a *todas* as instâncias do EC2, substitua os ARNs do recurso pelo curinga `*`.
+ A condição `ec2:osuser` concede permissão para se conectar às instâncias somente se o nome do *ami-user* for especificado durante a conexão.
+ A ação `ec2:DescribeInstances` é especificada para conceder permissão aos usuários que usarão o console para se conectar às suas instâncias. Caso seus usuários utilizem somente um cliente SSH para se conectar às suas instâncias, é possível omitir `ec2:DescribeInstances`. Observe que as ações da API `ec2:Describe*` não oferecem suporte a permissões no nível do recurso. Portanto, o caractere curinga `*` é necessário no elemento `Resource`.
+ A ação `ec2:DescribeVpcs` é especificada para conceder permissão aos usuários que usarão o console para se conectar às suas instâncias usando um endereço IPv6. Se seus usuários usarão somente um endereço IPv4, você pode omitir `ec2:DescribeVpcs`. Observe que as ações da API `ec2:Describe*` não oferecem suporte a permissões no nível do recurso. Portanto, o caractere curinga `*` é necessário no elemento `Resource`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": "ec2-instance-connect:SendSSHPublicKey",
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:instance/i-1234567890abcdef0",
                "arn:aws:ec2:us-east-1:111122223333:instance/i-0598c7d356eba48d7"
            ],
            "Condition": {
                "StringEquals": {
                    "ec2:osuser": "ami-username"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances",
                "ec2:DescribeVpcs"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Permitir que os usuários conectem-se a instâncias com tags específicas
<a name="eic-permissions-allow-users-to-connect-to-instances-with-specific-tags"></a>

O controle de acesso por atributo (ABAC) é uma estratégia de autorização que define permissões de acordo com tags que podem ser anexadas a usuários e a recursos da AWS. É possível usar tags de recurso para controlar o acesso a uma instância. Para obter mais informações sobre como usar tags para controlar o acesso aos recursos da AWS, consulte [Controle do acesso aos recursos da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html#access_tags_control-resources) no *Guia do usuário do IAM*.

No exemplo de política do IAM a seguir, a ação `ec2-instance-connect:SendSSHPublicKey` concede aos usuários permissão para se conectar a qualquer instância (indicada pelo curinga `*` no ARN do recurso), desde que a instância tenha uma tag de recurso com key=`tag-key` e value=`tag-value`.

A ação `ec2:DescribeInstances` é especificada para conceder permissão aos usuários que usarão o console para se conectar às suas instâncias. Caso seus usuários usem somente um cliente SSH para se conectarem às suas instâncias, será possível omitir `ec2:DescribeInstances`. Observe que as ações da API `ec2:Describe*` não oferecem suporte a permissões no nível do recurso. Portanto, o caractere curinga `*` é necessário no elemento `Resource`.

A ação `ec2:DescribeVpcs` é especificada para conceder permissão aos usuários que usarão o console para se conectar às suas instâncias usando um endereço IPv6. Se seus usuários usarão somente um endereço IPv4, você pode omitir `ec2:DescribeVpcs`. Observe que as ações da API `ec2:Describe*` não oferecem suporte a permissões no nível do recurso. Portanto, o caractere curinga `*` é necessário no elemento `Resource`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": "ec2-instance-connect:SendSSHPublicKey", 
            "Resource": "arn:aws:ec2:us-east-1:111122223333:instance/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/tag-key": "tag-value"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances",
                "ec2:DescribeVpcs"
            ],
            "Resource": "*"
        }
    ]
}
```

------

# Instalar o EC2 Instance Connect nas suas instâncias do EC2
<a name="ec2-instance-connect-set-up"></a>

Para conexão com uma instância do Linux usando o EC2 Instance Connect, a instância deve ter o EC2 Instance Connect instalado. Instalar o EC2 Instance Connect configura o daemon SSH na instância.

Para obter mais informações sobre o pacote do EC2 Instance Connect, consulte [aws/aws-ec2-instance-connect-config ](https://github.com/aws/aws-ec2-instance-connect-config) no site do GitHub.

**nota**  
Se você definiu as configurações de `AuthorizedKeysCommand` e `AuthorizedKeysCommandUser` para a autenticação SSH, a instalação do EC2 Instance Connect não as atualizará. Consequentemente, não é possível usar o EC2 Instance Connect.

## Pré-requisitos de instalação
<a name="ec2-instance-connect-install-prerequisites"></a>

Antes de instalar o EC2 Instance Connect, verifique se você atende aos pré-requisitos a seguir.
+ **Verifique se a instância usa algum dos seguintes recursos:**
  + Amazon Linux 2 anterior à versão 2.0.20190618 \$1
  + AMI mínima do AL2023 ou AMI otimizada para o Amazon ECS
  + CentOS Stream 8 e 9
  + macOS Sonoma anterior à versão 14.2.1, Ventura anterior à versão 13.6.3 e Monterey anterior à versão 12.7.2 \$1
  + Red Hat Enterprise Linux (RHEL) 8 e 9
  + Ubuntu 16.04 e 18.04 \$1
**dica**  
\$1 Para Amazon Linux 2, macOS e Ubuntu: se você iniciou sua instância usando uma versão posterior às listadas acima, o EC2 Instance Connect vem pré-instalado e nenhuma instalação manual é necessária.
+ **Verifique os pré-requisitos gerais para o EC2 Instance Connect.**

  Para obter mais informações, consulte [Pré-requisitos para o EC2 Instance Connect](ec2-instance-connect-prerequisites.md).
+ **Verifique os pré-requisitos para se conectar à sua instância usando um cliente SSH em sua máquina local.**

  Para obter mais informações, consulte [Conectar-se à instância do Linux usando SSH](connect-to-linux-instance.md).
+ **Obtenha o ID da instância.**

  É possível obter o ID da instância usando o console do Amazon EC2 (na coluna **ID da instância**). Se preferir, é possível usar o comando [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) (AWS CLI) ou [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) (AWS Tools for Windows PowerShell).

## Instalar manualmente o EC2 Instance Connect
<a name="ec2-instance-connect-install"></a>

**nota**  
Se você iniciar a instância usando uma das AMIs a seguir, o EC2 Instance Connect estará pré-instalado e será possível ignorar este procedimento:  
AMI padrão do AL2023
Amazon Linux 2 2.0.20190618 ou posterior
macOS Sonoma 14.2.1 ou posterior
macOS Ventura 13.6.3 ou posterior
macOS Monterey 12.7.2 ou posterior
Ubuntu 20.04 ou posterior

Use um dos procedimentos a seguir para instalar o EC2 Instance Connect, dependendo do sistema operacional da instância.

------
#### [ Amazon Linux 2 ]

**Para instalar o EC2 Instance Connect em uma instância aberta com Amazon Linux 2**

1. Conecte-se à sua instância usando SSH.

   Substitua o exemplo de valores no seguinte comando pelos seus valores: Use o par de chaves SSH atribuído à sua instância ao abri-la e o nome do usuário padrão da AMI usada para abrir a instância. Para o Amazon Linux 2, o nome do usuário padrão é `ec2-user`.

   ```
   $ ssh -i my_ec2_private_key.pem ec2-user@ec2-a-b-c-d.us-west-2.compute.amazonaws.com
   ```

   Para obter mais informações sobre como se conectar à sua instância, consulte [Conectar-se à instância do Linux usando um cliente SSH](connect-linux-inst-ssh.md).

1. Instale o pacote EC2 Instance Connect na sua instância.

   ```
   [ec2-user ~]$ sudo yum install ec2-instance-connect
   ```

   Deverão estar visíveis três novos scripts na pasta `/opt/aws/bin/`:

   ```
   eic_curl_authorized_keys
   eic_parse_authorized_keys
   eic_run_authorized_keys
   ```

1. (Opcional) Verifique se o EC2 Instance Connect foi instalando com êxito na sua instância.

   ```
   [ec2-user ~]$ sudo less /etc/ssh/sshd_config
   ```

   O EC2 Instance Connect foi instalado com êxito se as linhas `AuthorizedKeysCommand` e `AuthorizedKeysCommandUser` contiverem os seguintes valores:

   ```
   AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f
   AuthorizedKeysCommandUser ec2-instance-connect
   ```
   + O `AuthorizedKeysCommand` define o script `eic_run_authorized_keys` para buscar as chaves nos metadados da instância
   + `AuthorizedKeysCommandUser` O define o usuário do sistema como `ec2-instance-connect`
**nota**  
Se você tiver previamente configurado `AuthorizedKeysCommand` e `AuthorizedKeysCommandUser`, a instalação do EC2 Instance Connect não mudará os valores e você não poderá usar o EC2 Instance Connect.

------
#### [ CentOS ]

**Para instalar o EC2 Instance Connect em uma instância executada com o CentOS**

1. Conecte-se à sua instância usando SSH.

   Substitua o exemplo de valores no seguinte comando pelos seus valores: Use o par de chaves SSH atribuído à sua instância ao abri-la e o nome do usuário padrão da AMI usada para abrir a instância. Para o CentOS, o nome de usuário padrão é `centos` ou `ec2-user`.

   ```
   $ ssh -i my_ec2_private_key.pem centos@ec2-a-b-c-d.us-west-2.compute.amazonaws.com
   ```

   Para obter mais informações sobre como se conectar à sua instância, consulte [Conectar-se à instância do Linux usando um cliente SSH](connect-linux-inst-ssh.md).

1. Se você usar um proxy HTTP ou HTTPS, defina o `http_proxy` ou as variáveis de ambiente `https_proxy` na sessão do shell atual.

   Se você não estiver usando um proxy, ignore esta etapa.
   + Para um servidor de proxy HTTP, execute os seguintes comandos:

     ```
     $ export http_proxy=http://hostname:port
     $ export https_proxy=http://hostname:port
     ```
   + Para um servidor de proxy HTTPS, execute os seguintes comandos:

     ```
     $ export http_proxy=https://hostname:port
     $ export https_proxy=https://hostname:port
     ```

1. Instale o pacote do EC2 Instance Connect na sua instância executando os comandos a seguir.

   Os arquivos de configuração do EC2 Instance Connect para CentOS são fornecidos em um pacote do Red Hat Package Manager (RPM), com pacotes do RPM diferentes para CentOS 8 e CentOS 9 e para tipos de instância executados em Intel/AMD (x86\$164) ou ARM (AArch64).

   Use o bloco de comando para a arquitetura do seu sistema operacional e de CPU.
   + CentOS 8

     Intel/AMD (x86\$164)

     ```
     [ec2-user ~]$ mkdir /tmp/ec2-instance-connect
     [ec2-user ~]$ curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-2.0.0-5.rhel8.x86_64.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm
     [ec2-user ~]$ curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux-2.0.0-5.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
     [ec2-user ~]$ sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
     ```

     ARM (AArch64)

     ```
     [ec2-user ~]$ mkdir /tmp/ec2-instance-connect
     [ec2-user ~]$ curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect-2.0.0-5.rhel8.aarch64.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm
     [ec2-user ~]$ curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect-selinux-2.0.0-5.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
     [ec2-user ~]$ sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
     ```
   + CentOS 9

     Intel/AMD (x86\$164)

     ```
     [ec2-user ~]$ mkdir /tmp/ec2-instance-connect
     [ec2-user ~]$ curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-2.0.0-5.rhel9.x86_64.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm
     [ec2-user ~]$ curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux-2.0.0-5.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
     [ec2-user ~]$ sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
     ```

     ARM (AArch64)

     ```
     [ec2-user ~]$ mkdir /tmp/ec2-instance-connect
     [ec2-user ~]$ curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect-2.0.0-5.rhel9.aarch64.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm
     [ec2-user ~]$ curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect-selinux-2.0.0-5.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
     [ec2-user ~]$ sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
     ```

   Deverá estar visível o seguinte novo script na pasta `/opt/aws/bin/`:

   ```
   eic_run_authorized_keys
   ```

1. (Opcional) Verifique se o EC2 Instance Connect foi instalando com êxito na sua instância.
   + Para o CentOS 8:

     ```
     [ec2-user ~]$ sudo less /lib/systemd/system/sshd.service.d/ec2-instance-connect.conf
     ```
   + Para o CentOS 9:

     ```
     [ec2-user ~]$ sudo less /etc/ssh/sshd_config.d/60-ec2-instance-connect.conf
     ```

   O EC2 Instance Connect foi instalado com êxito se as linhas `AuthorizedKeysCommand` e `AuthorizedKeysCommandUser` contiverem os seguintes valores:

   ```
   AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f
   AuthorizedKeysCommandUser ec2-instance-connect
   ```
   + O `AuthorizedKeysCommand` define o script `eic_run_authorized_keys` para buscar as chaves nos metadados da instância
   + `AuthorizedKeysCommandUser` O define o usuário do sistema como `ec2-instance-connect`
**nota**  
Se você tiver previamente configurado `AuthorizedKeysCommand` e `AuthorizedKeysCommandUser`, a instalação do EC2 Instance Connect não mudará os valores e você não poderá usar o EC2 Instance Connect.

------
#### [ macOS ]

**Para instalar o EC2 Instance Connect em uma instância executada com o macOS**

1. Conecte-se à sua instância usando SSH.

   Substitua o exemplo de valores no seguinte comando pelos seus valores: Use o par de chaves SSH atribuído à sua instância ao abri-la e o nome do usuário padrão da AMI usada para abrir a instância. Para instâncias macOS, o nome de usuário padrão é `ec2-user`.

   ```
   $ ssh -i my_ec2_private_key.pem ec2-user@ec2-a-b-c-d.us-west-2.compute.amazonaws.com
   ```

   Para obter mais informações sobre como se conectar à sua instância, consulte [Conectar-se à instância do Linux usando um cliente SSH](connect-linux-inst-ssh.md).

1. Atualize o Homebrew usando o seguinte comando. A atualização listará o software que o Homebrew conhece. O pacote do EC2 Instance Connect é fornecido via Homebrew em instâncias do macOS. Para obter mais informações, consulte [Atualizar o sistema operacional e o software em instâncias Mac do Amazon EC2](mac-instance-updates.md).

   ```
   [ec2-user ~]$ brew update
   ```

1. Instale o pacote EC2 Instance Connect na sua instância. Isso instalará o software e configurará o SSHD para usá-lo.

   ```
   [ec2-user ~]$ brew install ec2-instance-connect
   ```

   Deverá estar visível o seguinte novo script na pasta `/opt/aws/bin/`:

   ```
   eic_run_authorized_keys
   ```

1. (Opcional) Verifique se o EC2 Instance Connect foi instalando com êxito na sua instância.

   ```
   [ec2-user ~]$ sudo less /etc/ssh/sshd_config.d/60-ec2-instance-connect.conf
   ```

   O EC2 Instance Connect foi instalado com êxito se as linhas `AuthorizedKeysCommand` e `AuthorizedKeysCommandUser` contiverem os seguintes valores:

   ```
   AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f
   AuthorizedKeysCommandUser ec2-instance-connect
   ```
   + O `AuthorizedKeysCommand` define o script `eic_run_authorized_keys` para buscar as chaves nos metadados da instância
   + `AuthorizedKeysCommandUser` O define o usuário do sistema como `ec2-instance-connect`
**nota**  
Se você tiver previamente configurado `AuthorizedKeysCommand` e `AuthorizedKeysCommandUser`, a instalação do EC2 Instance Connect não mudará os valores e você não poderá usar o EC2 Instance Connect.

------
#### [ RHEL ]

**Para instalar o EC2 Instance Connect em uma instância executada com o Red Hat Enterprise Linux (RHEL)**

1. Conecte-se à sua instância usando SSH.

   Substitua o exemplo de valores no seguinte comando pelos seus valores: Use o par de chaves SSH atribuído à sua instância ao abri-la e o nome do usuário padrão da AMI usada para abrir a instância. Para o RHEL, o nome de usuário padrão é `ec2-user` ou `root`.

   ```
   $ ssh -i my_ec2_private_key.pem ec2-user@ec2-a-b-c-d.us-west-2.compute.amazonaws.com
   ```

   Para obter mais informações sobre como se conectar à sua instância, consulte [Conectar-se à instância do Linux usando um cliente SSH](connect-linux-inst-ssh.md).

1. Se você usar um proxy HTTP ou HTTPS, defina o `http_proxy` ou as variáveis de ambiente `https_proxy` na sessão do shell atual.

   Se você não estiver usando um proxy, ignore esta etapa.
   + Para um servidor de proxy HTTP, execute os seguintes comandos:

     ```
     $ export http_proxy=http://hostname:port
     $ export https_proxy=http://hostname:port
     ```
   + Para um servidor de proxy HTTPS, execute os seguintes comandos:

     ```
     $ export http_proxy=https://hostname:port
     $ export https_proxy=https://hostname:port
     ```

1. Instale o pacote do EC2 Instance Connect na sua instância executando os comandos a seguir. 

   Os arquivos de configuração do EC2 Instance Connect para RHEL são fornecidos em um pacote do Red Hat Package Manager (RPM), com pacotes do RPM diferentes para RHEL 8 e RHEL 9 e para tipos de instância executados em Intel/AMD (x86\$164) ou ARM (AArch64).

   Use o bloco de comando para a arquitetura do seu sistema operacional e de CPU.
   + RHEL 8

     Intel/AMD (x86\$164)

     ```
     [ec2-user ~]$ mkdir /tmp/ec2-instance-connect
     [ec2-user ~]$ curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-2.0.0-5.rhel8.x86_64.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm
     [ec2-user ~]$ curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux-2.0.0-5.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
     [ec2-user ~]$ sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
     ```

     ARM (AArch64)

     ```
     [ec2-user ~]$ mkdir /tmp/ec2-instance-connect
     [ec2-user ~]$ curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect-2.0.0-5.rhel8.aarch64.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm
     [ec2-user ~]$ curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect-selinux-2.0.0-5.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
     [ec2-user ~]$ sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
     ```
   + RHEL 9

     Intel/AMD (x86\$164)

     ```
     [ec2-user ~]$ mkdir /tmp/ec2-instance-connect
     [ec2-user ~]$ curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-2.0.0-5.rhel9.x86_64.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm
     [ec2-user ~]$ curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_amd64/ec2-instance-connect-selinux-2.0.0-5.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
     [ec2-user ~]$ sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
     ```

     ARM (AArch64)

     ```
     [ec2-user ~]$ mkdir /tmp/ec2-instance-connect
     [ec2-user ~]$ curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect-2.0.0-5.rhel9.aarch64.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect.rpm
     [ec2-user ~]$ curl https://amazon-ec2-instance-connect-us-west-2.s3.us-west-2.amazonaws.com/latest/linux_arm64/ec2-instance-connect-selinux-2.0.0-5.noarch.rpm -o /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
     [ec2-user ~]$ sudo yum install -y /tmp/ec2-instance-connect/ec2-instance-connect.rpm /tmp/ec2-instance-connect/ec2-instance-connect-selinux.rpm
     ```

   Deverá estar visível o seguinte novo script na pasta `/opt/aws/bin/`:

   ```
   eic_run_authorized_keys
   ```

1. (Opcional) Verifique se o EC2 Instance Connect foi instalando com êxito na sua instância.
   + Para o RHEL 8:

     ```
     [ec2-user ~]$ sudo less /lib/systemd/system/sshd.service.d/ec2-instance-connect.conf
     ```
   + Para o RHEL 9:

     ```
     [ec2-user ~]$ sudo less /etc/ssh/sshd_config.d/60-ec2-instance-connect.conf
     ```

   O EC2 Instance Connect foi instalado com êxito se as linhas `AuthorizedKeysCommand` e `AuthorizedKeysCommandUser` contiverem os seguintes valores:

   ```
   AuthorizedKeysCommand /opt/aws/bin/eic_run_authorized_keys %u %f
   AuthorizedKeysCommandUser ec2-instance-connect
   ```
   + O `AuthorizedKeysCommand` define o script `eic_run_authorized_keys` para buscar as chaves nos metadados da instância
   + `AuthorizedKeysCommandUser` O define o usuário do sistema como `ec2-instance-connect`
**nota**  
Se você tiver previamente configurado `AuthorizedKeysCommand` e `AuthorizedKeysCommandUser`, a instalação do EC2 Instance Connect não mudará os valores e você não poderá usar o EC2 Instance Connect.

------
#### [ Ubuntu ]

**Para instalar o EC2 Instance Connect em uma instância aberta com Ubuntu 16.04 ou posterior**

1. Conecte-se à sua instância usando SSH.

   Substitua o exemplo de valores no seguinte comando pelos seus valores: Use o par de chaves SSH atribuído à sua instância quando você a executou e use o nome de usuário padrão da AMI que você usou para iniciar sua instância. Para uma AMI Ubuntu, o nome de usuário é `ubuntu`.

   ```
   $ ssh -i my_ec2_private_key.pem ubuntu@ec2-a-b-c-d.us-west-2.compute.amazonaws.com
   ```

   Para obter mais informações sobre como se conectar à sua instância, consulte [Conectar-se à instância do Linux usando um cliente SSH](connect-linux-inst-ssh.md).

1. (Opcional) Garanta que sua instância tenha a AMI do Ubuntu mais recente.

   Execute os comandos a seguir para atualizar todos os pacotes na instância.

   ```
   ubuntu:~$ sudo apt-get update
   ```

   ```
   ubuntu:~$ sudo apt-get upgrade
   ```

1. Instale o pacote EC2 Instance Connect na sua instância.

   ```
   ubuntu:~$ sudo apt-get install ec2-instance-connect
   ```

   Deverão estar visíveis três novos scripts na pasta `/usr/share/ec2-instance-connect/`:

   ```
   eic_curl_authorized_keys
   eic_parse_authorized_keys
   eic_run_authorized_keys
   ```

1. (Opcional) Verifique se o EC2 Instance Connect foi instalando com êxito na sua instância.

   ```
   ubuntu:~$ sudo less /lib/systemd/system/ssh.service.d/ec2-instance-connect.conf
   ```

   O EC2 Instance Connect foi instalado com êxito se as linhas `AuthorizedKeysCommand` e `AuthorizedKeysCommandUser` contiverem os seguintes valores:

   ```
   AuthorizedKeysCommand /usr/share/ec2-instance-connect/eic_run_authorized_keys %%u %%f
   AuthorizedKeysCommandUser ec2-instance-connect
   ```
   + O `AuthorizedKeysCommand` define o script `eic_run_authorized_keys` para buscar as chaves nos metadados da instância
   + `AuthorizedKeysCommandUser` O define o usuário do sistema como `ec2-instance-connect`
**nota**  
Se você tiver previamente configurado `AuthorizedKeysCommand` e `AuthorizedKeysCommandUser`, a instalação do EC2 Instance Connect não mudará os valores e você não poderá usar o EC2 Instance Connect.

------

# Conectar-se à instância do Linux usando EC2 Instance Connect
<a name="ec2-instance-connect-methods"></a>

As instruções a seguir explicam como você pode se conectar a instâncias do Linux usando o EC2 Instance Connect por meio do console do Amazon EC2, da AWS CLI ou de um cliente SSH. 

Ao conectar-se a uma instância usando o EC2 Instance Connect por meio do console ou da AWS CLI, a API do EC2 Instance Connect envia automaticamente por push uma chave pública de SSH para os [metadados da instância](ec2-instance-metadata.md), onde ela permanece por 60 segundos. Uma política do IAM anexada ao seu usuário autoriza esta ação. Se você preferir usar sua própria chave de SSH, será possível usar um cliente de SSH e enviar explicitamente sua chave de SSH para a instância usando o EC2 Instance Connect.

**Considerações**  
Depois de se conectar a uma instância usando o Instance Connect do EC2, a conexão persiste até que a sessão SSH seja encerrada. A duração da conexão não é determinada pela duração de suas credenciais do IAM. Se as suas credenciais do IAM expirarem, a conexão persistirá. Ao utilizar a experiência do console do Instance Connect do EC2, se as suas credenciais de IAM expirarem, encerre a conexão fechando a página do navegador. Ao usar seu próprio cliente SSH e o Instance Connect do EC2 para enviar sua chave, você pode definir um valor de tempo limite de SSH para encerrar a sessão SSH automaticamente.

**Requisitos**  
Antes de começar, revise todos os [pré-requisitos](ec2-instance-connect-prerequisites.md).

**Topics**
+ [

## Conectar-se usando o console do Amazon EC2
](#ec2-instance-connect-connecting-console)
+ [

## Conectar-se usando o AWS CLI
](#connect-linux-inst-eic-cli-ssh)
+ [

## Conectar-se usando sua própria chave e cliente SSH
](#ec2-instance-connect-connecting-aws-cli)
+ [

## Solução de problemas
](#ic-troubleshoot)

## Conectar-se usando o console do Amazon EC2
<a name="ec2-instance-connect-connecting-console"></a>

É possível se conectar a uma instância usando o EC2 Instance Connect por meio do console do Amazon EC2.

**Requisitos**  
Para se conectar usando o console do Amazon EC2, a instância deve ter um endereço IPv4 público ou IPv6. Se a instância só tiver um endereço IPv4 privado, será possível usar o [comando da AWS CLI ec2-instance-connect](#connect-linux-inst-eic-cli-ssh) para se conectar.

**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 **Connect (Conectar)**.

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

1. Escolha **Conectar usando um IP público**.

1. Se houver uma opção, selecione o endereço IP ao qual se conectar. Caso contrário, o endereço IP será selecionado automaticamente.

1. Em **Nome de usuário**, verifique o nome de usuário.

1. Escolha **Conectar** para estabelecer uma conexão. Uma janela de terminal no navegador é aberta.

## Conectar-se usando o AWS CLI
<a name="connect-linux-inst-eic-cli-ssh"></a>

É possível usar o comando da AWS CLI [ec2-instance-connect](https://docs.aws.amazon.com/cli/latest/reference/ec2-instance-connect/index.html) para se conectar à instância usando um cliente de SSH. O EC2 Instance Connect tenta estabelecer uma conexão usando um endereço IP disponível em uma ordem predefinida, com base no tipo de conexão especificado. Se um endereço IP não estiver disponível, ele tentará automaticamente o próximo, na ordem.Tipos de conexão

`auto` (padrão)  
O EC2 Instance Connect tentará conectar-se usando os endereços IP da instância na ordem a seguir e com o tipo de conexão correspondente:  

1. IPv4 público: `direct`

1. IPv4 privado: `eice`

1. IPv6: `direct`

`direct`  
O EC2 Instance Connect tentará conectar-se usando os endereços IP da instância na ordem a seguir:  

1. IPv4 público

1. IPv6

1. IPv4 privado (não se conecta por meio de um endpoint do EC2 Instance Connect)

`eice`  
O EC2 Instance Connect tenta se conectar usando o endereço IPv4 privado da instância e um [endpoint do EC2 Instance Connect](connect-with-ec2-instance-connect-endpoint.md).

**nota**  
No futuro, podemos mudar o comportamento do tipo de conexão `auto`. Para garantir que o tipo de conexão desejado seja usado, recomendamos que você defina explicitamente o `--connection-type` como `direct` ou `eice`.

**Requisitos**  
É necessário usar a AWS CLI versão 2. Para obter mais informações, consulte [Install or update to the latest version of the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

**Para se conectar a uma instância usando o ID da instância**  
Se souber apenas o ID da instância e quiser permitir que o EC2 Instance Connect determine o tipo de conexão a ser usado ao se conectar à sua instância, use o comando da CLI [ec2-instance-connect ssh](https://docs.aws.amazon.com/cli/latest/reference/ec2-instance-connect/ssh.html) e o ID da instância.

```
aws ec2-instance-connect ssh --instance-id i-1234567890example
```

**Para se conectar a uma instância usando o ID da instância e um EC2 Instance Connect Endpoint**  
Se você quiser conectar-se à sua instância por meio de um [EC2 Instance Connect Endpoint](connect-with-ec2-instance-connect-endpoint.md), use o comando anterior e também especifique o parâmetro `--connection-type` com o valor `eice`.

```
aws ec2-instance-connect ssh --instance-id i-1234567890example --connection-type eice
```

**Para se conectar a uma instância usando o ID da instância e seu próprio arquivo de chave privada**  
Se você quiser conectar-se à sua instância por meio de um EC2 Instance Connect Endpoint usando sua própria chave privada, especifique o ID da instância e o caminho para o arquivo da chave privada. Não inclua *file://* no caminho. O exemplo a seguir falhará: *file: ///caminho/para/a/chave*.

```
aws ec2-instance-connect ssh --instance-id i-1234567890example --private-key-file /path/to/key.pem
```

**dica**  
Se receber um erro ao usar esses comandos, verifique se está usando a AWS CLI versão 2, pois o comando `ssh` só está disponível nesta versão principal. Também recomendamos atualizar regularmente para a versão secundária mais recente da AWS CLI versão 2 para acessar os recursos mais recentes. 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 usando sua própria chave e cliente SSH
<a name="ec2-instance-connect-connecting-aws-cli"></a>

É possível usar sua própria chave SSH e conectar-se à sua instância a partir do cliente SSH de sua escolha enquanto usa a API do EC2 Instance Connect. Isso permite que você se beneficie da capacidade do EC2 Instance Connect de enviar por push uma chave pública para a instância. Esse método de conexão funciona para instâncias com endereços IP públicos e privados.

**Requisitos**
+ Requisitos para pares de chaves
  + Tipos com suporte: RSA (OpenSSH e SSH2) e ED25519
  + Tamanhos com suporte: 2048 e 4096.
  + Para obter mais informações, consulte [Criar um par de chaves usando uma ferramenta de terceiros e importe a chave pública para o Amazon EC2](create-key-pairs.md#how-to-generate-your-own-key-and-import-it-to-aws).
+ Quando ocorre uma conexão com uma instância que só tem endereços IP privados, o computador local em que você está iniciando a sessão SSH deve ter conectividade com o endpoint do serviço EC2 Instance Connect (para enviar sua chave pública SSH para a instância), além de conectividade de rede para o endereço IP privado da instância para estabelecer a sessão SSH. O endpoint de serviço do EC2 Instance Connect é acessível pela Internet ou por meio de uma interface virtual pública do Direct Connect. Para se conectar ao endereço IP privado da instância, é possível aproveitar serviços, como [Direct Connect](https://aws.amazon.com/directconnect/), [AWS Site-to-Site VPN](https://aws.amazon.com/vpn/) ou [emparelhamento de VPC](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html).

**Para se conectar à sua instância usando a própria chave e qualquer cliente SSH**

1. 

**(Opcional) Gerar chaves novas chaves SSH privadas e públicas**

   É possível gerar novas chaves SSH públicas e privadas, `my_key` e `my_key.pub`, usando o comando a seguir:

   ```
   ssh-keygen -t rsa -f my_key
   ```

1. 

**Envie por push a chave pública do SSH para a instância**

   Use o comando [https://docs.aws.amazon.com/cli/latest/reference/ec2-instance-connect/send-ssh-public-key.html](https://docs.aws.amazon.com/cli/latest/reference/ec2-instance-connect/send-ssh-public-key.html) para enviar por push a chave pública SSH para a instância. Se você executou sua instância usando o AL2023 ou o Amazon Linux 2, o nome de usuário padrão da AMI é `ec2-user`. Se você executou sua instância usando o Ubuntu, o nome de usuário padrão da AMI é `ubuntu`.

   O exemplo a seguir envia a chave pública para a instância especificada na zona de disponibilidade especificada, para autenticar `ec2-user`.

   ```
   aws ec2-instance-connect send-ssh-public-key \
       --region us-west-2 \
       --availability-zone us-west-2b \
       --instance-id i-001234a4bf70dec41EXAMPLE \
       --instance-os-user ec2-user \
       --ssh-public-key file://my_key.pub
   ```

1. 

**Conecte-se à instância usando a chave privada**

   Use o comando **ssh** para se conectar à instância usando a chave privada antes de a chave pública ser removida dos metadados da instância (você tem 60 segundos antes de ser removida). Especifique a chave privada que corresponde à chave pública, o nome de usuário padrão da AMI usado para iniciar sua instância e o nome DNS público da instância (se estiver se conectando por uma rede privada, especifique o nome DNS privado ou o endereço IP). Adicione a opção `IdentitiesOnly=yes` para garantir que apenas os arquivos na configuração ssh e a chave especificada sejam usados para a conexão. 

   ```
   ssh -o "IdentitiesOnly=yes" -i my_key ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com
   ```

   O exemplo a seguir usa `timeout 3600` para definir que sua sessão SSH seja encerrada após 1 hora. Os processos iniciados durante a sessão podem continuar em execução na sua instância após o término da sessão.

   ```
   timeout 3600 ssh -o “IdentitiesOnly=yes” -i my_key ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com
   ```

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

Se você receber um erro ao tentar se conectar à instância, consulte:
+ [Solucionar problemas de conexão com a instância do Linux do Amazon EC2](TroubleshootingInstancesConnecting.md)
+ [Como solucionar problemas de conexão à minha instância do EC2 usando o EC2 Instance Connect?](https://repost.aws/knowledge-center/ec2-instance-connect-troubleshooting)

# Desinstalar o EC2 Instance Connect
<a name="ec2-instance-connect-uninstall"></a>

Para desabilitar o EC2 Instance Connect, conecte-se à instância do Linux e desinstale o pacote `ec2-instance-connect` que está instalado no SO. Se a configuração `sshd` corresponder ao que foi definido quando você instalou o EC2 Instance Connect, desinstalar o pacote `ec2-instance-connect` também removerá a configuração `sshd`. Se a configuração `sshd` tiver sido modificada após a instalação do EC2 Instance Connect, você deverá atualizá-la manualmente.

------
#### [ Amazon Linux ]

É possível desinstalar o EC2 Instance Connect no AL2023 e no Amazon Linux 2 2.0.20190618 ou posterior, em que o EC2 Instance Connect está pré-configurado.

**Desinstalar o EC2 Instance Connect em uma instância iniciada com o Amazon Linux**

1. Conecte-se à sua instância usando SSH. Especifique o par de chaves SSH que você usou para sua instância ao executá-la e o nome de usuário padrão da AMI AL2023 ou Amazon Linux 2, que é `ec2-user`.

   Por exemplo. o comando **ssh** conecta-se à instância com o nome DNS público `ec2-a-b-c-d.us-west-2.compute.amazonaws.com`, usando o par de chaves `my_ec2_private_key.pem`.

   ```
   $ ssh -i my_ec2_private_key.pem ec2-user@ec2-a-b-c-d.us-west-2.compute.amazonaws.com
   ```

1. Desinstale o pacote `ec2-instance-connect` usando o comando **yum**.

   ```
   [ec2-user ~]$ sudo yum remove ec2-instance-connect
   ```

------
#### [ Ubuntu ]

**Desinstalar o EC2 Instance Connect em uma instância iniciada com uma AMI do Ubuntu**

1. Conecte-se à sua instância usando SSH. Especifique o par de chaves SSH usado para sua instância ao iniciá-la e o nome de usuário padrão da AMI Ubuntu, que é `ubuntu`.

   Por exemplo. o comando **ssh** conecta-se à instância com o nome DNS público `ec2-a-b-c-d.us-west-2.compute.amazonaws.com`, usando o par de chaves `my_ec2_private_key.pem`.

   ```
   $ ssh -i my_ec2_private_key.pem ubuntu@ec2-a-b-c-d.us-west-2.compute.amazonaws.com
   ```

1. Desinstale o pacote `ec2-instance-connect` usando o comando **apt-get**.

   ```
   ubuntu:~$ sudo apt-get remove ec2-instance-connect
   ```

------

# Conecte-se às suas instâncias usando um endereço IP privado e o endpoint de conexão da instância do EC2
<a name="connect-with-ec2-instance-connect-endpoint"></a>

O EC2 Instance Connect Endpoint permite a você se conectar com segurança a uma instância da Internet sem usar um bastion host ou exigir que sua nuvem privada virtual (VPC) tenha conectividade direta com a Internet.

**Benefícios**
+ É possível se conectar às instâncias sem exigir que elas tenham um endereço IPv4 público ou um endereço IPv6. A AWS cobra por todos os endereços IPv4 públicos, incluindo os endereços IPv4 públicos associados a instâncias em execução e endereços IP elásticos. Para obter mais informações, consulte a guia **Endereço IPv4 público** na [página de preços da Amazon VPC](https://aws.amazon.com/vpc/pricing/).
+ É possível se conectar às suas instâncias pela Internet sem exigir que sua VPC tenha conectividade direta via [gateway da Internet](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html).
+ É possível controlar o acesso à criação e ao uso dos endpoints do EC2 Instance Connect para se conectar a instâncias usando [políticas e permissões do IAM](permissions-for-ec2-instance-connect-endpoint.md).
+ Todas as tentativas de conexão com suas instâncias, tanto bem quanto malsucedidas, são registradas em log no [CloudTrail](log-ec2-instance-connect-endpoint-using-cloudtrail.md).

**Preços**  
Não há custo adicional para usar endpoints do EC2 Instance Connect. Se você usar um EC2 Instance Connect Endpoint para se conectar a uma instância em uma zona de disponibilidade diferente, haverá uma [cobrança adicional pela transferência de dados](https://aws.amazon.com/ec2/pricing/on-demand/#Data_Transfer_within_the_same_AWS_Region) entre zonas de disponibilidade.

**Topics**
+ [

## Como funcionam
](#how-eice-works)
+ [

## Considerações
](#ec2-instance-connect-endpoint-prerequisites)
+ [Permissões](permissions-for-ec2-instance-connect-endpoint.md)
+ [Grupos de segurança](eice-security-groups.md)
+ [

# Criar um EC2 Instance Connect Endpoint
](create-ec2-instance-connect-endpoints.md)
+ [

# Modificar um endpoint do EC2 Instance Connect
](modify-ec2-instance-connect-endpoint.md)
+ [

# Excluir um EC2 Instance Connect Endpoint
](delete-ec2-instance-connect-endpoint.md)
+ [Conectar a uma instância](connect-using-eice.md)
+ [Registros em log de conexões](log-ec2-instance-connect-endpoint-using-cloudtrail.md)
+ [Perfil vinculado a serviço](eice-slr.md)
+ [Cotas](eice-quotas.md)

## Como funcionam
<a name="how-eice-works"></a>

O EC2 Instance Connect Endpoint é um proxy TCP com reconhecimento de identidade. O serviço EC2 Instance Connect Endpoint estabelece um túnel privado do seu computador até o endpoint usando as credenciais da sua entidade do IAM. O tráfego é autenticado e autorizado antes de chegar à sua VPC.

É possível [configurar regras adicionais de grupo de segurança](eice-security-groups.md) para restringir o tráfego de entrada para suas instâncias. Por exemplo, é possível usar regras de entrada para permitir nas portas de gerenciamento tráfego somente do EC2 Instance Connect Endpoint.

Também é possível configurar regras da tabela de rotas para permitir que o endpoint se conecte a qualquer instância em qualquer sub-rede da VPC.

O diagrama a seguir mostra como um usuário pode se conectar às suas instâncias via Internet usando um EC2 Instance Connect Endpoint. Primeiro, crie um **EC2 Instance Connect Endpoint** na sub-rede A. Criamos então uma interface de rede para o endpoint na sub-rede, o qual atua como ponto de entrada para o tráfego destinado às suas instâncias na VPC. Se a tabela de rotas da sub-rede B permitir o tráfego da sub-rede A, será possível usar o endpoint para alcançar instâncias na sub-rede B.

![\[Visão geral do fluxo do EC2 Instance Connect Endpoint.\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/ec2-instance-connect-endpoint.png)


## Considerações
<a name="ec2-instance-connect-endpoint-prerequisites"></a>

Antes de começar, considere o seguinte:
+ O EC2 Instance Connect Endpoint foi projetado especificamente para casos de uso de tráfego de gerenciamento, e não para transferências de dados de alto volume. A utilização de transferências de dados de alto volume é controlada.
+ Você pode criar um EC2 Instance Connect Endpoint para permitir tráfego para uma instância com um endereço IPv4 privado ou um endereço IPv6. O tipo de endereço IP do endpoint deve corresponder ao endereço IP da instância. Você pode criar um endpoint compatível com todos os tipos de endereço IP.
+ (Instâncias do Linux) Caso use o próprio par de chaves, será possível usar qualquer AMI do Linux. Caso contrário, a instância deverá ter o EC2 Instance Connect instalado. Para obter informações sobre quais AMIs incluem o EC2 Instance Connect e como instalá-lo em outras AMIs compatíveis, consulte [Instalar o EC2 Instance Connect](ec2-instance-connect-set-up.md).
+ É possível atribuir um grupo de segurança a um EC2 Instance Connect Endpoint. Caso contrário, o grupo de segurança padrão será usado para a VPC. O grupo de segurança de um EC2 Instance Connect Endpoint deve permitir tráfego de saída para as instâncias de destino. Para obter mais informações, consulte [Grupos de segurança para o EC2 Instance Connect Endpoint](eice-security-groups.md).
+ É possível configurar um EC2 Instance Connect Endpoint para preservar os endereços IP de origem dos clientes ao rotear solicitações para as instâncias. Caso contrário, o endereço IP da interface de rede se tornará o endereço IP do cliente para todo o tráfego de entrada.
  + Se você ativar a preservação de IP do cliente, os grupos de segurança das instâncias deverão permitir o tráfego dos clientes. Além disso, as instâncias deverão estar na mesma VPC do EC2 Instance Connect Endpoint.
  + Se você desativar a preservação de IP do cliente, os grupos de segurança das instâncias deverão permitir o tráfego da VPC. Esse é o padrão.
  + A preservação de IP do cliente é compatível somente com EC2 Instance Connect Endpoints IPv4. Para usar preservação de IP do cliente, o tipo de endereço IP do EC2 Instance Connect Endpoint deve ser IPv4. A preservação do IP do cliente não é compatível com o tipo de endereço IP de pilha dupla ou IPv6.
  + Os seguintes tipos de instância não oferecem suporte à preservação do IP do cliente: C1, CG1, CG2, G1, HI1, M1, M2, M3 e T1. Se você ativar a preservação de IP do cliente e tentar se conectar a uma instância com um desses tipos de instância usando o EC2 Instance Connect Endpoint, a conexão falhará.
  + Não há suporte à preservação de IP do cliente quando o tráfego for roteado por meio de um gateway de trânsito.
+ Ao criar um EC2 Instance Connect Endpoint, uma função vinculada ao serviço é criada automaticamente para o serviço Amazon EC2 no AWS Identity and Access Management (IAM). O Amazon EC2 usa o perfil vinculado ao serviço para provisionar interfaces de rede em sua conta, que são exigidas ao criar EC2 Instance Connect Endpoints. Para obter mais informações, consulte [Perfil vinculado ao serviço para o EC2 Instance Connect Endpoint](eice-slr.md).
+ É possível criar um EC2 Instance Connect Endpoint por VPC e por sub-rede. Para obter mais informações, consulte [Cotas para EC2 Instance Connect Endpoint](eice-quotas.md). Se você precisar criar outro EC2 Instance Connect Endpoint em uma zona de disponibilidade diferente na mesma VPC, deverá primeiro excluir o EC2 Instance Connect Endpoint atual. Caso contrário, você receberá um erro de cota.
+ Cada EC2 Instance Connect Endpoint pode acomodar até 20 conexões simultâneas.
+ A duração máxima de uma conexão TCP estabelecida é 1 hora (3.600 segundos). É possível especificar a duração máxima permitida em uma política do IAM, que pode ser de até 3.600 segundos. 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). 

  A duração da conexão não é determinada pela duração de suas credenciais do IAM. Se suas credenciais do IAM expirarem, a conexão continuará persistindo até que a duração máxima especificada seja atingida. Ao se conectar a uma instância usando a experiência do console de Endpoint do Instance Connect do EC2, defina a duração máxima do túnel (segundos) como um valor menor que a duração das suas credenciais do IAM.**** Se suas credenciais do IAM expirarem antes do tempo, encerre a conexão com sua instância fechando a página do navegador.

# Conceder permissões para usar o EC2 Instance Connect Endpoint
<a name="permissions-for-ec2-instance-connect-endpoint"></a>

Por padrão, as entidades do IAM não têm permissão para criar, descrever ou modificar os EC2 Instance Connect Endpoints. Um administrador do IAM deve criar políticas do IAM que concedam as permissões necessárias para executar ações específicas nos recursos necessários.

Para obter informações sobre a criação de políticas do IAM, consulte [Criação de políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html), no *Manual do usuário do IAM*.

Os exemplos de políticas a seguir mostram como é possível controlar as permissões que os usuários têm sobre os EC2 Instance Connect Endpoints.

**Topics**
+ [

## Permissões para criar, descrever, modificar e excluir os endpoints do EC2 Instance Connect
](#iam-CreateInstanceConnectEndpoint)
+ [

## Permissões para usar o EC2 Instance Connect Endpoint para se conectar às instâncias
](#iam-OpenTunnel)
+ [

## Permissões para conectar somente de um intervalo de endereços IP específico
](#iam-sourceip)

## Permissões para criar, descrever, modificar e excluir os endpoints do EC2 Instance Connect
<a name="iam-CreateInstanceConnectEndpoint"></a>

Para criar e modificar um endpoint do EC2 Instance Connect, os usuários precisam de permissões para as seguintes ações:
+ `ec2:CreateInstanceConnectEndpoint`
+ `ec2:CreateNetworkInterface`
+ `ec2:CreateTags`
+ `ec2:ModifyInstanceConnectEndpoint`
+ `iam:CreateServiceLinkedRole`

Para descrever e excluir EC2 Instance Connect Endpoints, os usuários precisam de permissões para as seguintes ações:
+ `ec2:DescribeInstanceConnectEndpoints` 
+ `ec2:DeleteInstanceConnectEndpoint`

É possível criar uma política que conceda permissão para criar, descrever, modificar e excluir os endpoints do EC2 Instance Connect em todas as sub-redes. Como alternativa, é possível restringir ações para sub-redes especificadas somente especificando os ARNs da sub-rede como o `Resource` permitido ou usando a chave de condição `ec2:SubnetID`. Você também pode usar a chave de condição `aws:ResourceTag` para permitir ou negar explicitamente a criação de endpoints com determinadas tags. Para ter mais informações, consulte [Políticas e permissões no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html), no *Guia do usuário do IAM*.

**Exemplo de política do IAM**

No exemplo de política do IAM a seguir, a seção `Resource` concede permissão para criar, modificar e excluir endpoints em todas as sub-redes, especificadas pelo asterisco (`*`). As ações da API `ec2:Describe*` não oferecem suporte a permissões no nível do recurso. Portanto, o caractere curinga `*` é necessário no elemento `Resource`.

## Permissões para usar o EC2 Instance Connect Endpoint para se conectar às instâncias
<a name="iam-OpenTunnel"></a>

A ação `ec2-instance-connect:OpenTunnel` concede permissão para estabelecer uma conexão TCP com uma instância para se conectar via EC2 Instance Connect Endpoint. É possível especificar o EC2 Instance Connect Endpoint a ser usado. Como alternativa, um `Resource` com um asterisco (`*`) permite que os usuários usem qualquer EC2 Instance Connect Endpoint disponível. Você também pode restringir o acesso às instâncias com base na presença ou ausência de tags de recurso como chaves de condição.

**Condições**
+ `ec2-instance-connect:remotePort`: a porta na instância que pode ser usada para estabelecer uma conexão TCP. Quando essa chave de condição é usada, tentar conectar-se a uma instância em qualquer outra porta que não seja a especificada na política resultará em falha.
+ `ec2-instance-connect:privateIpAddress`: o endereço IP privado de destino associado à instância com a qual você deseja estabelecer uma conexão TCP. É possível especificar um único endereço IP, como `10.0.0.1/32`, ou um intervalo de IPs por meio de CIDRs, como `10.0.1.0/28`. Quando essa chave de condição é usada, tentar conectar-se a uma instância com um endereço IP privado diferente ou fora do intervalo CIDR resultará em falha. 
+ `ec2-instance-connect:maxTunnelDuration`: a duração máxima de uma conexão TCP estabelecida. A unidade é em segundos, e a duração varia de um mínimo de 1 segundo a um máximo de 3.600 segundos (uma hora). Se a condição não for especificada, a duração padrão será definida como 3.600 segundos (uma hora). A tentativa de conectar-se a uma instância por mais tempo do que a duração especificada na política do IAM ou por mais tempo do que o máximo padrão resultará em falha. A conexão é desconectada após a duração especificada.

  Se `maxTunnelDuration` for especificado na política do IAM e o valor especificado for inferior a 3.600 segundos (o padrão), você deverá especificar `--max-tunnel-duration` no comando ao conectar-se a uma instância. Para obter informações sobre como conectar-se a uma instância, consulte [Conexão com uma instância do Amazon EC2 usando o EC2 Instance Connect Endpoint](connect-using-eice.md).

Também é possível conceder a um usuário acesso para estabelecer conexões com instâncias com base na presença de tags de recursos no EC2 Instance Connect Endpoint. Para ter mais informações, consulte [Políticas e permissões no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html), no *Guia do usuário do IAM*.

Para instâncias do Linux, a ação `ec2-instance-connect:SendSSHPublicKey` concede permissão para enviar a chave pública para uma instância. A condição `ec2:osuser` especifica o nome do usuário do SO (sistema operacional) que pode enviar a chave pública para uma instância. Use o [nome de usuário padrão da AMI](connection-prereqs-general.md#connection-prereqs-get-info-about-instance) que você usou para iniciar a instância. Para obter mais informações, consulte [Conceder permissões do IAM para o EC2 Instance Connect](ec2-instance-connect-configure-IAM-role.md).

**Exemplo de política do IAM**

Os exemplos de políticas do IAM apresentados a seguir permitem que uma entidade principal do IAM se conecte a uma instância usando somente o endpoint de conexão da instância do EC2 especificado, que é identificado pelo ID `eice-123456789abcdef` do endpoint especificado. A conexão será estabelecida com êxito somente se todas as condições forem atendidas.

**nota**  
As ações da API `ec2:Describe*` não oferecem suporte a permissões no nível do recurso. Portanto, o caractere curinga `*` é necessário no elemento `Resource`.

------
#### [ Linux ]

Este exemplo avalia se a conexão com a instância foi estabelecida na porta 22 (SSH), se o endereço IP privado da instância está dentro do intervalo de `10.0.1.0/31` (que compreende `10.0.1.0` e `10.0.1.1`) e `maxTunnelDuration` é menor ou igual a `3600` segundos. A conexão será desconectada após `3600` segundos (1 hora).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Sid": "EC2InstanceConnect",
            "Action": "ec2-instance-connect:OpenTunnel",
            "Effect": "Allow",
            "Resource": "arn:aws:ec2:us-east-1:111122223333:instance-connect-endpoint/eice-123456789abcdef",
            "Condition": {
                "NumericEquals": {
                    "ec2-instance-connect:remotePort": "22"
                },
                "IpAddress": {
                    "ec2-instance-connect:privateIpAddress": "10.0.1.0/31"
                },
                "NumericLessThanEquals": {
                    "ec2-instance-connect:maxTunnelDuration": "3600"
                }
            }
        },
        {
            "Sid": "SSHPublicKey",
            "Effect": "Allow",
            "Action": "ec2-instance-connect:SendSSHPublicKey",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ec2:osuser": "ami-username"
                }
            }
        },
        {
            "Sid": "Describe",
            "Action": [
                "ec2:DescribeInstances",
                "ec2:DescribeInstanceConnectEndpoints"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

------

------
#### [ Windows ]

Este exemplo avalia se a conexão com a instância foi estabelecida na porta 3389 (RDP), se o endereço IP privado da instância está dentro do intervalo de `10.0.1.0/31` (que compreende `10.0.1.0` e `10.0.1.1`) e `maxTunnelDuration` é menor ou igual a `3600` segundos. A conexão será desconectada após `3600` segundos (1 hora).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Sid": "EC2InstanceConnect",
            "Action": "ec2-instance-connect:OpenTunnel",
            "Effect": "Allow",
            "Resource": "arn:aws:ec2:us-east-1:111122223333:instance-connect-endpoint/eice-123456789abcdef",
            "Condition": {
                "NumericEquals": {
                    "ec2-instance-connect:remotePort": "3389"
                },
                "IpAddress": {
                    "ec2-instance-connect:privateIpAddress": "10.0.1.0/31"
                },
                "NumericLessThanEquals": {
                    "ec2-instance-connect:maxTunnelDuration": "3600"
                }
            }
        },
        {
            "Sid": "Describe",
            "Action": [
                "ec2:DescribeInstances",
                "ec2:DescribeInstanceConnectEndpoints"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

------

------

## Permissões para conectar somente de um intervalo de endereços IP específico
<a name="iam-sourceip"></a>

O exemplo de política do IAM a seguir permite que uma entidade principal do IAM conecte-se a uma instância, desde que esteja se conectando a partir de um endereço IP dentro do intervalo de endereços IP especificado na política. Se a entidade principal do IAM chamar `OpenTunnel` desde um endereço IP que não esteja dentro de `192.0.2.0/24` (o exemplo de intervalo de endereços IP nesta política), a resposta será `Access Denied`. Para obter mais informações, consulte [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceip](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceip) no *Guia do usuário do IAM*.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": "ec2-instance-connect:OpenTunnel",
            "Resource": "arn:aws:ec2:us-east-1:111122223333:instance-connect-endpoint/eice-123456789abcdef",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": "192.0.2.0/24"
                },
                "NumericEquals": {
                    "ec2-instance-connect:remotePort": "22"
                }
            }
        },
        {
            "Sid": "SSHPublicKey",
            "Effect": "Allow",
            "Action": "ec2-instance-connect:SendSSHPublicKey",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ec2:osuser": "ami-username"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances",
                "ec2:DescribeInstanceConnectEndpoints"
            ],
            "Resource": "*"
        }
    ]
}
```

------

# Grupos de segurança para o EC2 Instance Connect Endpoint
<a name="eice-security-groups"></a>

Um grupo de segurança controla o tráfego que tem permissão para acessar e sair dos recursos aos quais está associado. Por exemplo, negamos tráfego de e para uma instância do Amazon EC2, a menos que seja especificamente permitido pelos grupos de segurança associados à instância.

Os exemplos a seguir mostram como configurar as regras do grupo de segurança para o EC2 Instance Connect Endpoint e as instâncias de destino.

**Topics**
+ [

## Regras de grupo de segurança para o EC2 Instance Connect Endpoint
](#eice-security-group-rules)
+ [

## Regras do grupo de segurança da instância de destino
](#resource-security-group-rules)

## Regras de grupo de segurança para o EC2 Instance Connect Endpoint
<a name="eice-security-group-rules"></a>

As regras de grupo de segurança para um EC2 Instance Connect Endpoint devem permitir que o tráfego de saída para as instâncias de destino deixem o endpoint. É possível especificar o grupo de segurança da instância ou o intervalo de endereços IPv4 ou iPv6 da VPC como o destino.

O tráfego para o endpoint é proveniente do EC2 Instance Connect Endpoint Service e é permitido independentemente das regras de entrada do grupo de segurança do endpoint. Para controlar quem pode usar o endpoint do EC2 Instance Connect para se conectar a uma instância, use uma política do IAM. 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).

**Exemplo de regra de saída: referência a grupos de segurança**  
O exemplo a seguir usa referência a grupos de segurança, o que significa que o destino é um grupo de segurança associado às instâncias de destino. Essa regra permite tráfego de saída do endpoint para todas as instâncias que usam esse grupo de segurança.


| Protocolo | Destino | Intervalo de portas | Comment | 
| --- | --- | --- | --- | 
| TCP | ID do grupo de segurança da instância | 22 | Permite tráfego SSH de saída para todas as instâncias associadas ao grupo de segurança da instância | 

**Exemplo de regra de saída: intervalo de endereços IPv4**  
O exemplo a seguir permite tráfego de saída para o intervalo de endereços IPv4 especificado. Os endereços IPv4 de uma instância são atribuídos a partir de sua sub-rede para que você possa usar o intervalo de endereços IPv4 da VPC.


| Protocolo | Destino | Intervalo de portas | Comment | 
| --- | --- | --- | --- | 
| TCP | CIDR IPv4 da VPC | 22 | Permite tráfego SSH de saída para a VPC | 

**Exemplo de regra de saída: intervalo de endereços IPv6**  
O exemplo a seguir permite tráfego de saída para o intervalo de endereços IPv6 especificado. Os endereços IPv6 de uma instância são atribuídos a partir de sua sub-rede para que você possa usar o intervalo de endereços IPv6 da VPC.


| Protocolo | Destino | Intervalo de portas | Comment | 
| --- | --- | --- | --- | 
| TCP | CIDR IPv6 da VPC | 22 | Permite tráfego SSH de saída para a VPC | 

## Regras do grupo de segurança da instância de destino
<a name="resource-security-group-rules"></a>

As regras do grupo de segurança para instâncias de destino devem permitir o tráfego de entrada do EC2 Instance Connect Endpoint. É possível especificar o grupo de segurança do endpoint ou um intervalo de endereços IPv4 ou IPv6 como origem. Se você especificar um intervalo de endereços IPv4, a origem dependerá se a preservação do IP do cliente está desativada ou ativada. Para obter mais informações, consulte [Considerações](connect-with-ec2-instance-connect-endpoint.md#ec2-instance-connect-endpoint-prerequisites).

Como os grupos de segurança são stateful, o tráfego de resposta tem permissão para sair da VPC, independentemente das regras de saída do grupo de segurança da instância.

**Exemplo de regra de entrada: referência a grupos de segurança**  
O exemplo a seguir usa referência a grupos de segurança, o que significa que a origem é o grupo de segurança associado ao endpoint. Essa regra permite tráfego SSH de entrada do endpoint para todas as instâncias que usam esse grupo de segurança, independentemente de a preservação do IP do cliente estar ativada ou desativada. Se não houver outras regras do grupo de segurança de entrada para SSH, as instâncias aceitarão tráfego SSH somente do endpoint.


| Protocolo | Origem | Intervalo de portas | Comment | 
| --- | --- | --- | --- | 
| TCP | ID do grupo de segurança do endpoint | 22 | Permite tráfego SSH de entrada dos recursos associados ao grupo de segurança do endpoint | 

**Exemplo de regra de entrada: preservação do IP do cliente desativada**  
O exemplo a seguir permite tráfego SSH de entrada do intervalo de endereços IPv4 especificado. Como a preservação do IP do cliente está desativada, o endereço IPv4 de origem é o endereço da interface de rede do endpoint. O endereço da interface de rede do endpoint é atribuído a partir de sua sub-rede, então você pode usar o intervalo de endereços IPv4 da VPC para permitir conexões com todas as instâncias na VPC.


| Protocolo | Origem | Intervalo de portas | Comment | 
| --- | --- | --- | --- | 
| TCP | CIDR IPv4 da VPC | 22 | Permitir tráfego de entrada SSH da VPC | 

**Exemplo de regra de entrada: preservação do IP do cliente ativada**  
O exemplo a seguir permite tráfego SSH de entrada do intervalo de endereços IPv4 especificado. Como a preservação do IP do cliente está ativada, o endereço IPv4 de origem é o endereço do cliente.


| Protocolo | Origem | Intervalo de portas | Comment | 
| --- | --- | --- | --- | 
| TCP | Intervalo de endereços IPv4 públicos | 22 | Permite tráfego de entrada do intervalo de endereços IPv4 do cliente especificado. | 

# Criar um EC2 Instance Connect Endpoint
<a name="create-ec2-instance-connect-endpoints"></a>

É possível criar um EC2 Instance Connect Endpoint para permitir uma conexão segura com suas instâncias.

**Considerações**
+ **Sub-redes compartilhadas**: é possível criar um EC2 Instance Connect Endpoint em uma sub-rede compartilhada com você. Mas, você não pode usar os EC2 Instance Connect Endpoints que o proprietário da VCP criou em uma sub-rede compartilhada com você.
+ **Tipos de endereço IP**: os EC2 Instance Connect Endpoints são compatíveis com os seguintes tipos de endereço, que devem ser compatíveis com a sub-rede:
  + `ipv4`: conectar somente com instâncias do EC2 que têm endereços IPv4 privados.
  + `dualstack` : conectar com instâncias do EC2 que têm endereços IPv4 privados ou endereços IPv6.
  + `ipv6`: conectar somente com instâncias do EC2 que têm endereços IPv6.

**Pré-requisitos**  
É necessário ter as permissões do IAM exigidas para criar um EC2 Instance Connect Endpoint. Para obter mais informações, consulte [Permissões para criar, descrever, modificar e excluir os endpoints do EC2 Instance Connect](permissions-for-ec2-instance-connect-endpoint.md#iam-CreateInstanceConnectEndpoint).

------
#### [ Console ]

**Para criar um EC2 Instance Connect Endpoint**

1. Abra o console da Amazon VPC, em [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. No painel de navegação à esquerda, escolha **Endpoints**.

1. Escolha **Criar endpoint** e, em seguida, especifique as configurações do endpoint:

   1. (Opcional) Em **Tag de nome**, insira um nome para o endpoint.

   1. Em **Tipo**, escolha **Endpoint do EC2 Instance Connect**.

   1. Em **Configurações de rede**, em **VPC**, selecione a VPC que contém as instâncias de destino.

   1. (Opcional) Para preservar os endereços IP dos clientes, expanda **Configurações adicionais** e marque a caixa de seleção **Preservar IP dos clientes**. Caso contrário, o padrão é usar a interface de rede do endpoint como endereço IP do cliente.
**nota**  
Essa opção está disponível somente quando o tipo de endereço IP do endpoint está configurado como IPv4.

   1. (Opcional) Em **Grupos de segurança**, selecione o grupo de segurança a ser associado ao endpoint. Caso contrário, o grupo de segurança padrão da VPC será usado. Para obter mais informações, consulte [Grupos de segurança para o EC2 Instance Connect Endpoint](eice-security-groups.md).

   1. Em **Sub-rede**, selecione a sub-rede na qual o endpoint será criado.

   1. Em **Tipo de endereço IP**, escolha o tipo de endereço IP do endpoint. Escolha **Pilha dupla** se precisar de compatibilidade com conexões IPv4 e IPv6 para suas instâncias. Escolha **IPv4** se precisar de compatibilidade com preservação de IP do cliente.

   1. (Opcional) Para adicionar uma tag, escolha **Adicionar nova tag** e insira a chave e o valor da tag.

1. Revise suas configurações e escolha **Criar endpoint**.

   O estado inicial do endpoint é **Pendente**. Antes de conectar-se a uma instância usando esse endpoint, aguarde até que o status do endpoint seja **Disponível**. Isso pode levar alguns minutos.

1. Para se conectar a uma instância usando seu endpoint, consulte [Conectar a uma instância](connect-using-eice.md).

------
#### [ AWS CLI ]

**Para criar um EC2 Instance Connect Endpoint**  
Use o comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/create-instance-connect-endpoint.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-instance-connect-endpoint.html).

```
aws ec2 create-instance-connect-endpoint \
    --subnet-id subnet-0123456789example
```

Para especificar o tipo de tráfego com que o endpoint é compatível, inclua o parâmetro `--ip-address-type`. Os valores válidos são `ipv4`, `dualstack` ou `ipv6`. A sub-rede deverá ser compatível com o tipo de endereço IP que você especificar. Quando o parâmetro `--ip-address-type` é omitido, o valor padrão é determinado pelo tipo de endereço IP com que a sub-rede é compatível.

```
aws ec2 create-instance-connect-endpoint \
    --subnet-id subnet-0123456789example \
    --ip-address-type ipv4
```

O seguinte é um exemplo de saída.

```
{
        "OwnerId": "111111111111",
        "InstanceConnectEndpointId": "eice-0123456789example",
        "InstanceConnectEndpointArn": "arn:aws:ec2:us-east-1:111111111111:instance-connect-endpoint/eice-0123456789example",
        "State": "create-complete",
        "StateMessage": "",
        "DnsName": "eice-0123456789example.0123abcd.ec2-instance-connect-endpoint.us-east-1.amazonaws.com",
        "FipsDnsName": "eice-0123456789example.0123abcd.fips.ec2-instance-connect-endpoint.us-east-1.amazonaws.com",
        "NetworkInterfaceIds": [
            "eni-0123abcd"
        ],
        "VpcId": "vpc-0123abcd",
        "AvailabilityZone": "us-east-1a",
        "AvailabilityZoneId": "use1-az4",
        "CreatedAt": "2023-04-07T15:43:53.000Z",
        "SubnetId": "subnet-0123abcd",
        "PreserveClientIp": false,
        "SecurityGroupIds": [
            "sg-0123abcd"
        ],
        "Tags": [],
        "IpAddressType": "ipv4"
}
```

**Para monitorar o status da criação**  
O valor inicial do campo `State` é `create-in-progress`. Antes de se conectar a uma instância usando esse endpoint, aguarde até que o status seja `create-complete`. Use o comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-connect-endpoints.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-connect-endpoints.html) para monitorar o status do EC2 Instance Connect Endpoint. O parâmetro `--query` filtra os resultados para o campo `State`.

```
aws ec2 describe-instance-connect-endpoints --instance-connect-endpoint-ids eice-0123456789example --query InstanceConnectEndpoints[*].State --output text
```

O seguinte é um exemplo de saída.

```
create-complete
```

------
#### [ PowerShell ]

**Para criar um endpoint do EC2 Instance Connect**  
Use o cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2InstanceConnectEndpoint.html](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2InstanceConnectEndpoint.html).

```
New-EC2InstanceConnectEndpoint -SubnetId subnet-0123456789example
```

Para especificar o tipo de tráfego com que o endpoint é compatível, inclua o parâmetro `-IpAddressType`. Os valores válidos são `ipv4`, `dualstack` ou `ipv6`. A sub-rede deverá ser compatível com o tipo de endereço IP que você especificar. Quando o parâmetro `-IpAddressType` é omitido, o valor padrão é determinado pelo tipo de endereço IP com que a sub-rede é compatível.

```
New-EC2InstanceConnectEndpoint -SubnetId subnet-0123456789example -IpAddressType ipv4
```

O seguinte é um exemplo de saída.

```
OwnerId                     : 111111111111
InstanceConnectEndpointId   : eice-0123456789example
InstanceConnectEndpointArn  : arn:aws:ec2:us-east-1:111111111111:instance-connect-endpoint/eice-0123456789example
State                       : create-complete
StateMessage                : 
DnsName                     : eice-0123456789example.0123abcd.ec2-instance-connect-endpoint.us-east-1.amazonaws.com
FipsDnsName                 : eice-0123456789example.0123abcd.fips.ec2-instance-connect-endpoint.us-east-1.amazonaws.com
NetworkInterfaceIds         : {eni-0123abcd}
VpcId                       : vpc-0123abcd
AvailabilityZone            : us-east-1a
AvailabilityZoneId          : use1-az4
CreatedAt                   : 4/7/2023 3:43:53 PM
SubnetId                    : subnet-0123abcd
PreserveClientIp            : False
SecurityGroupIds            : {sg-0123abcd}
Tags                        : {}
IpAddressType               : ipv4
```

**Para monitorar o status da criação**  
O valor inicial do campo `State` é `create-in-progress`. Antes de se conectar a uma instância usando esse endpoint, aguarde até que o status seja `create-complete`. Use o cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceConnectEndpoint.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceConnectEndpoint.html) para monitorar o status do endpoint do EC2 Instance Connect. `.State.Value` filtra os resultados para o campo `State`.

```
(Get-EC2InstanceConnectEndpoint -InstanceConnectEndpointId "eice-0123456789example").State.Value
```

O seguinte é um exemplo de saída.

```
create-complete
```

------

# Modificar um endpoint do EC2 Instance Connect
<a name="modify-ec2-instance-connect-endpoint"></a>

Você pode modificar os endpoints existentes do EC2 Instance Connect usando o AWS CLI ou um SDK. O console do Amazon EC2 não é compatível com a modificação de endpoint.

Antes de começar, você precisa ter as permissões de IAM necessárias. Para obter mais informações, consulte [Permissões para criar, descrever, modificar e excluir os endpoints do EC2 Instance Connect](permissions-for-ec2-instance-connect-endpoint.md#iam-CreateInstanceConnectEndpoint).

## Parâmetros que você pode modificar
<a name="eice-modify-parameters"></a>

É possível modificar os seguintes parâmetros do endpoint do EC2 Instance Connect:

**Grupos de segurança**  
É possível especificar novos grupos de segurança para o endpoint do EC2 Instance Connect. Os novos grupos de segurança substituem os grupos de segurança atuais.  
Ao modificar os grupos de segurança, é necessário especificar:  
+ Pelo menos um grupo de segurança, mesmo que seja apenas o grupo de segurança padrão na VPC.
+ Os IDs dos grupos de segurança, não os nomes.

**Tipo de endereço IP**  
É possível especificar um novo tipo de endereço IP para endpoint do EC2 Instance Connect.  
Valores válidos: `ipv4` \$1 `dualstack` \$1 `ipv6`

**Preservar a configuração do IP do cliente**  
Você pode especificar se deseja preservar o endereço IP do cliente como origem.  
A preservação do IP do cliente só é suportada em endpoints IPv4 do EC2 Instance Connect. Ao habilitar `PreserveClientIp`, o tipo de endereço IP existente do endpoint deve ser ou `ipv4`, se estiver modificando o tipo de endereço IP na mesma solicitação, o novo valor deve ser `ipv4`.

------
#### [ AWS CLI ]

**Para modificar um endpoint do EC2 Instance Connect**  
Use o comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-connect-endpoint.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-connect-endpoint.html) e especifique o endpoint do EC2 Instance Connect e o parâmetro a ser modificado. O exemplo a seguir modifica todos os parâmetros em uma única solicitação.

```
aws ec2 modify-instance-connect-endpoint \
    --instance-connect-endpoint-id eice-0123456789example \
    --security-group-ids sg-0123456789example \
    --ip-address-type dualstack \
    --no-preserve-client-ip
```

O seguinte é um exemplo de saída.

```
{
    "Return": true
}
```

**Para monitorar o status da atualização**  
Durante a modificação, o status do endpoint do EC2 Instance Connect é alterado para `update-in-progress`. O processo de atualização é executado de forma assíncrona e é concluído com um status `update-complete` ou `update-failed`. O endpoint usa sua configuração antiga até que o status mude para `update-complete`.

Use o comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-connect-endpoints.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-connect-endpoints.html) para monitorar o status da atualização. O parâmetro `--query` filtra os resultados para o campo `State`.

```
aws ec2 describe-instance-connect-endpoints \
    --instance-connect-endpoint-ids eice-0123456789example \
    --query InstanceConnectEndpoints[*].State --output text
```

O seguinte é um exemplo de saída.

```
update-complete
```

------
#### [ PowerShell ]

**Para modificar um endpoint do EC2 Instance Connect**  
Use o cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceConnectEndpoint.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceConnectEndpoint.html) e especifique o endpoint do EC2 Instance Connect e o parâmetro a ser modificado. O exemplo a seguir modifica todos os parâmetros em uma única solicitação.

```
Edit-EC2InstanceConnectEndpoint `
    -InstanceConnectEndpointId eice-0123456789example `
    -SecurityGroupIds sg-0123456789example `
    -IpAddressType dualstack `
    -PreserveClientIp $false
```

O seguinte é um exemplo de saída.

```
True
```

**Para monitorar o status da atualização**  
Durante a modificação, o status do endpoint do EC2 Instance Connect é alterado para `update-in-progress`. O processo de atualização é executado de forma assíncrona e é concluído com um status `update-complete` ou `update-failed`. O endpoint usa sua configuração antiga até que o status mude para `update-complete`.

Use o comando [https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceConnectEndpoint.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceConnectEndpoint.html) para monitorar o status da atualização. O `.State.Value` filtra os resultados para o campo `State`.

```
(Get-EC2InstanceConnectEndpoint -InstanceConnectEndpointId "eice-0123456789example").State.Value
```

O seguinte é um exemplo de saída.

```
update-complete
```

------

# Excluir um EC2 Instance Connect Endpoint
<a name="delete-ec2-instance-connect-endpoint"></a>

Quando não precisar mais de um EC2 Instance Connect Endpoint, será possível excluí-lo.

É necessário ter as permissões do IAM exigidas para criar um EC2 Instance Connect Endpoint. Para obter mais informações, consulte [Permissões para criar, descrever, modificar e excluir os endpoints do EC2 Instance Connect](permissions-for-ec2-instance-connect-endpoint.md#iam-CreateInstanceConnectEndpoint).

Quando um EC2 Instance Connect Endpoint é excluído via console, ele entra no estado **Excluindo**. Se a exclusão for bem-sucedida, o endpoint excluído não aparecerá mais. Se houver falha na exclusão, o estado será **delete-failed** e o campo **Mensagem de status** fornecerá o motivo da falha.

Quando um EC2 Instance Connect Endpoint é excluído via AWS CLI, ele entra no estado `delete-in-progress`. Se a exclusão for bem-sucedida, ela entrará no estado `delete-complete`. Se exclusão falhar, o estado será `delete-failed` e `StateMessage` fornecerá o motivo da falha.

------
#### [ Console ]

**Para excluir um EC2 Instance Connect Endpoint**

1. Abra o console da Amazon VPC, em [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. No painel de navegação à esquerda, escolha **Endpoints**.

1. Selecione o endpoint.

1. Escolha **Actions** (Ações), **Delete VPC endpoints** (Excluir endpoints da VPC).

1. Quando a confirmação for solicitada, insira **delete**.

1. Escolha **Excluir**.

------
#### [ AWS CLI ]

**Para excluir um EC2 Instance Connect Endpoint**  
Use o comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-instance-connect-endpoint.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-instance-connect-endpoint.html) e especifique o ID do endpoint do EC2 Instance Connect a ser excluído.

```
aws ec2 delete-instance-connect-endpoint --instance-connect-endpoint-id eice-03f5e49b83924bbc7
```

O seguinte é um exemplo de saída.

```
{
    "InstanceConnectEndpoint": {
        "OwnerId": "111111111111",
        "InstanceConnectEndpointId": "eice-0123456789example",
        "InstanceConnectEndpointArn": "arn:aws:ec2:us-east-1:111111111111:instance-connect-endpoint/eice-0123456789example",
        "State": "delete-in-progress",
        "StateMessage": "",
        "NetworkInterfaceIds": [],
        "VpcId": "vpc-0123abcd",
        "AvailabilityZone": "us-east-1d",
        "AvailabilityZoneId": "use1-az2",
        "CreatedAt": "2023-02-07T12:05:37+00:00",
        "SubnetId": "subnet-0123abcd"
    }
}
```

------
#### [ PowerShell ]

**Para excluir um EC2 Instance Connect Endpoint**  
Use o cmdlet [https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-instance-connect-endpoint.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-instance-connect-endpoint.html) e especifique o ID do endpoint do EC2 Instance Connect a ser excluído.

```
Remove-EC2InstanceConnectEndpoint -InstanceConnectEndpointId eice-03f5e49b83924bbc7
```

O seguinte é um exemplo de saída.

```
@{
    InstanceConnectEndpoint = @{
        OwnerId = "111111111111"
        InstanceConnectEndpointId = "eice-0123456789example"
        InstanceConnectEndpointArn = "arn:aws:ec2:us-east-1:111111111111:instance-connect-endpoint/eice-0123456789example"
        State = "delete-in-progress"
        StateMessage = ""
        NetworkInterfaceIds = @()
        VpcId = "vpc-0123abcd"
        AvailabilityZone = "us-east-1d"
        AvailabilityZoneId = "use1-az2"
        CreatedAt = "2023-02-07T12:05:37+00:00"
        SubnetId = "subnet-0123abcd"
    }
}
```

------

# 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*.

# Registro em log de conexões estabelecidas através do EC2 Instance Connect Endpoint
<a name="log-ec2-instance-connect-endpoint-using-cloudtrail"></a>

É possível registrar em log operações de recursos e auditar conexões estabelecidas através do EC2 Instance Connect Endpoint com logs do AWS CloudTrail.

Para obter mais informações sobre o uso do AWS CloudTrail com o Amazon EC2, consulte [Registro em log das chamadas de API do Amazon EC2 usando o AWS CloudTrail](monitor-with-cloudtrail.md).

## Registro em log de chamadas da API do EC2 Instance Connect Endpoint com o AWS CloudTrail
<a name="ec2-instance-connect-endpoint-api-calls-cloudtrail"></a>

As operações de recursos do EC2 Instance Connect Endpoint são registradas em log no CloudTrail como eventos de gerenciamento. Quando as seguintes chamadas de API são executadas, a atividade é registrada como um evento do CloudTrail no **Histórico de eventos**:
+ `CreateInstanceConnectEndpoint`
+ `DescribeInstanceConnectEndpoints`
+ `DeleteInstanceConnectEndpoint`

Você pode exibir, pesquisar e baixar eventos recentes em sua Conta da AWS. Para obter mais informações, consulte [Visualizar eventos com o histórico de eventos CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html) no *Guia do usuário do AWS CloudTrail*.

## Use o AWS CloudTrail para auditar usuários que se conectam a uma instância usando o EC2 Instance Connect Endpoint
<a name="ec2-instance-connect-endpoint-audit-users-cloudtrail"></a>

As tentativas de conexão a instâncias por meio do EC2 Instance Connect Endpoint são registradas em log no CloudTrail no **Histórico de eventos**. Quando uma conexão a uma instância é iniciada por meio de um EC2 Instance Connect Endpoint, a conexão é registrada em log como um evento de gerenciamento do CloudTrail com `eventName` de `OpenTunnel`.

É possível criar regras do Amazon EventBridge que direcionem o evento do CloudTrail para um destino. Para saber mais, consulte o [Guia do Usuário do Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html).

Veja a seguir o exemplo de um evento de gerenciamento `OpenTunnel` que foi registrado em log no CloudTrail.

```
{
     "eventVersion": "1.08",
     "userIdentity": {
         "type": "IAMUser",
         "principalId": "ABCDEFGONGNOMOOCB6XYTQEXAMPLE",
         "arn": "arn:aws:iam::1234567890120:user/IAM-friendly-name",
         "accountId": "123456789012",
         "accessKeyId": "ABCDEFGUKZHNAW4OSN2AEXAMPLE",
         "userName": "IAM-friendly-name"
     },
     "eventTime": "2023-04-11T23:50:40Z",
     "eventSource": "ec2-instance-connect.amazonaws.com",
     "eventName": "OpenTunnel",
     "awsRegion": "us-east-1",
     "sourceIPAddress": "1.2.3.4",
     "userAgent": "aws-cli/1.15.61 Python/2.7.10 Darwin/16.7.0 botocore/1.10.60",
     "requestParameters": {
         "instanceConnectEndpointId": "eici-0123456789EXAMPLE",
         "maxTunnelDuration": "3600",
         "remotePort": "22",
         "privateIpAddress": "10.0.1.1"
     },
     "responseElements": null,
     "requestID": "98deb2c6-3b3a-437c-a680-03c4207b6650",
     "eventID": "bbba272c-8777-43ad-91f6-c4ab1c7f96fd",
     "readOnly": false,
     "resources": [{
         "accountId": "123456789012",
         "type": "AWS::EC2::InstanceConnectEndpoint",
         "ARN": "arn:aws:ec2:us-east-1:123456789012:instance-connect-endpoint/eici-0123456789EXAMPLE"
     }],
     "eventType": "AwsApiCall",
     "managementEvent": true,
     "recipientAccountId": "123456789012",
     "eventCategory": "Management"
}
```

# Perfil vinculado ao serviço para o EC2 Instance Connect Endpoint
<a name="eice-slr"></a>

O Amazon EC2 usa [perfis vinculados ao serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-service-linked-role) do AWS Identity and Access Management (IAM). Um perfil vinculado ao serviço é um tipo especial de perfil do IAM vinculado diretamente ao Amazon EC2. Os perfis vinculados a serviços são predefinidas pelo Amazon EC2 e incluem todas as permissões que o Amazon EC2 requer para chamar outros Serviços da AWS em seu nome. Para obter mais informações, consulte [Perfis vinculados ao serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html) no *Guia do usuário do IAM*.

## Permissões de perfil vinculado ao serviço para o EC2 Instance Connect Endpoint
<a name="slr-permissions"></a>

O Amazon EC2 usa o **AWSServiceRoleForEC2InstanceConnect** para gerenciar as interfaces de rede em sua conta que são exigidas pelo EC2 Instance Connect Endpoint.

O perfil vinculado ao serviço **AWSServiceRoleForEC2InstanceConnect** confia nos seguintes serviços para assumir o perfil: 
+ `ec2-instance-connect.amazonaws.com`

O perfil vinculado ao serviço **AWSServiceRoleForEC2InstanceConnect** utiliza a seguinte política gerenciada:
+ **Ec2InstanceConnectEndpoint**

Para visualizar as permissões para esta política gerenciada, consulte [Ec2InstanceConnectEndpoint](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/Ec2InstanceConnectEndpoint.html) na *Referência de políticas gerenciadas da AWS*.

## Criar um perfil vinculado ao serviço para um EC2 Instance Connect Endpoint
<a name="create-slr"></a>

Você não precisa criar manualmente esse perfil vinculado ao serviço. Quando você cria um EC2 Instance Connect Endpoint, o Amazon EC2 cria o perfil vinculado ao serviço por você.

## Editar um perfil vinculado ao serviço para o EC2 Instance Connect Endpoint
<a name="edit-slr"></a>

O EC2 Instance Connect Endpoint não permite editar o perfil vinculado ao serviço **AWSServiceRoleForEC2InstanceConnect**.

## Excluir um perfil vinculado ao serviço para um EC2 Instance Connect Endpoint
<a name="delete-slr"></a>

Se você não precisar mais usar o EC2 Instance Connect Endpoint, é recomendável excluir o perfil vinculado ao serviço **AWSServiceRoleForEC2InstanceConnect**.

Antes de excluir o perfil vinculado ao serviço, é necessário excluir todos os recursos do EC2 Instance Connect Endpoint.

Para excluir o perfil vinculado ao serviço, consulte [Exclusão de um perfil vinculado ao serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html#id_roles_manage_delete-slr) no *Guia do usuário do IAM*.

Você deve configurar permissões para que uma entidade do IAM (um usuário, grupo ou função) crie, edite ou exclua um perfil vinculado a serviço. Para obter mais informações, consulte [Permissões do perfil vinculado a serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html#service-linked-role-permissions) no *Guia do usuário do IAM*.

# Cotas para EC2 Instance Connect Endpoint
<a name="eice-quotas"></a>

Sua Conta da AWS tem cotas padrão para cada serviço da AWS, que anteriormente eram chamadas de limites. A menos que especificado de outra forma, cada cota é específica da região.

Sua Conta da AWS tem as seguintes cotas relacionadas ao EC2 Instance Connect Endpoint.


| Nome | Padrão | Ajustável | 
| --- | --- | --- | 
| Número máximo de endpoints do EC2 Instance Connect por Conta da AWS Região da AWS | 5 | Não | 
| Número máximo de endpoints do EC2 Instance Connect por VPC | 1 | Não | 
| Número máximo de endpoints do EC2 Instance Connect por sub-rede | 1 | Não | 
| Número máximo de conexões simultâneas por endpoint do Instance Connect do EC2 | 20 | Não | 