Entenda de forma prática e simplificada como é possível se conectar via SSH ou RDP a instâncias privadas usando o Instance Connect Endpoint

25/08/2023

Por Eduardo Martins

Amazon Web Services (AWS) continua a inovar e aprimorar suas ofertas de serviços, proporcionando ferramentas mais eficientes e seguras para gerenciar e operar suas infraestruturas. Uma dessas inovações é a capacidade de se conectar via SSH ou RDP a instâncias privadas usando o Instance Connect Endpoint.

Este método de conexão é semelhante ao Instance Connect, mas com a adição de um Endpoint.

O Instance Connect Endpoint permite que você se conecte a instâncias privadas da AWS via SSH/RDP sem a necessidade de expor a instância à internet pública ou utilizar um bastion host por exemplo.

Isso é feito criando um endpoint na sua Virtual Private Cloud (VPC) que permite o acesso SSH seguro às suas instâncias.

Como os pilares do Well-Architected Framework da AWS e o Instance Connect Endpoint estão interligados.

O Instance Connect Endpoint se encaixa perfeitamente nos pilares do Well-Architected Framework da AWS, que são: excelência operacional, segurança, confiabilidade, eficiência de performance e otimização de custos.

Excelência Operacional: O Instance Connect Endpoint simplifica o gerenciamento de conexões SSH, permitindo que as equipes de operações executem tarefas de rotina e respondam a eventos de maneira eficiente.

Segurança: Ao usar o Instance Connect Endpoint, você não precisa expor suas instâncias à internet, o que reduz a superfície de ataque e aumenta a segurança geral do seu ambiente AWS.

Confiabilidade: O Instance Connect Endpoint é um serviço gerenciado pela AWS, o que significa que você pode confiar em sua disponibilidade e desempenho.

Eficiência de Performance: O Instance Connect Endpoint permite que você se conecte rapidamente às suas instâncias, melhorando a eficiência operacional e permitindo que você responda rapidamente a qualquer problema que possa afetar o desempenho do seu aplicativo.

Otimização de Custos: Como o Instance Connect Endpoint é um serviço gerenciado, você não precisa investir em hardware adicional ou em software de gerenciamento de conexão.

Isso pode ajudar a reduzir os custos operacionais e a otimizar o uso dos recursos da AWS.

O custo do EC2 Instance Connect Endpoint é de 0,01/ USD por hora em us-east-1 e 0,021/USD em sa-east-1.  

Fazendo os cálculos com o valor de 0,01 USD x 24 horas x 30 dias o custo mensal fica em torno de 7.20 USD.

Como configurar e usar o Instance Connect Endpoint

Como pré-requisito é necessário ter uma VPC com subnet privada e uma instância “Linux” sem IP Público para garantir que seja possível para efetuar a conexão na nossa instancia via SSH.

Caso você queira fazer em Windows, basta trocar a porta do security group e efetuar a conexão via RDP.

1 – Crie um Securiy Group:

Vamos criar um novo SGs para o Endpoint e é ele que vai permitir a entrada de conexão SSH e vai ter a saída da conexão para o SGs da nossa instância.

Vá para o console da VPC, selecione “Security Groups” no painel de navegação e clique em Criar Security Group.

Coloque a regra de Entrada para a porta SSH “22” a partir do IP que você deseja utilizar para efetuar a conexão.

Para demo, vamos utilizar ipv4 0.0.0.0/0, mas poderíamos usar o ip da VPN e etc.

Na regra de saída, vamos apontar para o Security Group da instância.

2 – Crie um Endpoint na VPC:

Vá para o console da VPC, selecione “Endpoints” no painel de navegação e clique em “Create Endpoint”.

Na tela de criação do endpoint selecione “EC2 Instance Connect Endpoint” na lista de serviços e preencha os dados com a VPC e a subnet da instância como também o Security Group novo que criamos para o Endpoint e clique Create Endpoint.

Após criarmos o Endpoint leva alguns minutos para AWS provisionar e assim que finalizar já é possível se conectar a instância.

3 – Como se conectar na instancia via AWS CLI ou Console:

Console: Vá até a instância e clicar em Connect e selecionar o modo Instance Connect e selecionar a opção via EC2 Endpoint:

AWS CLI: Para conectar via AWS CLI é necessário ter a versão mais atualizada do Command Line Interface de AWS.

“Seguindo o guia da AWS você consegue atualizar ou instalar facilmente: https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html

Após isso, vamos conectar na AWS CLI com as credenciais (Access Key e Secret Key) e utilizar o comando abaixo para se conectar na instância a partir do nosso endpoint:

 

aws ec2-instance-connect ssh –instance-id “ID DA SUA INSTANCIA” –connection-type eice

É preciso usar a sinopse (–os-user “nome do usuário”) caso sua instancia seja um Ubuntu ou outro OS que tenha um usuário diferente de ec2-user para acesso ssh.

Exemplo abaixo:

aws ec2-instance-connect ssh –os-user root –instance-id “ID DA SUA INSTANCIA” –connection-type eice

Para ver todos as sinopses basta digitar “aws-ec2-instance-connect ssh help”.

Vale lembrar que é necessário ter um usuário com permissão de acesso a instância para se conectar tanto via Console como via CLI.

Em resumo, o Instance Connect Endpoint é uma ferramenta poderosa que permite conexões seguras e eficientes às instâncias privadas da AWS. Ele se alinha perfeitamente com os princípios do Well-Architected Framework da AWS, ajudando as organizações a operar de forma mais eficiente, segura e econômica.

 

 

foto-Eduardo Amaral Martins
Eduardo Amaral Martins Cloud Engineer
eduardo.martins@darede.com.br

Eduardo Amaral Martins possui uma vasta experiência em cloud e DevOps, tendo conhecimento em tecnologias como , OpenSource, Linux e na área de observabilidade. Eduardo possui diversas certificações como a AWS Solutions Architect – Associate.

OUTRAS PUBLICAÇÕES

Kubernetes

Entenda de forma técnica como expor serviços HTTP, TCP e UDP no Network Load Balancer e NGINX Ingress Controller no AWS EKS. – Artigo de Leandro Damascena

Nós usamos cookies para garantir e oferecer a melhor experiência de navegação em nosso site! Mais informações